0

Im having trouble with my Debian 11 install reverting back to 3.5mm analog audio output, though HDMI is plugged in and where I want the audio to come out of. Debian GUI has no stock way to disable a output device. Normally the setting in sound area sticks, but recently not always.

Its even tricky to do it with CLI via alsa or pulse tools, as we are not dealing with different audio cards, as most examples online deal with, but both HDMI output and Analog output are different devices of the one HDA Intel PCH device.

This is the results of aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC662 rev3 Analog [ALC662 rev3 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

1 Answer 1

1

My approach to solving this was to disable the module/drivers related to the ALC662 device, and luckly this worked while leaving the HDMI sound working still.

First I tried what you will find many examples of, which is adding "blacklist [module_name]" into a .conf file in /etc/modprobe.d/

I found this worked on some one level of the sound modules but not all. It worked on snd_hda_codec_realtek, but this was not enough, as then ALC662 reverted back to Generic, and putting blacklist snd_hda_codec_generic did not work.

The trick was to also block loading snd_hda_codec_generic with this line in the .conf as well.

blacklist snd_hda_codec_generic
install snd_hda_codec_generic /bin/false

alternatively just renaming /lib/modules/5.10.0-8-amd64/kernel/sound/pci/hda/snd-hda-codec-generic.ko (found by /usr/sbin/modinfo snd_hda_codec_generic) worked, but the above seemed a little less savage and easier to find in the future should someone wonder why analog sound isnt working if they need it.

1
  • 1
    This worked for me. I disabled snd_hda_intel (intel onboard audio), on my Debian Bookworm. I found this module listing it by lspci (or lspci -nnvk for more defails). After blacklisting as suggested, and rebooting OS, you can check that kernel does not load that module anymore with lsmod command.
    – sergius
    Commented Jun 12 at 12:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .