No Audio Device Detected (Dell XPS 9320)

didnt you already tried the 5.18?

I didn’t. I had thought since we went over Ubuntu 22.04 using a 5.15.x kernel and audio working that it should be able to work in the Manjaro 5.15.x kernel.
I will try the 5.18 now.

So sound does work on 5.18.

Interesting this command is exactly the same:

dmesg | grep -i audio
[    0.134932] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    5.023418] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100
[    5.023437] sof-audio-pci-intel-tgl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[    5.023473] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[    5.023628] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    5.989356] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    6.002789] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[    6.075357] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[    6.077901] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    6.077903] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:19:1
[    6.077905] sof-audio-pci-intel-tgl 0000:00:1f.3: warn: FW ABI is more recent than kernel
[    6.077908] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[    6.193858] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    6.193862] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:19:1
[    6.193865] sof-audio-pci-intel-tgl 0000:00:1f.3: warn: FW ABI is more recent than kernel
[    9.245127] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:19:1
[    9.245131] sof-audio-pci-intel-tgl 0000:00:1f.3: warn: topology ABI is more recent than kernel

and the other commands we ran all have the same output:

[ ~]> lsmod | grep sof-audio-pci-intel-tgl
[ ~]> cat /proc/modules | grep sof-audio-pci-intel-tgl
[ ~]> inxi -Aa
Audio:
  Device-1: Intel vendor: Dell driver: N/A bus-ID: 00:05.0 chip-ID: 8086:465d
    class-ID: 0480
  Device-2: Intel Alder Lake PCH-P High Definition Audio vendor: Dell
    driver: sof-audio-pci-intel-tgl alternate: snd_hda_intel,snd_sof_pci_intel_tgl
    bus-ID: 00:1f.3 chip-ID: 8086:51c8 class-ID: 0401
  Sound Server-1: ALSA v: k5.18.14-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.21 running: no
  Sound Server-3: PulseAudio v: 16.1 running: yes
  Sound Server-4: PipeWire v: 0.3.56 running: yes

I guess dmesg seems a little better?

journalctl -b0 -p4 --no-pager | egrep "(sound|audio)"
Aug 04 11:59:59 x13blkr kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: warn: FW ABI is more recent than kernel
Aug 04 11:59:59 x13blkr kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: warn: FW ABI is more recent than kernel
Aug 04 12:00:01 x13blkr kernel: soundwire sdw:2:025d:1316:01: Probe not complete, timed out
Aug 04 12:00:01 x13blkr kernel: soundwire sdw:2:025d:1316:01: Update Slave status failed:-110
Aug 04 12:00:01 x13blkr kernel: soundwire sdw:0:025d:0714:01: Probe not complete, timed out
Aug 04 12:00:01 x13blkr kernel: soundwire sdw:0:025d:0714:01: Update Slave status failed:-110
Aug 04 12:00:01 x13blkr kernel: soundwire sdw:1:025d:1316:01: Probe not complete, timed out
Aug 04 12:00:01 x13blkr kernel: soundwire sdw:1:025d:1316:01: Update Slave status failed:-110
Aug 04 12:00:02 x13blkr kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: warn: topology ABI is more recent than kernel
Aug 04 12:00:02 x13blkr kernel: soundwire sdw-master-0: clock stop prep/de-prep failed slave:15
Aug 04 12:00:02 x13blkr kernel: soundwire_intel soundwire_intel.link.0: prepare clock stop failed -110
Aug 04 12:00:02 x13blkr kernel: soundwire_intel soundwire_intel.link.0: cannot enable clock stop on suspend
Aug 04 12:00:03 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:03 x13blkr kernel: soundwire sdw-master-0: trf on Slave 1 failed:-5 write addr a000 count 0
Aug 04 12:00:03 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:04 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:04 x13blkr kernel: soundwire sdw-master-0: trf on Slave 1 failed:-5 write addr a000 count 0
Aug 04 12:00:04 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:05 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:05 x13blkr kernel: soundwire sdw-master-0: trf on Slave 1 failed:-5 write addr 8109 count 0
Aug 04 12:00:05 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:06 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:06 x13blkr kernel: soundwire sdw-master-0: trf on Slave 1 failed:-5 write addr 810a count 0
Aug 04 12:00:06 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:17 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:17 x13blkr kernel: soundwire sdw-master-0: trf on Slave 1 failed:-5 write addr 8109 count 0
Aug 04 12:00:17 x13blkr pulseaudio[950]: Failed to get the verb HiFi
Aug 04 12:00:17 x13blkr pulseaudio[950]: No UCM verb is valid for hw:0
Aug 04 12:00:17 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:17 x13blkr pulseaudio[950]: Failed to find a working profile.
Aug 04 12:00:17 x13blkr pulseaudio[950]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-sof_sdw" card_name="alsa_card.pci-0000_00_1f.3-platform-sof_sdw" 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.
Aug 04 12:00:17 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "auto_null.monitor"
Aug 04 12:00:18 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:18 x13blkr kernel: soundwire sdw-master-0: trf on Slave 1 failed:-5 write addr 810a count 0
Aug 04 12:00:18 x13blkr kernel: soundwire_intel soundwire_intel.link.0: SCP Msg trf timed out
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "auto_null"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "auto_null.monitor"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "auto_null"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "auto_null.monitor"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_2__sink"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "alsa_input.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_4__source"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_2__sink"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "alsa_input.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_4__source"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_2__sink"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "alsa_input.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_4__source"
Aug 04 12:00:18 x13blkr plasmashell[884]: org.kde.plasma.pulseaudio: No object for name "alsa_input.pci-0000_00_1f.3-platform-sof_sdw.HiFi__hw_sofsoundwire_4__source"

Thank you for the help. I will do a fresh install of KDE Manjaro with kernel 5.18. I’ll edit the first post with the solution being 5.18.

interesting
exactly the same messages … except now the proper sof-audio-pci-intel-tgl driver is loaded…
and also in those logs there are som pulseaudio issues, so removing pulse and replace it with pipewire …

Yes it’s odd that is showed previously the driver was selected, but wasn’t loaded. It still shows the ABI firmware and kernel mismatch, but sound works at least now.

I will do the fresh install and get pipewire installed. I’ll report back here once that is all done.

Data from alsa-info.sh is showing a modprobe option snd_intel_dspcfg: dsp_driver=1 to force use of legacy driver snd_hda_intel instead of Sound Open Firmware drivers

I suggest you remove that from wherever it was added to system. Usually in either a *.conf file in folder /etc/modprobe.d/; Or a GRUB boot option in /etc/default/grub

ALSA data is showing audio playback devices detected; but 12 HDMI outputs! Some of these are probably mis-detected analog outputs and inputs

I found a hardware scan for a system running Kali 2022.2 with kernel 5.18.0-kali2-amd64
Dell XPS 9320 | linux-hardware.org

Data shows Analog and HDMI playback devices HW probe of Dell XPS 9320 #f04b491e6d: aplay
and capture device for microphones HW probe of Dell XPS 9320 #f04b491e6d: arecord
using sof-soundwire driver

Removing the modprobe option to allow use of Sound Open Firmware driver may be enough to get analog devices detected in aplay -l

If analog devices using sof-soundwire are not detected, I suggest you install kernel v5.18 using either Manjaro Settings Manager > Kernel GUI, or this command:

sudo mhwd-kernel -i linux518

PipeWire FAQ has confirmed PulseAudio and PipeWire are conflicted recently:

running pulseaudio together with a PipeWire setup configured for audio is not supported (and will fail as both servers fight for devices).

Installing manjaro-pulse will not resolve this conflict because core package pipewire is a required dependency for KDE and Gnome and cannot be removed
Xfce and other DEs that do not have PipeWire dependencies can remove pipewire
(unless Telegram or OBS are installed)

If pipewire cannot be removed the server can be stopped and disabled

systemctl --user disable --now pipewire.socket pipewire.service
1 Like

Hello, I have the same laptop model and also have the same issue with the audio. And I couldn’t not make it work anyhow. I am running the 5.19 kernel otherwise screen flickering happened, so that’s my only option kernel-wise. I’ve tried everything above and nothing worked so far.

$ inxi -Aa
Audio:
  Device-1: Intel vendor: Dell driver: N/A bus-ID: 0000:00:05.0
    chip-ID: 8086:465d class-ID: 0480
  Device-2: Intel Alder Lake PCH-P High Definition Audio vendor: Dell
    driver: sof-audio-pci-intel-tgl
    alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 0000:00:1f.3
    chip-ID: 8086:51c8 class-ID: 0401
  Sound Server-1: ALSA v: k5.19.0-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.21 running: no
  Sound Server-3: PulseAudio v: 16.1 running: yes
  Sound Server-4: PipeWire v: 0.3.56 running: no

Also tried with the soundwire-dkms-gitbut looks like it is for older kernels and I couldn’t manage to compile it. Right now it loads, the sof-audio-pci-intel-tgl driver but a lot of systemd-udevd processes are running and also messages like sof_sdw sof_sdw: snd_soc_register_card failed -517 appear many times on the dmesg output. When I stop the udevd daemon, there remains a single process which is trying to access the following files:

# ls -l /proc/419/fd
total 0
lr-x------ 1 root root 64 ago  5 22:08 0 -> /dev/null
lrwx------ 1 root root 64 ago  5 22:08 1 -> 'socket:[27250]'
lrwx------ 1 root root 64 ago  5 22:08 10 -> 'anon_inode:[signalfd]'
lrwx------ 1 root root 64 ago  5 22:08 11 -> 'anon_inode:[timerfd]'
lr-x------ 1 root root 64 ago  5 22:08 12 -> /usr/lib/udev/hwdb.bin
lr-x------ 1 root root 64 ago  5 22:08 13 -> /usr/lib/modules/5.19.0-1-MANJARO/kernel/drivers/base/regmap/regmap-sdw-mbq.ko.xz
lrwx------ 1 root root 64 ago  5 22:08 14 -> 'anon_inode:[timerfd]'
lr-x------ 1 root root 64 ago  5 22:08 15 -> /usr/lib/modules/5.19.0-1-MANJARO/kernel/sound/soc/codecs/snd-soc-rt715-sdca.ko.xz
lrwx------ 1 root root 64 ago  5 22:08 16 -> 'socket:[18673]'
lrwx------ 1 root root 64 ago  5 22:08 2 -> 'socket:[27250]'
lrwx------ 1 root root 64 ago  5 22:08 3 -> 'anon_inode:[eventpoll]'
lrwx------ 1 root root 64 ago  5 22:08 4 -> 'anon_inode:[signalfd]'
lrwx------ 1 root root 64 ago  5 22:08 5 -> 'socket:[18628]'
lr-x------ 1 root root 64 ago  5 22:05 6 -> /usr/lib/modules/5.19.0-1-MANJARO/kernel/drivers/base/regmap/regmap-sdw.ko.xz
lrwx------ 1 root root 64 ago  5 22:08 7 -> 'socket:[18633]'
lr-x------ 1 root root 64 ago  5 22:08 8 -> anon_inode:inotify
lrwx------ 1 root root 64 ago  5 22:08 9 -> 'anon_inode:[eventpoll]'

I run out of ideas so far… :cry:

What I Have Identified

I cannot say with 100% certainty, but the following things all seem to be red herrings that do not actually affect the sound in my Dell XPS 9320 (13"):

  • Pulse Audio and Pipe Wire sound servers running at the same time
  • Posts on the snd_hda_intel driver working over the sof-audio-pci-intel-tgl driver
  • A custom options parameter in /etc/modprobe.d/some_name.conf like:
    options driver_of_choice index=1,0
    

After a lot of fresh installs, jumping between kernel 5.15 and 5.18, modprobing, and systemctl service restarting I can reliably get the sound to work and survive reboots as long as I don’t switch between kernels.

Janky and Not Exactly Understood Solution

I figured it was likely some driver/mod issue so I got a list of “sof” modules:

lsmod | grep sof | awk '{ print $1 }'

in 5.15 and 5.18 and diffed them, which resulted in 3:

snd_sof_probes
snd_sof_utils
snd_compress

I had found out - when I was more wildly troubleshooting stuff - that in the 5.18 kernel after boot up, if I modprobed all the “sof” modules:

lsmod | grep sof | awk '{ print $1 }' | xargs -I {} modprobe {}

and then did a service restart of pulseaudio:

systemctl --user status pulseaudio.service pulseaudio.socket

I would detect the sound device and get audio

However that hammer approach sucked so I narrowed it down to those 3 different modules, modprobed them one at a time, restarting pulseaudio each time and it was the module: snd_compress that worked. The error that the pulseaudio service puts out when booting from 5.15 to 5.18 is:

Aug 09 22:32:17 xpsblkr systemd[848]: Starting Sound Service...
Aug 09 22:32:18 xpsblkr pulseaudio[1516]: Failed to get the verb HiFi
Aug 09 22:32:18 xpsblkr pulseaudio[1516]: No UCM verb is valid for hw:0
Aug 09 22:32:18 xpsblkr pulseaudio[1516]: Failed to find a working profile.
Aug 09 22:32:18 xpsblkr pulseaudio[1516]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-sof_sdw" card_name="alsa_card.pci-0000_00_1f.3->
Aug 09 22:32:18 xpsblkr systemd[848]: Started Sound Service.
Aug 09 22:32:18 xpsblkr pulseaudio[1516]: Could not find org.bluez.BatteryProviderManager1.RegisterBatteryProvider(), is bluetoothd started with experimental features ena
bled (-E flag)?

and the logs for the pulseaudio service after modprobing snd_compress and restarting are:

Aug 09 22:36:54 xpsblkr systemd[848]: Starting Sound Service...
Aug 09 22:36:54 xpsblkr systemd[848]: Started Sound Service.
Aug 09 22:36:54 xpsblkr pulseaudio[1778]: Could not find org.bluez.BatteryProviderManager1.RegisterBatteryProvider(), is bluetoothd started with experimental features enabled (-E flag)?

@daper you may want to try my method and see if this fixes your sound. I’d suggest undoing any weird or specific customizations you have done, get everything as close back to stock Manjaro as possible, and then mod probe snd_compress and restart the pulseaudio service.

I will try on linux519 as well. If someone can give me an idea of how to potentially add the snd_compress module to 5.15 I can see if it’s possible to get audio working in that kernel version too.

Manjaro with 5.19 seems to work as expected:

@nikgnomic I’d be happy to troubleshoot, get more information/logs in specific kernels, load modules, and better understand what is precisely wrong with the Dell XPS and sound servers.

I can get the sound to work reliably now by a specific process, but I don’t understand the exact “why” that process works.

In theory, I should be able to run either manjaro-pipewire or manjaro-pulseaudio as the sound server. As it is, I left all default packages installed from a fresh install from the current Manjaro kde distro.

The modprobe index= option is just to change device order in ALSA. It would better to use the newer slots= method to re-order ALSA devices. But for this situation it is a red herring with a very old “use before” date

Messages for kernel v5.15 show that there is no Use Case Manager configuration for the audio codec

pulseaudio[1516]: Failed to get the verb HiFi
pulseaudio[1516]: No UCM verb is valid for hw:0
pulseaudio[1516]: Failed to find a working profile

But kernel v5.18 has the HiFi profile /usr/share/alsa/ucm2/sof-soundwire/HiFi.conf

I checked soundwire-dkms mentioned before and it is 2 years out of date and appears to be for kernel v5.7
The soundwire drivers appear to have been incorporated in kernel headers
Installing linux518-headers and linux519-headers might provide working drivers

The closest match to snd_compress that I could find in kernel documentation is compress_driver.h
that does not appear to be related to device drivers


PulseAudio and PipeWire sound servers running at the same time is a different matter to getting audio devices working in ALSA. Conflict between software sound servers might only become apparent after
ALSA is working

Metapackage manjaro-pulse is installed by default for PulseAudio to run as default sound server
pipewire is installed as a required dependency of KDE and Gnome and can cause conflicts with PulseAudio if the sound server is not disabled

In theory, installing metapackage manjaro-pipewire should replace PulseAudio with PipeWire packages; and manjaro-pipewire should revert PulseAudio packages to replace most PipeWire packages. But recent PipeWire updates have created some new dependency issues