You are not logged in.

#1 2020-05-26 22:47:31

ectospasm
Member
Registered: 2015-08-28
Posts: 273

[SOLVED] No analog sound device after kernel upgrade

FINAL EDIT:  This was resolved by having the main board replaced under warranty, which included the PCI sound card (I suppose it's built-in).  Since getting the laptop back and loading Arch onto it, the sound card has been functioning properly. 

ORIGINAL POST:  Here is my onboard sound card, in my Lenovo ThinkPad 25th Anniversary Edition (20K7):

$ lspci -Dknn | grep -A2 Audio
0000:00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
	Subsystem: Lenovo Sunrise Point-LP HD Audio [17aa:2245]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel, snd_soc_skl

I don't use sound on this laptop very often, so I didn't notice this problem right away.  I updated to kernel 5.6.14 over the long holiday weekend:

$ uname -a
Linux ferrum 5.6.14-arch1-1 #1 SMP PREEMPT Wed, 20 May 2020 20:43:19 +0000 x86_64 GNU/Linux

I know this was working in earlier versions of 5.6, and 5.5, but I don't remember which specific patch release worked (I wasn't paying attention before today).

I use pavucontrol to manage PulseAudio, and it only has the Dummy devices (for both Input and Output).  Checking ALSA, and I see I only have HDMI devices (no analog):

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

$aplay -L
surround21
    2.1 Surround output to Front and Subwoofer speakers
surround40
    4.0 Surround output to Front and Rear speakers
surround41
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50
    5.0 Surround output to Front, Center and Rear speakers
surround51
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
null
    Discard all samples (playback) or generate zero samples (capture)
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PulseAudio Sound Server)
hdmi:CARD=PCH,DEV=0
    HDA Intel PCH, HDMI 0
    HDMI Audio Output
hdmi:CARD=PCH,DEV=1
    HDA Intel PCH, HDMI 1
    HDMI Audio Output
hdmi:CARD=PCH,DEV=2
    HDA Intel PCH, HDMI 2
    HDMI Audio Output
hdmi:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 3
    HDMI Audio Output
hdmi:CARD=PCH,DEV=4
    HDA Intel PCH, HDMI 4
    HDMI Audio Output
usbstream:CARD=PCH
    HDA Intel PCH
    USB Stream Output

I typically only use the built-in analog stereo speakers with this laptop.  I've tried plugging in analog external speakers, with no change in behavior.  I've also removed the PCI device, and re-scanned PCI devices to no avail:

# echo 1 > /sys/bus/pci/devices/0000:00:1f.3/remove
# echo 1 > /sys/bus/pci/rescan

I've checked the UEFI/BIOS, to ensure the sound card is properly exposed to the OS.  There are no sound card-specific settings I could find in the UEFI menu, other than the microphone is enabled as an I/O device.  I've searched a bit, on the Arch wiki and through the Arch BBS, but I haven't found anything that describes this exact problem.

Is there a configuration parameter I can pass (either modprobe.conf, sound.conf, etc.) that can enforce that an analog device is present?  What am I missing here?  Is there a bug in snd_hda_intel for my particular Audio device?

Last edited by ectospasm (2020-11-23 02:41:51)

Offline

#2 2020-05-27 05:26:39

seth
Member
Registered: 2012-09-03
Posts: 51,299

Re: [SOLVED] No analog sound device after kernel upgrade

Did you check dmesg/the system journal for errors?

Offline

#3 2020-05-28 02:00:36

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED] No analog sound device after kernel upgrade

seth wrote:

Did you check dmesg/the system journal for errors?

Yesterday when I reported this, I ran `dmesg | grep snd` and I just saw the module loading.  When I ran it today, I got no output from grep (meaning the kernel messages had already rolled off).  I didn't check the journal yesterday (I don't know what service to check for).  I ran the PCI remove/rescan commands again, and now `aplay -l` shows the analog device.

I rebooted, and now the analog device is still present.  I don't believe I've resolved the problem, because a remove/rescan is what brought it back.  I will need to reproduce the problem before I can determine if dmesg or the journal contain any errors related to this.  I intend to run `journalctl -xeb 0 | grep -i audio` should the problem come back.

I'm going to try a full power cycle, and see if I can reproduce the problem.

Offline

#4 2020-05-28 02:12:02

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED] No analog sound device after kernel upgrade

Now I can't reproduce the problem.  The analog sub-device is showing up, and I have no idea why it wasn't appearing before.

Now that I know how to remove/rescan the PCI device, I at least have a workaround.  The most I did was the remove/rescan, so I don't consider this resolved.  I had a similar issue a few kernel versions ago, but that was with pulseaudio.  Maybe it was the same issue, I didn't have time back then to do a deep dive into it.

Now it's working, so there's nothing more to do.  I'll set the topic to 'Workaround found', I never saw any errors or anything to change to get this working.

Offline

#5 2020-06-01 21:01:28

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED] No analog sound device after kernel upgrade

This problem keeps coming back for me.  When this problem exhibits itself, I see the following in `dmesg -T`:

[Mon Jun  1 16:21:39 2020] snd_hda_codec_hdmi hdaudioC0D2: Unable to sync register 0x2f0d00. -5
[Mon Jun  1 16:21:49 2020] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[Mon Jun  1 16:21:50 2020] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x000f0000
[Mon Jun  1 16:21:51 2020] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x000f0000
[Mon Jun  1 16:21:52 2020] snd_hda_intel 0000:00:1f.3: Codec #0 probe error; disabling it...

And I see the following in `journalctl -xeb 0 | grep -i audio`:

Jun 01 16:21:43 ferrum kernel: snd_hda_codec_hdmi hdaudioC0D2: Unable to sync register 0x2f0d00. -5

I think I'm having either an intermittent hardware failure, or I'm running into a bug in snd_hda_intel or snd_hda_codec_realtek.  I need to upgrade the kernel, but I'm performing an extended operation with my cloud backup service (SpiderOak), and I don't want to interrupt it just yet.  I've found that simply removing the PCI device from /sys/bus/pci/devices is not enough.  I have to unload and reload the affected kernel modules.  I've created a script for this purpose:

#!/usr/bin/bash

[[ $EUID -ne 0 ]] && sudo $0

echo "Removing sound card from PCI bus..."
echo 1 > /sys/bus/pci/devices/0000:00:1f.3/remove 
echo "Removing kernel modules..."
/usr/bin/modprobe -r snd_hda_intel snd_hda_codec_realtek
echo "Sleeping for 10 seconds..."
/usr/bin/sleep 10 
echo "Loading kernel modules..."
/usr/bin/modprobe snd_hda_intel snd_hda_codec_realtek
echo "Re-scanning PCI bus..."
echo 1 > /sys/bus/pci/rescan

Sometimes I have to execute this script multiple times before the analog device is recognized.  When it works, I see the following output in `dmesg -T`:

[Mon Jun  1 16:22:50 2020] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[Mon Jun  1 16:22:50 2020] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC298: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[Mon Jun  1 16:22:50 2020] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[Mon Jun  1 16:22:50 2020] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=2 (0x17/0x21/0x0/0x0/0x0)
[Mon Jun  1 16:22:50 2020] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[Mon Jun  1 16:22:50 2020] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[Mon Jun  1 16:22:50 2020] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
[Mon Jun  1 16:22:50 2020] snd_hda_codec_realtek hdaudioC0D0:      Dock Mic=0x19
[Mon Jun  1 16:22:50 2020] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12

My internal speakers will work with `paplay` once I see that in dmesg (and the analog device shows in `aplay -l`).

I will do a full system upgrade as soon as I can, but it may be several days before my extended backup operation completes (I'm removing historical versions from 10T worth of files backed up in the cloud, so it will take a while).

Last edited by ectospasm (2020-06-01 21:22:55)

Offline

#6 2020-06-09 02:00:05

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED] No analog sound device after kernel upgrade

Here's my latest attempt at fix_snd.sh:

#!/usr/bin/bash

timeout=${1}
[[ $EUID -ne 0 ]] && sudo $0 ${@} && exit 0

echo "Stopping sound.target..." 2>&1
systemctl stop sound.target
echo "Removing sound card from PCI bus..." 2>&1
echo 1 > /sys/bus/pci/devices/0000:00:1f.3/remove 
echo "Removing kernel modules..." 2>&1
/usr/bin/modprobe -r snd_hda_intel \
    snd_hda_codec_realtek \
    snd_hda_codec_generic \
    snd_hda_codec_hdmi \
    snd_hda_codec \
    snd_soc_skl \
    snd_soc_core \
    snd_hda_ext_core \
    snd_hda_core \
    snd_pcm_dmaengine \
    snd_pcm \
    snd_timer \
    snd_compress \
    thinkpad_acpi \
    snd
if [[ -z ${timeout} ]]; then
    timeout=10
fi
echo "Sleeping for ${timeout} seconds..." 2>&1
/usr/bin/sleep ${timeout} 
echo "Loading kernel modules..." 2>&1
/usr/bin/modprobe snd
/usr/bin/modprobe thinkpad_acpi
/usr/bin/modprobe snd_compress
/usr/bin/modprobe snd_pcm_dmaengine
/usr/bin/modprobe snd_timer
/usr/bin/modprobe snd_pcm
/usr/bin/modprobe snd_soc_core
/usr/bin/modprobe snd_hda_core
/usr/bin/modprobe snd_hda_ext_core
/usr/bin/modprobe snd_soc_skl
/usr/bin/modprobe snd_hda_codec
/usr/bin/modprobe snd_hda_codec_generic
/usr/bin/modprobe snd_hda_codec_hdmi
/usr/bin/modprobe snd_hda_codec_realtek
/usr/bin/modprobe snd_hda_intel
echo "Rescanning PCI bus..." 2>&1
echo 1 > /sys/bus/pci/rescan

Right now, none of this is working.  I've even tried adding intel_iommu=off to my kernel cmdline, and that hasn't helped.  I'm grasping at straws, my analog device just isn't being detected.

Offline

#7 2020-06-09 23:19:43

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED] No analog sound device after kernel upgrade

I think my sound card is failing.  I've run my fix_snd.sh script several times.  Tonight, the last time worked.  But I had run it several times before without success.  Whenever it works, I get the following output in aplay -l:

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC298 Analog [ALC298 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I also see the following in dmesg -T | grep snd:

[Tue Jun  9 19:10:46 2020] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC298: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[Tue Jun  9 19:10:46 2020] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[Tue Jun  9 19:10:46 2020] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x17/0x0/0x0/0x0/0x0)
[Tue Jun  9 19:10:46 2020] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[Tue Jun  9 19:10:46 2020] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[Tue Jun  9 19:10:46 2020] snd_hda_codec_realtek hdaudioC0D0:      Dock Mic=0x19
[Tue Jun  9 19:10:46 2020] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
[Tue Jun  9 19:10:46 2020] snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a

After that, my speakers play my test sound.  If I don't see either the aplay or dmesg output, it means the analog component of my sound card isn't detected, so my built-in speakers don't work.  I've tried rebooting, doing a full power off and power on after a few minutes, and that didn't work.  I'm currently trying to completely drain the batteries on this laptop, to see if that will help.

I saw somewhere trying to enforce the analog component with modprobe options, but then aplay doesn't show any sound cards at all.

Offline

#8 2020-06-17 00:01:20

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED] No analog sound device after kernel upgrade

I finally performed a full power cycle of my laptop (systemctl poweroff).  Right as it powered down, the speakers emitted a series of tones I didn't recognize.  For whatever reason I couldn't power the laptop back on until I disconnected power for a few moments and plugged it back in.  Ever since, sound has been working.  I've even seen some of the dmesg output messages which have been indicating failure, and the sound kept working.  Even so, after a few hours of being idle the sound will stop working.  I'll see messages such as this in dmesg:

[Tue Jun 16 19:01:38 2020] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0x935078

Last night, running my fix_snd.sh worked as expected, running it once got sound working.  Tonight, it was even easier, I just had to run pulseaudio --kill, and then after a short pause, paplay would play my test sound.

I will keep an eye on things.  If the card doesn't fail again before the next kernel upgrade, or continues to work after the next one, I'll mark this thread as solved.

Last edited by ectospasm (2020-06-17 00:01:56)

Offline

#9 2020-06-17 02:13:14

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED] No analog sound device after kernel upgrade

It seems sound dies every couple of hours.  Here's the latest dmesg output:

[Tue Jun 16 19:43:20 2020] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x003a0000
[Tue Jun 16 19:43:21 2020] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x003a0000
[Tue Jun 16 19:43:22 2020] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x003a0000
[Tue Jun 16 19:43:22 2020] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x2, last cmd=0x201f0500
[Tue Jun 16 19:43:23 2020] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x01470c00
[Tue Jun 16 20:37:19 2020] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[Tue Jun 16 20:37:19 2020] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC298: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[Tue Jun 16 20:37:19 2020] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[Tue Jun 16 20:37:19 2020] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=2 (0x17/0x21/0x0/0x0/0x0)
[Tue Jun 16 20:37:19 2020] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[Tue Jun 16 20:37:19 2020] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[Tue Jun 16 20:37:19 2020] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
[Tue Jun 16 20:37:19 2020] snd_hda_codec_realtek hdaudioC0D0:      Dock Mic=0x19
[Tue Jun 16 20:37:19 2020] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
[Tue Jun 16 22:03:00 2020] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x003a0000
[Tue Jun 16 22:03:01 2020] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x003a0000
[Tue Jun 16 22:03:02 2020] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x003a0000
[Tue Jun 16 22:03:03 2020] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to single_cmd mode: last cmd=0x0173b080
[Tue Jun 16 22:03:04 2020] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[Tue Jun 16 22:03:04 2020] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[Tue Jun 16 22:03:04 2020] snd_hda_codec_hdmi hdaudioC0D2: Unable to sync register 0x2f0d00. -5
[Tue Jun 16 22:03:41 2020] snd_hda_codec_hdmi hdaudioC0D2: Unable to sync register 0x2f0d00. -5
[Tue Jun 16 22:04:02 2020] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[Tue Jun 16 22:04:02 2020] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC298: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[Tue Jun 16 22:04:02 2020] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[Tue Jun 16 22:04:02 2020] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=2 (0x17/0x21/0x0/0x0/0x0)
[Tue Jun 16 22:04:02 2020] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[Tue Jun 16 22:04:02 2020] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[Tue Jun 16 22:04:02 2020] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
[Tue Jun 16 22:04:02 2020] snd_hda_codec_realtek hdaudioC0D0:      Dock Mic=0x19
[Tue Jun 16 22:04:02 2020] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
[Tue Jun 16 22:07:36 2020] snd_hda_intel 0000:00:1f.3: spurious response 0x0:0x0, last cmd=0x935078

Killing pulseaudio doesn't seem to help (it only worked once today).  However, for some reason on this boot my fix_snd.sh has been reliable, it fixes sound every time I've run it today, and I have only had to run it once to make sound work again (however temporarily).  Then again, I haven't seen the analog device missing in aplay -l, so that probably has something to do with it.  Presently I'm current on the kernel (5.7.2-arch1), we'll see if this situation holds through the next boot.

Here's my current fix_snd.sh script, it takes an optional argument (number of seconds to wait before reloading modules and rescanning the PCI bus):

#!/usr/bin/bash

timeout=${1}
[[ $EUID -ne 0 ]] && sudo $0 ${@} && exit 0

echo "Stopping sound.target..." 2>&1
systemctl stop sound.target
echo "Removing sound card from PCI bus..." 2>&1
echo 1 > /sys/devices/pci0000:00/0000:00:1f.3/remove 
echo "Removing kernel modules..." 2>&1
/usr/bin/modprobe -r \
    snd_hda_codec_hdmi \
    snd_hda_codec_realtek \
    snd_hda_codec_generic \
    snd_soc_skl \
    snd_hda_intel \
    snd_intel_dspcfg \
    snd_hda_codec \
    snd_soc_sst_ipc \
    snd_soc_sst_dsp \
    snd_soc_acpi_intel_match \
    snd_soc_acpi \
    snd_soc_core \
    snd_hda_ext_core \
    snd_hda_core \
    snd_pcm_dmaengine \
    snd_pcm \
    thinkpad_acpi \
    snd
if [[ -z ${timeout} ]]; then
    timeout=10
fi
echo "Sleeping for ${timeout} seconds..." 2>&1
/usr/bin/sleep ${timeout} 
echo "Loading kernel modules..." 2>&1
#/usr/bin/modprobe snd_hda_codec_realtek
#/usr/bin/modprobe snd_hda_intel
/usr/bin/modprobe snd
/usr/bin/modprobe thinkpad_acpi 
/usr/bin/modprobe snd_pcm 
/usr/bin/modprobe snd_pcm_dmaengine 
/usr/bin/modprobe snd_hda_core 
/usr/bin/modprobe snd_hda_codec 
#/usr/bin/modprobe snd_hda_codec_generic 
/usr/bin/modprobe snd_hda_codec_hdmi 
/usr/bin/modprobe snd_hda_codec_realtek 
/usr/bin/sleep ${timeout}
/usr/bin/modprobe snd_soc_acpi_intel_match 
/usr/bin/modprobe snd_intel_dspcfg 
/usr/bin/modprobe snd_soc_sst_ipc 
/usr/bin/modprobe snd_soc_sst_dsp 
/usr/bin/modprobe snd_soc_acpi 
/usr/bin/modprobe snd_soc_core 
/usr/bin/modprobe snd_hda_ext_core 
/usr/bin/modprobe snd_soc_skl 
/usr/bin/modprobe snd_hda_intel 
echo "Rescanning PCI bus..." 2>&1
echo 1 > /sys/bus/pci/rescan

As you can see, I also pause after the audio codec modules load, just in case there's a race condition. Before I powered off yesterday, only the Generic Audio (snd_hda_codec_generic) would show in aplay -l, instead of the ALC298 Analog (snd_hda_codec_realtek).  In that situation I couldn't get sound working, no matter how many times I ran my fix script, or how much time I provided on the command line (the longest I'd put is 300 seconds [five minutes]).  The longer timeouts don't seem to help.  Today I've been running with the default timeout of ten seconds, and it has been reliable.

Last edited by ectospasm (2020-06-17 02:21:49)

Offline

#10 2020-11-03 02:47:17

ectospasm
Member
Registered: 2015-08-28
Posts: 273

Re: [SOLVED] No analog sound device after kernel upgrade

I never could figure out what this problem was.  I had a keyboard failure (Enter and right Shift key died), so I replaced the keyboard under warranty.  When I sent it in, I also mentioned the sound card problem.  They replaced my keyboard and the main board of this laptop, and now sound just works.  BONUS:  I guess they didn't have any more of these ThinkPad 25 motherboards in stock, so they replaced it with a T470 motherboard.  This one has two SODIMM slots, and due to a RAM snafu they sent me two 16G SODIMMS to replace the 4G one they left in it when they replaced the main board.  So, not only did they fix my sound card, but I also got an extra 16G stick of RAM to go with it.  YMMV, but I'm really happy about this now!

Offline

Board footer

Powered by FluxBB