Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[gentoo-user] Laptop internal speakers no longer working after recent updates

355 views
Skip to first unread message

Alexander Puchmayr

unread,
Aug 30, 2021, 6:40:03 AM8/30/21
to
Hi there,

I have a weird problem on my Lenovo P14s laptop. Before I applied a world
upgrade (based on August 22 state portage), the internal speaker of the laptop
worked fine, but now its all silent, although all mixer levels are 100% and no
channel is muted.

Observed facts:
* Connecting a HDMI tv-set produces sound over the tv-set properly
* Booting Win10: Internal speakers working fine --> no hw issue
* Connecting headphone via audio jack under linux - no sound.
* Reverting to backup makes sound work again --> config/sw problem introduced
by update
* In plasma's system settings/audio tray, the Speaker output device is not
shown -- only 3xHDMI (The analog speaker seems to have gone)

The kernel is exactly the same as before the upgrade, didn't recompile it
(sys-kernel/gentoo-sources-5.12.0) --> no kernel issue

Relevant packet changes:
sys-kernel/linux-firmware-20210511 -> sys-kernel/linux-firmware-20210716
dev-python/pyalsa-1.1.6-r1 = dev-python/pyalsa-1.1.6-r1
Media-libs/alsa-lib-1.2.3.2-r1 -> media-libs/alsa-lib-1.2.4
Media-libs/alsa-topology-conf-1.2.3 -> media-libs/alsa-topology-conf-1.2.4
Media-libs/alsa-ucm-conf-1.2.3 -> media-libs/alsa-ucm-conf-1.2.4
Media-plugins/alsa-plugins-1.2.2 = media-plugins/alsa-plugins-1.2.2
Media-sound/alsa-tools-1.2.2-r1 = media-sound/alsa-tools-1.2.2-r1
Media-sound/alsa-utils-1.2.3 -> media-sound/alsa-utils-1.2.4
Media-libs/pulseaudio-qt-1.2 = media-libs/pulseaudio-qt-1.2
Media-plugins/gst-plugins-pulse-1.16.3 = media-plugins/gst-plugins-
pulse-1.16.3
Media-sound/pulseaudio-13.0-r1 = media-sound/pulseaudio-13.0-r1
Kde-plasma/plasma-meta-5.20.5 -> 5.21.5 (including all dependencies)


I tried downgrading linux-firmware to the old version from the backup -- did
not help.
I tried logging in from a completely fresh account to exclude any bad config in
the local home directory -> no success.

Any further ideas?

Thanks, Alex

PS: lspci shows
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Renoir IOMMU
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host
Bridge
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host
Bridge
00:02.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:02.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:02.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:02.6 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:02.7 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host
Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe
GPP Bridge to Bus
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev
51)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24:
Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24:
Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24:
Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24:
Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24:
Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24:
Function 5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24:
Function 6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24:
Function 7
01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD
Controller SM981/PM981/PM983
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411
PCI Express Gigabit Ethernet Controller (rev 0e)
02:00.1 Serial controller: Realtek Semiconductor Co., Ltd. Device 816a (rev
0e)
02:00.2 Serial controller: Realtek Semiconductor Co., Ltd. Device 816b (rev
0e)
02:00.3 IPMI Interface: Realtek Semiconductor Co., Ltd. Device 816c (rev 0e)
02:00.4 USB controller: Realtek Semiconductor Co., Ltd. Device 816d (rev 0e)
03:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI
Express Card Reader (rev 01)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411
PCI Express Gigabit Ethernet Controller (rev 15)
06:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host
Controller (rev 02)
07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI]
Renoir (rev d1)
07:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 1637
07:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h
(Models 10h-1fh) Platform Security Processor
07:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1
07:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1
07:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] Raven/
Raven2/FireFlight/Renoir Audio Processor (rev 01)
07:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models
10h-1fh) HD Audio Controller

Michael

unread,
Aug 30, 2021, 7:40:04 AM8/30/21
to
On Monday, 30 August 2021 11:30:38 BST Alexander Puchmayr wrote:
> Hi there,
>
> I have a weird problem on my Lenovo P14s laptop. Before I applied a world
> upgrade (based on August 22 state portage), the internal speaker of the
> laptop worked fine, but now its all silent, although all mixer levels are
> 100% and no channel is muted.

There was a recent move to pipewire which could have jumbled audio devices
around for you - but I am not familiar with how pipewire works, or why it
would have caused this problem.

https://wiki.gentoo.org/wiki/PipeWire

In my use case the capture device (on board mic) is now always enabled upon a
reboot and I have to manually disable it each time, because my selection is
not being stored.

NOTE: I don't use pulseaudio on this system, just alsa and now it is alsa plus
pipewire. I haven't yet looked how to configure it.

$ ps axf | grep pipe
19015 pts/5 S+ 0:00 \_ /bin/grep -E --colour=auto --color=auto
pipe
4334 ? Sl 0:05 /usr/bin/pipewire
4349 ? Sl 0:00 \_ /usr/bin/pipewire-media-session
4350 ? Sl 0:00 \_ /usr/bin/pipewire -c pipewire-pulse.conf


> Observed facts:
> * Connecting a HDMI tv-set produces sound over the tv-set properly
> * Booting Win10: Internal speakers working fine --> no hw issue
> * Connecting headphone via audio jack under linux - no sound.
> * Reverting to backup makes sound work again --> config/sw problem
> introduced by update
> * In plasma's system settings/audio tray, the Speaker output device is not
> shown -- only 3xHDMI (The analog speaker seems to have gone)
>
> The kernel is exactly the same as before the upgrade, didn't recompile it
> (sys-kernel/gentoo-sources-5.12.0) --> no kernel issue

From the above observations it seems your default audio card has been swapped
from analogue to HDMI. This seems to be the default for many laptops.

[snip...]

> Any further ideas?
>
> Thanks, Alex

You can try swapping them around by adding in /etc/asound.conf appropriate
entries; e.g. this is what I have in mine:

defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1

Where in my case card 1, device 0, is the analogue audio device "HDA-Intel -
HD-Audio Generic":

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: Generic Digital [Generic Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: CX20757 Analog [CX20757 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0


Alternatively, take a look at this method of controlling the order in which
audio modules are loaded:

https://wiki.gentoo.org/wiki/ALSA#Laptops_with_HDMI_audio_output

signature.asc

Alexander Puchmayr

unread,
Aug 30, 2021, 4:10:04 PM8/30/21
to
Am Montag, 30. August 2021, 13:30:03 CEST schrieb Michael:
> On Monday, 30 August 2021 11:30:38 BST Alexander Puchmayr wrote:
> > Hi there,
> >
> > I have a weird problem on my Lenovo P14s laptop. Before I applied a world
> > upgrade (based on August 22 state portage), the internal speaker of the
> > laptop worked fine, but now its all silent, although all mixer levels are
> > 100% and no channel is muted.
>
> There was a recent move to pipewire which could have jumbled audio devices
> around for you - but I am not familiar with how pipewire works, or why it
> would have caused this problem.
>
> https://wiki.gentoo.org/wiki/PipeWire
>

I did not install pipewire, so we can exclude this.

[snip...]

> $ aplay -l
> **** List of PLAYBACK Hardware Devices ****
> card 0: HDMI [HDA ATI HDMI], device 3: Generic Digital [Generic Digital]
> Subdevices: 1/1
> Subdevice #0: subdevice #0
> card 1: Generic [HD-Audio Generic], device 0: CX20757 Analog [CX20757
> Analog] Subdevices: 1/1
> Subdevice #0: subdevice #0
>

Here is output of aplay -l:
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC257 Analog [ALC257 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: Headset [Logitech USB Headset], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0

I added an old USB headset for testing, and *this* card (card 3) is shown in
pavcontrol and kde-plasma audio settings, along with the three sub-devices of
card 0; however, card 1 is not shown. In alsamixer and aplay I can see the
device as "Generic_1", and -- after finding out the pcm name of it via aplay -L
-- I could play some wav file with aplay on it:

aplay -D front:CARD=Generic_1,DEV=0 some_wav_file.wav

It seems to be a pulseaudio problem, which seems to arbitrarily ignoring
Generic_1 card.

> Alternatively, take a look at this method of controlling the order in which
> audio modules are loaded:
> https://wiki.gentoo.org/wiki/ALSA#Laptops_with_HDMI_audio_output

Thanks for the link, brought me to inspect /etc/modprobe.d/alsa.conf.
Corrected the number of sound cards there, but did not help :-(
I remember to have edited this file about 10 years ago, not sure if those
settings are still relevant.

Cheers, Alex

Michael

unread,
Aug 30, 2021, 6:20:03 PM8/30/21
to
On Monday, 30 August 2021 21:03:02 BST Alexander Puchmayr wrote:
> Am Montag, 30. August 2021, 13:30:03 CEST schrieb Michael:

> > There was a recent move to pipewire which could have jumbled audio devices
> > around for you - but I am not familiar with how pipewire works, or why it
> > would have caused this problem.
> >
> > https://wiki.gentoo.org/wiki/PipeWire
>
> I did not install pipewire, so we can exclude this.

Cool, this makes it simpler, at least for me. :-)


> Here is output of aplay -l:
> **** List of PLAYBACK Hardware Devices ****
> card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
> Subdevices: 0/1
> Subdevice #0: subdevice #0
> card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
> Subdevices: 0/1
> Subdevice #0: subdevice #0
> card 0: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
> Subdevices: 0/1
> Subdevice #0: subdevice #0
> card 1: Generic_1 [HD-Audio Generic], device 0: ALC257 Analog [ALC257
> Analog] Subdevices: 1/1
> Subdevice #0: subdevice #0
> card 3: Headset [Logitech USB Headset], device 0: USB Audio [USB Audio]
> Subdevices: 0/1
> Subdevice #0: subdevice #0

OK, you need to set card 1, device 0 as default.


> I added an old USB headset for testing, and *this* card (card 3) is shown in
> pavcontrol and kde-plasma audio settings, along with the three sub-devices
> of card 0; however, card 1 is not shown. In alsamixer and aplay I can see
> the device as "Generic_1", and -- after finding out the pcm name of it via
> aplay -L -- I could play some wav file with aplay on it:
>
> aplay -D front:CARD=Generic_1,DEV=0 some_wav_file.wav
>
> It seems to be a pulseaudio problem, which seems to arbitrarily ignoring
> Generic_1 card.

Hmm ... not on PC with pa at the moment to compare notes. The USB device will
be initialised by udev, but Generic_1 will require a different approach.

Have you looked under your kmix configuration, the "Volume Control" tab? If
it is listed in there, you may just need to tick it in order to enable it.
Also check under the configuration setting "Select Master Channel".


> > Alternatively, take a look at this method of controlling the order in
> > which
> > audio modules are loaded:
> > https://wiki.gentoo.org/wiki/ALSA#Laptops_with_HDMI_audio_output
>
> Thanks for the link, brought me to inspect /etc/modprobe.d/alsa.conf.
> Corrected the number of sound cards there, but did not help :-(
> I remember to have edited this file about 10 years ago, not sure if those
> settings are still relevant.
>
> Cheers, Alex

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.
signature.asc

Alexander Puchmayr

unread,
Aug 31, 2021, 7:10:03 AM8/31/21
to
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.

Then it finds HDMI1-3 for both cards.

*** card0 ***
[...]
D: [pulseaudio] module-udev-detect.c: /devices/
pci0000:00/0000:00:08.1/0000:07:00.1/sound/card0 is busy: no
D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments
'device_id="0" name="pci-0000_07_00.1" card_name="alsa_card.pci-0000_07_00.1"
namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no
deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-
udev-detect.discovered=1"'
D: [pulseaudio] reserve-wrap.c: Unable to contact D-Bus session bus:
org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon
without a $DISPLAY for X11
I: [pulseaudio] alsa-ucm.c: UCM available for card HD-Audio Generic
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
D: [pulseaudio] alsa-ucm.c: Got TQ for verb HiFi: HiFi
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device HDMI3: hw:Generic,8
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device HDMI3: 1300
D: [pulseaudio] alsa-ucm.c: Got JackControl for device HDMI3: HDMI/DP,pcm=8
Jack
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or
'CaptureChannels'for device HDMI3, assuming stereo duplex.
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device HDMI3
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HDMI3
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device HDMI2: hw:Generic,7
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device HDMI2: 1200
D: [pulseaudio] alsa-ucm.c: Got JackControl for device HDMI2: HDMI/DP,pcm=7
Jack
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or
'CaptureChannels'for device HDMI2, assuming stereo duplex.
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device HDMI2
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HDMI2
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device HDMI1: hw:Generic,3
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device HDMI1: 1100
D: [pulseaudio] alsa-ucm.c: Got JackControl for device HDMI1: HDMI/DP,pcm=3
Jack
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or
'CaptureChannels'for device HDMI1, assuming stereo duplex.
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device HDMI1
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HDMI1
[...]

*** card1 *** (the one that is ignored by pulseaudio)
[...]
D: [pulseaudio] module-udev-detect.c: /devices/
pci0000:00/0000:00:08.1/0000:07:00.6/sound/card1 is busy: no
D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments
'device_id="1" name="pci-0000_07_00.6" card_name="alsa_card.pci-0000_07_00.6"
namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no
deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-
udev-detect.discovered=1"'
D: [pulseaudio] reserve-wrap.c: Unable to contact D-Bus session bus:
org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon
without a $DISPLAY for X11
I: [pulseaudio] alsa-ucm.c: UCM available for card HD-Audio Generic
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
D: [pulseaudio] alsa-ucm.c: Got TQ for verb HiFi: HiFi
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device HDMI3: hw:Generic,8
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device HDMI3: 1300
D: [pulseaudio] alsa-ucm.c: Got JackControl for device HDMI3: HDMI/DP,pcm=8
Jack
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or
'CaptureChannels'for device HDMI3, assuming stereo duplex.
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device HDMI3
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HDMI3
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device HDMI2: hw:Generic,7
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device HDMI2: 1200
D: [pulseaudio] alsa-ucm.c: Got JackControl for device HDMI2: HDMI/DP,pcm=7
Jack
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or
'CaptureChannels'for device HDMI2, assuming stereo duplex.
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device HDMI2
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HDMI2
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device HDMI1: hw:Generic,3
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device HDMI1: 1100
D: [pulseaudio] alsa-ucm.c: Got JackControl for device HDMI1: HDMI/DP,pcm=3
Jack
W: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' or
'CaptureChannels'for device HDMI1, assuming stereo duplex.
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device HDMI1
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HDMI1
[...]

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

Michael

unread,
Aug 31, 2021, 1:30:04 PM8/31/21
to
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. :-/
signature.asc

Alexander Puchmayr

unread,
Sep 1, 2021, 3:40:04 AM9/1/21
to
I just downgraded to alsa-utils and alsa-tools 1.2.3, and the problem
disappeared. I will keep this combination for a while until the next update.

However, I'm not sure whether this is an alsa problem or a pulseaudio problem.

Thanks for your help
Alex
0 new messages