I tried hard to figure out what's going on with my alsamixer but it seems I'm missing something.

I'm using Debian Jessie with xfce, and my sound card has sundainly stoped working (playing). The sound card is detected, the matter is that I have several sound cards : a pci intel sound card (the right sound card) and a HDMI integrate sound card. My system has sudainly began detected the HDMI card as the default, because it is the first index. I tried several way to reset the default card (graphically, alsactl init, /etc/modeprob.d/sound file,...) but it still doe not work whether I connect as root or normal user. I read and follow alsa wiki, I don't understand why alsa can't detect and set the good sound card automatically in Debian. I never have this issue with Ubuntu.

My system parameter :

█▓▒░nixmind@mountain-view░▒▓██▓▒░ Sat Dec 12 08:21:37
/home/nixmind> sudo -s
[sudo] password for nixmind: 
mountain-view# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3263 Analog [ALC3263 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

My audio device is detected

mountain-view# lspci -v
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
    Subsystem: Dell Device 0665
    Flags: bus master, fast devsel, latency 0, IRQ 66
    Memory at f741c000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [50] Power Management version 2
    Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
    Kernel driver in use: snd_hda_intel

My audio cards drivers :

mountain-view# lsmod| grep snd
snd_hda_codec_hdmi     45118  1 
snd_hda_codec_realtek    67127  1 
snd_hda_codec_generic    63181  1 snd_hda_codec_realtek
snd_hda_intel          26327  4 
snd_hda_controller     26646  1 snd_hda_intel
snd_hda_codec         104463  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
snd_hwdep              13148  1 snd_hda_codec
snd_pcm                88662  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd_timer              26614  1 snd_pcm
snd_soc_sst_acpi       12559  0 
snd                    65244  16 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
soundcore              13026  2 snd,snd_hda_codec

The /etc/modprobe.d/sound.conf file I created :

options snd_hda_intel index=0
options snd_hda_codec_hdmi index=1

the aslsctl init command workw hardware sound cards in the right order :

mountain-view# alsactl init              
Found hardware: "HDA-Intel" "Intel Broadwell HDMI" "HDA:80862808,80860101,00100000" "0x1028" "0x0665"
Hardware is initialized using a generic method

But after a reboot I still have the same problem. Do someone has already had this kind of issue? What is the good solution? Should I install another sound card manage software?

  • It is possible that the on-board sound chip has broken; I've seen this happen. In the unhappiest version, it only breaks part of the way, so it is discoverable and yet doesn't work. About the best you can do in software is tell the kernel that the HDMI chip is in unaddressable memory with unreachable ports. If you are very lucky, you can find a physical jumper on the motherboard that disables the sound-chip. A more extreme way of saying the same thing is that your motherboard has partially failed and this can often lead to more severe failures. – msw Dec 13 '15 at 3:07
  • I don't agree with what you say here, I don't think there is a hardware matter. I'm sure if I reinstall my system it will work. I'm just looking for a way to set the right audio devices order to the kernel/alsa. – nixmind Dec 14 '15 at 13:38

Problem solved.

I installed the pavucontrol package from pulseaudio and use this configuration :

options snd_hda_intel index=0
options snd_hda_codec_hdmi index=1
options snd_hda_intel index=2
options snd_hda_codec_hdmi index=-2
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
alias sound-slot-0 snd-card-0

Now my sound cards are detected in the right order : mountain-view# cat /proc/asound/cards

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7418000 irq 64
 1 [Adapter        ]: USB-Audio - Dell 4-in-1 Adapter
                      DisplayLink Dell 4-in-1 Adapter at usb-0000:00:14.0-1.1, super speed
 2 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf741c000 irq 66

Then with the pavucontrol GUI I turned off the HDMI card which uses the display port of my PC.

| improve this answer | |
  • I don't think the snd_hda_codec_* modules have an index option, and it's actually the loading order of the modules + the order of the options snd_hda_intel index= lines that determines which adapter gets each of the specified index numbers. But since neither of these is hotpluggable, this works well enough. I've heard that udev rules could be used to firmly nail down the indexes of multiple HDA-compatible sound cards, but I haven't tested it. – telcoM Jan 19 '18 at 8:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.