1 |
On Tuesday, 31 August 2021 12:08:04 BST Alexander Puchmayr wrote: |
2 |
> Am Dienstag, 31. August 2021, 00:18:43 CEST schrieb Michael: |
3 |
> > If the alsa drivers are not compiled as modules, the above file would not |
4 |
> > have any effect. Anyway, let's try this in /etc/asound.conf: |
5 |
> > |
6 |
> > defaults.pcm.card 1 |
7 |
> > defaults.pcm.device 0 |
8 |
> > defaults.ctl.card 1 |
9 |
> > |
10 |
> > On a reboot your Generic_1 analogue card should be available and |
11 |
> > recognised |
12 |
> > as the default audio device. You may need to unmute it, via pactl or |
13 |
> > kmix. |
14 |
> |
15 |
> Sorry, didn't change anything. |
16 |
> |
17 |
> I doubt that the problem is wrong default settings of alsa. |
18 |
> |
19 |
> I run pulseaudio -vvv and the output was interesting: |
20 |
> |
21 |
> Pci0000:00/0000:00:08.1/0000:07:00.1/sound/card0 |
22 |
> and |
23 |
> pci0000:00/0000:00:08.1/0000:07:00.6/sound/card1 |
24 |
> |
25 |
> Where the latter one is the one that is not used by pulseaudio. |
26 |
> |
27 |
> Both report "UCM available for card HD-Audio Generic" |
28 |
> Note: the card name "HD-Audio Generic" is identical, and this is reported by |
29 |
> alsa-libs, as far as I could see from the code. |
30 |
|
31 |
Your *card* names according to your 'aplay -l' output are/were: |
32 |
|
33 |
card 0: Generic |
34 |
card 1: Generic_1 |
35 |
card 3: Headset |
36 |
|
37 |
You can re-check this with: |
38 |
|
39 |
aplay -l | awk -F \: '/,/{print $2}' | awk '{print $1}' | uniq |
40 |
|
41 |
|
42 |
Another way to discover all card name(s) including unused cards is by the |
43 |
output of: |
44 |
|
45 |
cat /sys/class/sound/card*/id |
46 |
|
47 |
The alsa-ucm function involves creating use case alsa mixer profiles, similar |
48 |
to pulseaudio profiles and will work even without pulseaudio running. If a |
49 |
UCM configuration file exists for a card, then pulseaudio will ignore built-in |
50 |
profiles and will generate a profile based on the UCM config file. |
51 |
|
52 |
Take a look at: |
53 |
|
54 |
/usr/share/alsa/ucm2/README.md |
55 |
|
56 |
and for various mixer profiles look under /usr/share/alsa/ucm2/ |
57 |
|
58 |
However, my usage of pulseaudio has been cursory and don't know much about |
59 |
its auto-configuration. In any case, I suspect the alsa-ucm output is only |
60 |
relevant in highlighting the common codec name, as you confirm below. |
61 |
|
62 |
|
63 |
> [...] |
64 |
> |
65 |
> Alsa-info.sh reveals further info: |
66 |
> !!Soundcards recognised by ALSA |
67 |
> !!----------------------------- |
68 |
> |
69 |
> 0 [Generic ]: HDA-Intel - HD-Audio Generic |
70 |
> HD-Audio Generic at 0xfd3c8000 irq 91 |
71 |
> 1 [Generic_1 ]: HDA-Intel - HD-Audio Generic |
72 |
> HD-Audio Generic at 0xfd3c0000 irq 92 |
73 |
> 2 [acp ]: acp - acp |
74 |
> acp |
75 |
> |
76 |
> To me it looks like as if pulseaudio is quering card0, getting the name "HD- |
77 |
> Audio Generic", finding the HDMI channels; then it tries to read card1, |
78 |
> gets also "HD-Audio Generic" as name and hence the same channels as for |
79 |
> card0. |
80 |
> |
81 |
> I have no idea how to fix this. |
82 |
> |
83 |
> Cheers |
84 |
> Alex |
85 |
|
86 |
As I understand it, "HD-Audio" is the kernel driver (CONFIG_SND_HDA=m) and |
87 |
"Generic" is the generic codec parser (CONFIG_SND_HDA_GENERIC=m) used by the |
88 |
snd-hda-intel module (CONFIG_SND_HDA_INTEL=m) - unless a specific model codec |
89 |
is (also) configured for a card, e.g. in my case I have |
90 |
CONFIG_SND_HDA_CODEC_CONEXANT=m |
91 |
|
92 |
If in your recent system update/upgrade you did not change your kernel, or the |
93 |
available options of any audio modules under /etc/modprobe.d/ then the drivers |
94 |
were always configured so and therefore the problem you experience now is |
95 |
unlikely to be caused by the generic codec parser. |
96 |
|
97 |
Someone more knowledgeable in pulseaudio should chime in, assuming this |
98 |
problem is being caused by pulseaudio. :-/ |