On Tuesday, 31 August 2021 12:08:04 BST Alexander Puchmayr wrote:
> Am Dienstag, 31. August 2021, 00:18:43 CEST schrieb Michael:
> > If the alsa drivers are not compiled as modules, the above file would not
> > have any effect.  Anyway, let's try this in /etc/asound.conf:
> > 
> > defaults.pcm.card 1
> > defaults.pcm.device 0
> > defaults.ctl.card 1
> > 
> > On a reboot your Generic_1 analogue card should be available and
> > recognised
> > as the default audio device.  You may need to unmute it, via pactl or
> > kmix.
> 
> Sorry, didn't change anything.
> 
> I doubt that the problem is wrong default settings of alsa.
> 
> I run pulseaudio -vvv and the output was interesting:
> 
> Pci0000:00/0000:00:08.1/0000:07:00.1/sound/card0
> and
> pci0000:00/0000:00:08.1/0000:07:00.6/sound/card1
> 
> Where the latter one is the one that is not used by pulseaudio.
> 
> Both report  "UCM available for card HD-Audio Generic"
> Note: the card name "HD-Audio Generic" is identical, and this is reported by
> alsa-libs, as far as I could see from the code.

Your *card* names according to your 'aplay -l' output are/were:

card 0: Generic
card 1: Generic_1
card 3: Headset

You can re-check this with:

aplay -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq


Another way to discover all card name(s) including unused cards is by the 
output of:

cat /sys/class/sound/card*/id

The alsa-ucm function involves creating use case alsa mixer profiles, similar 
to pulseaudio profiles and will work even without pulseaudio running.   If a 
UCM configuration file exists for a card, then pulseaudio will ignore built-in 
profiles and will generate a profile based on the UCM config file.

Take a look at:

/usr/share/alsa/ucm2/README.md

and for various mixer profiles look under /usr/share/alsa/ucm2/

However, my usage of pulseaudio  has been cursory and don't know much about 
its auto-configuration.  In any case, I suspect the alsa-ucm output is only 
relevant in highlighting the common codec name, as you confirm below.


> [...]
> 
> Alsa-info.sh reveals further info:
> !!Soundcards recognised by ALSA
> !!-----------------------------
> 
>  0 [Generic        ]: HDA-Intel - HD-Audio Generic
>                       HD-Audio Generic at 0xfd3c8000 irq 91
>  1 [Generic_1      ]: HDA-Intel - HD-Audio Generic
>                       HD-Audio Generic at 0xfd3c0000 irq 92
>  2 [acp            ]: acp - acp
>                       acp
> 
> To me it looks like as if pulseaudio is quering card0, getting the name "HD-
> Audio Generic", finding the HDMI channels; then it tries to read card1,
> gets also "HD-Audio Generic" as name and hence the same channels as for
> card0.
> 
> I have no idea how to fix this.
> 
> Cheers
>       Alex

As I understand it, "HD-Audio" is the kernel driver (CONFIG_SND_HDA=m) and 
"Generic" is the generic codec parser (CONFIG_SND_HDA_GENERIC=m) used by the 
snd-hda-intel module (CONFIG_SND_HDA_INTEL=m) - unless a specific model codec 
is (also) configured for a card, e.g. in my case I have  
CONFIG_SND_HDA_CODEC_CONEXANT=m

If in your recent system update/upgrade you did not change your kernel, or the 
available options of any audio modules under /etc/modprobe.d/ then the drivers 
were always configured so and therefore the problem you experience now is 
unlikely to be caused by the generic codec parser.

Someone more knowledgeable in pulseaudio should chime in, assuming this 
problem is being caused by pulseaudio.  :-/

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to