• [gentoo-user] Laptop internal speakers no longer working after rece

    From Michael@21:1/5 to All on Mon Aug 30 12:30:03 2021
    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


    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEXqhvaVh2ERicA8Ceseqq9sKVZxkFAmEswTwACgkQseqq9sKV ZxlSow/+PSEF7t+RUaCliA4uFzH4LKbNf4IiKSogC8pPs22sw3l2ZgjQjwq0XMSO opVUsuv2pPTd+sjFIq5hxnMGYN1sKL3SVdNJ1nK4m5uKn1+izUjayiAdYBS3hWau v2m0l1blx6bdgbhfa2zQHJlpTztmpoM8SA2+EVXxaibiHwdpkXKXw3esyS7G/Aah vP2bC0BQpjOPDGdAKM6vCD55y1tzdZuyuOv202k7q8XnPkwBP8SldadeLImlLN0B 9XcQOtYp8Kijexw46Kk7AGRhpYAq2l2inRsVOBD3pEug8OCX7ykOjgPxCxzWjw5Y JgNSH/UgoMZWwDqLY4HzyUpvYs2CKbbksi+Bo8wmwdeIBDgd4S2Sg7rkXwc2aSpE Su9g+6ZoOz3nPxb1UvZVsTehzB/qZDcBYIDYkDMWGRius1LHsMJN3o6sW+3zqb5r cCxHke/64NpaXbcnP3R6V9JqpPWGfDvTUTNMY8q0w8arqgnixTmjBzT23/N58+Ht HOhwyB28fT9Rzz24WjZUvA8+u5G7Xih+ItPFPmcIWkAFoaEKuhsh38wZi5WqAx1t QAtmF6U85HeoQ4kj0BJFpbIXtvb4SymXvXsAzSvv9M77QqzVih+o1wJv5cx+lK5i TU04FiSVM/PJb8Bz1T3Q60EdNd3pRv77ATNrTwm3MEC51GDBaN0=
    =WFRm
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexander Puchmayr@21:1/5 to All on Mon Aug 30 22:10:02 2021
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael@21:1/5 to All on Mon Aug 30 23:18:43 2021
    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. -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEXqhvaVh2ERicA8Ceseqq9sKVZxkFAmEtWUMACgkQseqq9sKV ZxmsBA//T+MMphm3UNRcix6ulAADF/suYpjp1TOSkkSDNyptCDtUfD5d7aForyTa vbmaJmDAk0VnfpaIwbZptyF+T+LPUNGIXRVH0TNB4IgC0/aE7uHsITfT9Mhepvdu qE/HFuTbMiBge8UAXM7LaDIR6jEHHAu9uV480kzwdW4QsFuh6HZN5Vy6emrVmz/3 dd6tVD6XdddDDfLYc0vC4wrdB6ii5n+AdWG9kwCZXgNK3Rjm2QWGksdwLLumC/Px SVrcUY0ExE5lTk9z4XRemrDNM1ig2sMTJtX/6G+Uzlf+WHLfF9rgD+o4iESO5o7k MQWVnusGD2GGQIXYNWGWHDu1papEhmU+nkYDf31N6VvmrLlUTM8wGZYx5maVlp7E Dc4TKmQyZZaZx5ed1e0g94Rv+mgwd7Y8M8gAv44qjsmwMoX5j3XECwc3Jf9Cpl/7 GSkRlt7jVnpyBPxkLj2bn8ueRok614tlDDLsm1+HcXnzr0d5cKEhKQrQm4ZABzGT bVwESqty+mBPlpkROtLdtDm8Wn3wofUW9zylfSakCleJghghdtgTC+DqQKhz5inJ 8B5T9FRxpS5pdhnPtqqm5Bi+w7lFvFFtiQG7zDW0SFhbuhLuKufUxcaPVwX27v15 Gc6R6vjU4pL4LvfDMzA9LFcQ9l3a1i7nHnIMpc8pMZgdLfgL2bU=
    =4svR
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexander Puchmayr@21:1/5 to All on Tue Aug 31 13:10:02 2021
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael@21:1/5 to All on Tue Aug 31 18:24:15 2021
    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. :-/
    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEXqhvaVh2ERicA8Ceseqq9sKVZxkFAmEuZb8ACgkQseqq9sKV ZxkMdw//YY6AlywiGtWTnX9g5+K+fXDUecEe/8Qra2AGQwGCPRTlQAfInMQVunNr Us4oHnBa00SUsW8s/RLVt5AzkKhdiEydI/ut76nNBCeLBYijLV8uDtTCxLCtAbQK 6QDnrc/Dd5QKTELK3GPc8Rvn5WlqBk591vbM3VcAY6K8h+BaPNBePeswgnfAOK33 zl+p0S41orKW8pikjnNpY3ikmTjk4RH56WKIcJrJg0WtFE/VV4XcFUfXruS2fi3B AEOza0eqA8Iu1WT56LN/Q8vcu4CKK8/LUniiT+8Z+UgTrnQNNlz7rNTC20/RCsaB zw640+7okLDGrL0JIBlUs+a+xB43hKRIcwQ7ESDveOCrv1+TJOduHD75eu7Pop3d ly+mf8eeMj6+pJVTt9Y7TZC1T7tZwz12wQ7TaeEAq1PPTzXXzmwUKXV5Xu1nmeQ1 3PIPDJZEyGouuD8rTi+SsUO7LUblL3vYWcW0dAWydyRdaGjnBnFWhFpOPdlY7RG2 FxtRf0yin6QbanCkbZHwlsLBGzK532FCwUXwQz5i2b+9VQw8qtdT4SNCQDpyIRWs MPW4eEWJ/sY/CRVI0/vej5FlF20E6anK+TqNYZOiO93wNjMXGH1GigYPoklcCbKy OS9qaXfFl6SuQXsKHFQiIteHcW/kFr9iJf+2UEpSowOTgB9LJl4=
    =qo+k
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alexander Puchmayr@21:1/5 to All on Wed Sep 1 09:40:02 2021
    Am Dienstag, 31. August 2021, 19:24:15 CEST schrieb Michael:
    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. :-/

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)