Audio just stopped working on Thinkpad X1 6th gen

Hey I have been using EOS for some time now in which I have learned many interesting and useful things about UNIX system and solving problems. Although, there have been many bumps on the round this one I cannot overcome myself, thus I am asking for help.

Problem

Quite randomly audio just stopped working. It happened yesterday, I had a call via Caprine (facebook messanger) and audio would not work. I tried to switch output device but then all of them just disappeared (mic remained alright). They were replaced only by dummy output. It looks like it stopped seeing the sound card (Intel

Logs

I have followed this guide for getting sound logs.

$ systemctl --user status pulseaudio.socket
● pulseaudio.socket - Sound System
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.socket; enabled; vendor preset: enabl>
     Active: active (running) since Thu 2021-12-09 09:08:21 EET; 12min ago
   Triggers: ● pulseaudio.service
     Listen: /run/user/1000/pulse/native (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pulseaudio.socket

Dec 09 09:08:21 systemd[1107]: Listening on Sound System.
$ aplay -lL
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)
front:CARD=PCH
    Front output / input
surround21:CARD=PCH
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
usbstream:CARD=PCH
    HDA Intel PCH
    USB Stream Output
**** List of PLAYBACK Hardware Devices ****
$ pacmd list-cards
0 card(s) available.
sudo dmesg | grep snd_hda_intel
[    0.000000] Command line: BOOT_IMAGE=/@/boot/vmlinuz-linux root=UUID=ddc1fff3-9e76-4598-b0a0-e21ea02c75df rw rootflags=subvol=@ quiet cryptdevice=UUID=4acb851b-b7a7-496a-bda5-98dc1af76009:luks-4acb851b-b7a7-496a-bda5-98dc1af76009 root=/dev/mapper/luks-4acb851b-b7a7-496a-bda5-98dc1af76009 loglevel=3 nowatchdog resume_offset=1970192 resume=/dev/mapper/luks-4acb851b-b7a7-496a-bda5-98dc1af76009 snd_hda_intel.dmic_detect=0
[    0.053841] Kernel command line: BOOT_IMAGE=/@/boot/vmlinuz-linux root=UUID=ddc1fff3-9e76-4598-b0a0-e21ea02c75df rw rootflags=subvol=@ quiet cryptdevice=UUID=4acb851b-b7a7-496a-bda5-98dc1af76009:luks-4acb851b-b7a7-496a-bda5-98dc1af76009 root=/dev/mapper/luks-4acb851b-b7a7-496a-bda5-98dc1af76009 loglevel=3 nowatchdog resume_offset=1970192 resume=/dev/mapper/luks-4acb851b-b7a7-496a-bda5-98dc1af76009 snd_hda_intel.dmic_detect=0
[    5.655689] snd_hda_intel 0000:00:1f.3: dmic_detect option is deprecated, pass snd-intel-dspcfg.dsp_driver=1 option instead
[    5.658298] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    5.766702] snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0
[    5.768997] snd_hda_intel 0000:00:1f.3: no codecs found!

What I did to solve problem?

I already had installed sof-firmware which was the main solution I found on the internet. This was the last time I had problems with sound. Further, I tried to follow advice found on EOS forums to add snd_hda_intel.dmic_detect=0 to grub config - which did not work either. Also, I tried the usual pulseaudio -k many times. Deleted and rebuilt ~/.config/pulse directory few times.

Note that even plugged in headphones do not work…

Any ideas?

Have you tried testing on the LTS kernel? Just in case it’s a driver update issue.

No, how can I do it? I haven’t experimented with switching kernels at all.

eOS includes an app called “akm”. Just run that, download another kernel (like LTS for example), and then the next time you reboot you can switch from the menu there.

Thanks for suggestion, I have just tried it and unfortunately problem persists :confused:

Edit: I don’t know how useful this is but if I connect to wireless headphones sound is working.

When you connect headphones sound is working on the laptop. What about the headphones?

To clarify, when I connect my wireless headphones the sound is working on the headphones. On the laptop (internal sound) is still not detected as well as microphone. Also, if I connect wired headphones they do not work.

Also tried running pulseaudio -v here are the results maybe it’s something related with the error there:

I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
I: [pulseaudio] core-util.c: Successfully gained nice level -11.
I: [pulseaudio] main.c: This is PulseAudio 15.0
I: [pulseaudio] main.c: Page size is 4096 bytes
I: [pulseaudio] main.c: Machine ID is ....__id_here_____.
I: [pulseaudio] main.c: Session ID is 2.
I: [pulseaudio] main.c: Using runtime directory /run/user/1000/pulse.
I: [pulseaudio] main.c: Using state directory /home/__user_here__/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-15.0/modules.
I: [pulseaudio] main.c: Running in system mode: no
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.

Do you have “pulseaudio” and “pipewire” packages installed at the same time? Because they should be mutually exclusive.

Have you tried as a kernel parameter?

options snd-intel-dspcfg dsp_driver=1

Edit: This could also be tried instead in

etc/modprobe.d/alsa.conf

Yes I believe I do have both of them, not sure why pipewire is here.

$ pacman -Q pipewire pulseaudio
pipewire 1:0.3.40-1
pulseaudio 15.0-1

Trying to remove pipewire results in dependency error:

$ sudo pacman -R pipewire
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing pipewire breaks dependency 'libpipewire-0.3.so=0-64' required by gst-plugin-pipewire
:: removing pipewire breaks dependency 'pipewire' required by libtg_owt
:: removing pipewire breaks dependency 'pipewire>=0.3.39' required by pipewire-media-session
:: removing pipewire breaks dependency 'libpipewire-0.3.so=0-64' required by pipewire-media-session
:: removing pipewire breaks dependency 'pipewire' required by telegram-desktop

Most of these I do not care about as they seem as part of pipewire lib. I do care about telegram as I do use it extensively. Is there anything I can do about it?

Also, now trying to run pulseaudio causes the following error:

pulseaudio
E: [pulseaudio] module.c: Failed to load module "module-alsa-source" (argument: "device=hw:0,0"): initialization failed.
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3" card_name="alsa_card.pci-0000_00_1f.3" 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""): initialization failed.
sudo pacman -S pipewire pipewire-pulse --needed
$ sudo pacman -S pipewire pipewire-pulse --needed
warning: pipewire-1:0.3.40-1 is up to date -- skipping
resolving dependencies...
looking for conflicting packages...
:: pipewire-pulse and pulseaudio are in conflict. Remove pulseaudio? [y/N] y
:: pipewire-pulse and pulseaudio-bluetooth are in conflict. Remove pulseaudio-bluetooth? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing pulseaudio breaks dependency 'pulseaudio=15.0-1' required by pulseaudio-jack

I had this issue before and i removed pulse audio somehow and reinstalled it all.

Edit: I have pipewire-pulse

[ricklinux@eos-kde ~]$ sudo pacman -S pipewire pipewire-pulse --needed
[sudo] password for ricklinux: 
warning: pipewire-1:0.3.40-1 is up to date -- skipping
warning: pipewire-pulse-1:0.3.40-1 is up to date -- skipping
 there is nothing to do
[ricklinux@eos-kde ~]$ 

Edit:

[ricklinux@eos-kde ~]$ inxi -Aa
Audio:     Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] vendor: Gigabyte driver: snd_hda_intel
           v: kernel bus-ID: 2d:00.1 chip-ID: 1002:aaf0 class-ID: 0403
           Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio vendor: Micro-Star MSI driver: snd_hda_intel
           v: kernel bus-ID: 2f:00.4 chip-ID: 1022:1487 class-ID: 0403
           Sound Server-1: ALSA v: k5.15.7-arch1-1 running: yes
           Sound Server-2: JACK v: 1.9.19 running: no
           Sound Server-3: PulseAudio v: 15.0 running: no
           Sound Server-4: PipeWire v: 0.3.40 running: yes
[ricklinux@eos-kde ~]$ 

Edit: I also have pipewire-jack installed.

Include pipewire-jack in your installation.

2 Likes

I have installed pipewire-jack but still unable to launch or remove either pulseaudio or pipewire deamons.

$ anxi -Aa
Audio:     Device-1: Intel Sunrise Point-LP HD Audio vendor: Lenovo
           driver: snd_hda_intel v: kernel alternate: snd_soc_skl bus-ID: 00:1f.3
           chip-ID: 8086:9d71 class-ID: 0403
           Sound Server-1: ALSA v: k5.15.6-arch2-1 running: yes
           Sound Server-2: JACK v: 1.9.19 running: no
           Sound Server-3: PulseAudio v: 15.0 running: no
           Sound Server-4: PipeWire v: 0.3.40 running: no

You have run this command?

sudo pacman -S pipewire pipewire-pulse pipewire-jack --needed

Yea I managed to remove pulseaudio by first removing pulseaudio-jack and then ran the command:

$ sudo pacman -S pipewire pipewire-pulse pipewire-jack --needed
warning: pipewire-1:0.3.40-1 is up to date -- skipping
warning: pipewire-pulse-1:0.3.40-1 is up to date -- skipping
warning: pipewire-jack-1:0.3.40-1 is up to date -- skipping
 there is nothing to do

What should I do now? Just running pipewire does not produce any output and freezes the terminal.

Is audio working? Can you play something and hear output?

I will be away from my computer for about an hour, but you should be all set.

No, unfortunately clicking on audio taskbar thingy still show “No audio input or output devices found”.

1 Like