3

I have Ubuntu 24.04.1 LTS on a Dell XPS 9320 (not dual-boot). Since I upgraded from 22.04 last month, my internal speakers have not worked. In Settings, Sound Output lists "No Output Devices". I do get sound via USB devices (speakers or earbuds). I've tried many suggestions from many related questions (see below), but none have worked. Now I'm reaching out for help (please and thank you). From my reading of the related questions, here's relevant information for my case.

Based on remarks of V1del, a forum moderator at archlinux. I tried the following 4 commands to diagnose:

$ sudo fuser -v /dev/snd/*
             USER        PID ACCESS COMMAND

/dev/snd/controlC0: jim 2555 F.... wireplumber /dev/snd/seq: jim 2549 F.... pipewire

$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: sofsoundwire [sof-soundwire], device 2: Speaker () [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofsoundwire [sof-soundwire], device 5: HDMI 1 () [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofsoundwire [sof-soundwire], device 6: HDMI 2 () [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofsoundwire [sof-soundwire], device 7: HDMI 3 () [] Subdevices: 1/1 Subdevice #0: subdevice #0

$ pactl list cards Connection failure: Connection refused pa_context_connect() failed: Connection refused

$ sudo pactl list sinks Connection failure: Connection refused pa_context_connect() failed: Connection refused

I guess the two "Connection failure" are a problem, but I don't know what they mean.

Based on my research the past few weeks, the following also seem relevant to diagnosing my problem.

$ lspci | grep -i audio
00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)

and

$ inxi -A
Audio:
  Device-1: Intel Alder Lake Imaging Signal Processor driver: N/A
  Device-2: Intel Alder Lake PCH-P High Definition Audio
    driver: sof-audio-pci-intel-tgl
  API: ALSA v: k6.8.0-48-generic status: kernel-api
  Server-1: PipeWire v: 1.0.5 status: active

I don't see a sound problem in that output (the Device-1 line makes sense, as my camera doesn't work (Cheese, Skype); but that is not my focus here). I do see a problem from the next command I tried

$ sudo dmesg | grep -i snd

[ 4.672746] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100 [ 4.672907] snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver [ 6.313507] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100 [ 6.313627] snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver [ 7.384054] SDW0-Capture: ASoC: error at snd_soc_link_prepare on SDW0-Capture: -61 [ 7.393206] SDW0-Capture: ASoC: error at snd_soc_link_prepare on SDW0-Capture: -61 … repeated 20+ times [ 77.199398] SDW0-Capture: ASoC: error at snd_soc_link_prepare on SDW0-Capture: -61 [ 77.207304] SDW0-Capture: ASoC: error at snd_soc_link_prepare on SDW0-Capture: -61

When I google "SDW0-Capture: ASoC: error at snd_soc_link_prepare on SDW0-Capture: -61" I see many posts (often Archlinux) that talk about downgrading the kernel. I don't know what that is, and it sounds bad (like a duct-tape fix, a patch not a fix). But maybe useful to note my kernel:

$ uname -r
6.8.0-48-generic

Please note that pipewire seems fine:

$ systemctl --user status pipewire
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-11-10 08:43:39 EST; 2h 36min ago
TriggeredBy: ● pipewire.socket
   Main PID: 2549 (pipewire)
      Tasks: 3 (limit: 18626)
     Memory: 3.4M (peak: 3.8M)
        CPU: 77ms
     CGroup: /user.slice/user-1001.slice/user@1001.service/session.slice/pipewire.service
             └─2549 /usr/bin/pipewire

Nov 10 08:43:39 xps-13plus-xps-9320 systemd[2530]: Started pipewire.service - PipeWire Multimedia Service.

I think wireplumber's only problem is with the camera:

$ systemctl --user status wireplumber
● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-11-10 08:43:39 EST; 2h 37min ago
   Main PID: 2555 (wireplumber)
      Tasks: 6 (limit: 18626)
     Memory: 4.3M (peak: 5.5M)
        CPU: 348ms
     CGroup: /user.slice/user-1001.slice/user@1001.service/session.slice/wireplumber.service
             └─2555 /usr/bin/wireplumber

Nov 10 08:43:39 xps-13plus-xps-9320 systemd[2530]: Started wireplumber.service - Multimedia Service Session Manager. Nov 10 08:43:40 xps-13plus-xps-9320 wireplumber[2555]: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed? Nov 10 08:43:40 xps-13plus-xps-9320 wireplumber[2555]: PipeWire's libcamera SPA missing or broken. libcamera not supported.

Maybe this info about pipewire-pulse is relevant?

$ systemctl --user status pipewire-pulse
○ pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; disabled; preset: enabled)
     Active: inactive (dead)
TriggeredBy: ○ pipewire-pulse.socket 

I got changes, but no fix, with the following:

$ systemctl --user restart wireplumber pipewire-pulse pipewire

In Settings (Sound Output), this turned "No Output Devices" to "Dummy Output" in the Output of Sound. It also changed the cards and sinks listings, as follows:

$ pactl list cards
Card #46
    Name: alsa_card.pci-0000_00_1f.3-platform-sof_sdw
    Driver: alsa
    Owner Module: n/a
    Properties:
        api.acp.auto-port = "false"
        api.acp.auto-profile = "false"
        api.alsa.card = "0"
        api.alsa.card.longname = "Intel Soundwire SOF"
        api.alsa.card.name = "sof-soundwire"
        api.alsa.path = "hw:0"
        api.alsa.use-acp = "true"
        api.dbus.ReserveDevice1 = "Audio0"
        device.api = "alsa"
        device.bus = "pci"
        device.bus_path = "pci-0000:00:1f.3-platform-sof_sdw"
        device.description = "Alder Lake PCH-P High Definition Audio Controller"
        device.enum.api = "udev"
        device.icon_name = "audio-card-analog-pci"
        device.name = "alsa_card.pci-0000_00_1f.3-platform-sof_sdw"
        device.nick = "sof-soundwire"
        device.plugged.usec = "5766876"
        device.product.id = "0x51c8"
        device.product.name = "Alder Lake PCH-P High Definition Audio Controller"
        device.subsystem = "sound"
        sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0"
        device.vendor.id = "0x8086"
        device.vendor.name = "Intel Corporation"
        media.class = "Audio/Device"
        factory.id = "14"
        client.id = "34"
        object.id = "46"
        object.serial = "46"
        object.path = "alsa:pcm:0"
        alsa.card = "0"
        alsa.card_name = "sof-soundwire"
        alsa.long_card_name = "Intel Soundwire SOF"
        alsa.driver_name = "snd_soc_sof_sdw"
        alsa.mixer_name = "Intel Alderlake-P HDMI"
        alsa.components = "HDA:8086281c,80860101,00100000 cfg-spk:4 cfg-amp:2 spk:rt1316 mic:rt715-sdca"
        alsa.id = "sofsoundwire"
        device.string = "0"
    Profiles:
        off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        pro-audio: Pro Audio (sinks: 4, sources: 1, priority: 1, available: yes)
    Active Profile: off

and

$ pactl list sinks
Sink #39
    State: SUSPENDED
    Name: auto_null
    Description: Dummy Output
    Driver: PipeWire
    Sample Specification: float32le 2ch 48000Hz
    Channel Map: front-left,front-right
    Owner Module: 4294967295
    Mute: no
    Volume: front-left: 49808 /  76% / -7.15 dB,   front-right: 49808 /  76% / -7.15 dB
            balance 0.00
    Base Volume: 65536 / 100% / 0.00 dB
    Monitor Source: auto_null.monitor
    Latency: 0 usec, configured 0 usec
    Flags: DECIBEL_VOLUME LATENCY 
    Properties:
        node.name = "auto_null"
        device.description = "Dummy Output"
        audio.rate = "48000"
        audio.channels = "2"
        audio.position = "FL,FR"
        media.class = "Audio/Sink"
        factory.name = "support.null-audio-sink"
        node.virtual = "true"
        monitor.channel-volumes = "true"
        factory.id = "18"
        clock.quantum-limit = "8192"
        client.id = "36"
        node.driver = "true"
        factory.mode = "merge"
        audio.adapt.follower = ""
        library.name = "audioconvert/libspa-audioconvert"
        object.id = "39"
        object.serial = "39"
    Formats:
        pcm

Thank you in advance to any kind soul who can help me restore my speaker sound. And I'd be happy to share more info if it would help ...

PS If it helps, here is a sampling I other questions I've looked at for help:

Fixing No Sound (Dummy Output) Issue in Ubuntu 24.04 From the top answer there, I used sudo gedit to create /etc/modprobe.d/audiofix.conf and put in the lines

options snd-hda-intel dmic_detect=0
options snd-hda-intel model=laptop-amic enable=yes

After rebooting, no change.

No sound output devices listed after upgrade from 21.10 to 22.04 looks relevant, but it is about pulseaudio and 24.04 uses pipewire.

Fixing No Sound (Dummy Output) Issue in Ubuntu 24.04 suggests to downgrade the kernel, but that sounds bad to me. And my sound problem is "No Output Devices", not "Dummy Output"

I see several unanswered questions that may be about the same as mine, with no speaker-sound in 24.04; e.g. lenovo M90a, Ubuntu 24.04, missing sound on speakers, earphones ok

In my case aplay lists a sound card, so my problem differs from many other dealing with no sound in 24.04, such as No sound after upgrade from Ubuntu 22.04 to Ubuntu 24.04.

No sound in internal Speakers in Ubuntu 24.04 sounded promising, but the fix there was to disable fast-boot in Windows (I don't have Windows).

=== Here's more info,

 tail "/etc/modprobe.d/alsa-base.conf"
    options snd-usb-usx2y index=-2
    # Ubuntu #62691, enable MPU for snd-cmipci
    options snd-cmipci mpu_port=0x330 fm_port=0x388
    # Keep snd-pcsp from being loaded as first soundcard
    options snd-pcsp index=-2
    # Keep snd-usb-audio from beeing loaded as first soundcard
    options snd-usb-audio index=-2
    # options snd-hda-intel model=auto -- tried & failed for audio 
     fix 27Oct2024
    # blacklist snd_soc_avs
    options snd-hda-intel model=dell-headset-multi

As suggested by heynnema, here are two more pieces of info

    $ uname -r

6.8.0-48-generic

and

$ ls -al /boot
total 188920
drwxr-xr-x  4 root root     4096 Nov  1 07:53 .
drwxr-xr-x 24 root root     4096 Oct 27 09:24 ..
-rw-r--r--  1 root root   287493 Sep 27 13:21 config-6.8.0-47-generic
-rw-r--r--  1 root root   287459 Sep 27 08:22 config-6.8.0-48-generic
drwx------  4 root root     4096 Dec 31  1969 efi
drwxr-xr-x  5 root root     4096 Nov  1 07:53 grub
lrwxrwxrwx  1 root root       27 Nov  1 07:52 initrd.img -> initrd.img-6.8.0-48-generic
-rw-r--r--  1 root root 72110854 Oct 27 09:24 initrd.img-6.8.0-47-generic
-rw-r--r--  1 root root 72097106 Nov  1 07:52 initrd.img-6.8.0-48-generic
lrwxrwxrwx  1 root root       27 Nov  1 07:52 initrd.img.old -> initrd.img-6.8.0-47-generic
-rw-r--r--  1 root root   142796 Apr  8  2024 memtest86+ia32.bin
-rw-r--r--  1 root root   143872 Apr  8  2024 memtest86+ia32.efi
-rw-r--r--  1 root root   147744 Apr  8  2024 memtest86+x64.bin
-rw-r--r--  1 root root   148992 Apr  8  2024 memtest86+x64.efi
-rw-------  1 root root  9061992 Sep 27 13:21 System.map-6.8.0-47-generic
-rw-------  1 root root  9063891 Sep 27 08:22 System.map-6.8.0-48-generic
lrwxrwxrwx  1 root root       24 Nov  1 07:52 vmlinuz -> vmlinuz-6.8.0-48-generic
-rw-------  1 root root 14956936 Sep 27 14:47 vmlinuz-6.8.0-47-generic
-rw-------  1 root root 14952840 Sep 27 08:26 vmlinuz-6.8.0-48-generic
lrwxrwxrwx  1 root root       24 Nov  1 07:52 vmlinuz.old -> vmlinuz-6.8.0-47-generic

I updated my bios to the most recent (from 2.10 to 2.16.1) but that seems not to have affected anything.

video card seems to be Intel

$  lspci | grep VGA.
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] (rev 0c)

As suggested by @hynnema, I used Mainline to change kernels to 6.5.11 and added "options snd-hda-intel model=dell-headset-multi" to alsabase.conf and rebooted (kernel 6.5.11) but still No Output Devices in Sound Settings. But now pipewire has a problem:

pipewire.service - PipeWire Multimedia Service

     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-11-21 16:12:25 EST; 9min ago
TriggeredBy: ● pipewire.socket
   Main PID: 2932 (pipewire)
      Tasks: 3 (limit: 18609)
     Memory: 3.4M (peak: 3.8M)
        CPU: 88ms
     CGroup: /user.slice/user-1001.slice/user@1001.service/session.slice/pipewire.service
             └─2932 /usr/bin/pipewire

Nov 21 16:12:25 xps-13plus-xps-9320 systemd[2911]: Started pipewire.service - PipeWire Multimedia Service. Nov 21 16:12:25 xps-13plus-xps-9320 pipewire[2932]: mod.jackdbus-detect: Failed to receive jackdbus reply: org.freedesktop.DBus.Error.ServiceUnknown: The receive jackdbus reply: org.freedesktop.DBus.Error.ServiceUnknown: The name org.jackaudio.service was not provided by any .service files

I plan use Dell's system restore, but first I need to back up my data and my legacy software programs.

2 Answers2

1

On September 2024 I have to change model to dell-headset-multi on my Dell Precision. So open conf:

sudo nano /etc/modprobe.d/alsa-base.conf

Find line starting with

options snd-hda-intel model

Change it to

options snd-hda-intel model=dell-headset-multi

I have following "extra" lines there too

options snd-hda-intel dmic_detect=0
options snd-intel-dspcfg dsp_driver=1

Edit blacklist:

sudo nano /etc/modprobe.d/blacklist.conf

And add just this line:

blacklist snd_soc_avs

Get rid of old stuff:

sudo apt purge *pulseaudio*
sudo apt purge pipewire-media-session

Re-install new one:

sudo apt-get install --reinstall alsa-base pipewire pipewire-audio-client-libraries wireplumber

Reboot

Check everything is running (green):

systemctl --user status pipewire
systemctl --user status wireplumber
systemctl --user status pipewire-pulse

no need to edit grub, no need to switch to nvidia proprietary drivers (HDMI Audio, nouveau works fine)

lojza
  • 111
0

I have been sharing the pain for a couple of months, almost gave up until I found this thread:

No audio after suspend/resume

gksudo xed /etc/modprobe.d/alsa-base.conf

In my case;

sudo nano /etc/modprobe.d/alsa-base.conf

Add this new line to the bottom of the file;

options snd-hda-intel probe_mask=0x01

Save the file then reboot.

100% works for me. I am not overly experienced and perhaps some of the experts may see a problem but I am happy to have all my sound issues resolved.

mpboden
  • 3,046
and
  • 1