Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Dell XPS Plus 13 9320 - No sound card detected #4751

Closed
yesi opened this issue Dec 18, 2023 · 11 comments
Closed

[BUG] Dell XPS Plus 13 9320 - No sound card detected #4751

yesi opened this issue Dec 18, 2023 · 11 comments
Labels
ADL Applies to Alder Lake platform bug Something isn't working SDW Applies to SoundWire bus for codec connection

Comments

@yesi
Copy link

yesi commented Dec 18, 2023

Describe the bug
No sound card detected on a laptop - Dell XPS Plus 13 9320

System : Linux-6.6.7-gentoo-x86_64-12th_Gen_Intel-R-_Core-TM-_i7-1260P-with-glibc2.37

Packages :
sys-firmware/sof-firmware-2023.09.2::gentoo
sys-kernel/linux-firmware-20231030::gentoo

Since i use the module snd_sof_pci_intel_tgl on my laptop, the sound card is not detected anymore.
No PCH card from the command : cat /proc/asound/cards

Notice : using the snd_hda_intel module allow the sound card to be detected but no sound from the speakers. It is why i switched to snd_sof_pci_intel_tgl module.

To Reproduce
On a installing Gentoo
Even unloading and loading modules after boot :
modprobe -r snd_sof_pci_intel_tgl
modprobe snd_sof_pci_intel_tgl

Reproduction Rate
All the time

Expected behavior
The sound card PCH should be detected.

Impact
annoyance, showstopper
It is necessary for meeting.

Environment

  1. Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
    • Kernel: 6.6.7-gentoo
    • SOF: sys-firmware/sof-firmware-2023.09.2::gentoo
  2. Name of the topology file
    • Topology: {FILE}
  3. Name of the platform(s) on which the bug is observed.
    • Platform: Dell 9320

Screenshots or console output
cat /etc/conf.d/modules
```
modules="vhost_net sch_netem snd_hda_codec_realtek pinctrl_alderlake"
```

dmesg |egrep -i 'snd|sof'
```
[ 0.534228] software IO TLB: area num 16.
[ 66.040290] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [email protected]
[ 66.438936] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 66.438938] software IO TLB: mapped [mem 0x000000004e7a9000-0x00000000527a9000] (64MB)
[ 68.754344] usbserial: USB Serial support registered for funsoft
[ 3795.756695] snd_sof_pci_intel_tgl: unknown parameter 'index' ignored
[ 3795.757068] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 3795.759802] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 3795.760179] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops)
[ 3795.769586] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[ 3795.794031] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[ 3795.794038] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 3795.794053] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 0
[ 3795.794138] Loading firmware: intel/sof/sof-adl.ri
[ 3795.797115] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 3795.797119] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 3795.797145] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 3795.913685] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 3795.913693] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 3796.257001] usbcore: registered new interface driver snd-usb-audio
[ 4010.615880] snd_sof_pci_intel_tgl: unknown parameter 'index' ignored
[ 4010.629611] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 4010.629991] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops)
[ 4010.636255] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[ 4010.651347] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[ 4010.651351] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 4010.651362] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 0
[ 4010.651430] Loading firmware: intel/sof/sof-adl.ri
[ 4010.652049] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 4010.652052] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 4010.652072] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 4010.769868] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[ 4010.769874] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[ 9889.435492] usb 3-3: Unable to submit urb #0: -19 at snd_usb_queue_pending_output_urbs
[ 9903.605694] usb 3-1.3.4: Unable to submit urb thesofproject/sof#2: -19 at snd_usb_queue_pending_output_urbs
```

alsa-info.txt

@yesi yesi added the bug Something isn't working label Dec 18, 2023
@plbossart plbossart transferred this issue from thesofproject/sof Dec 18, 2023
@plbossart
Copy link
Member

can you check that your kernel configuration includes CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m

@plbossart
Copy link
Member

at any rate, there's no magic to be expected. The first order of business with speaker problems is to disable SOF

https://thesofproject.github.io/latest/getting_started/intel_debug/suggestions.html#disable-sof-on-pci-hdaudio-devices-to-test-audio-playback

@plbossart
Copy link
Member

I also don't get why the SOF driver is used since your have no DMICs. the SOF driver is only required of TGL/ADL IF you have SoundWire or DMICs.

[ 4010.651362] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 0

I guess you must have selected the SOF driver manually with a kernel parameter?

@ujfalusi
Copy link
Collaborator

ujfalusi commented Jan 8, 2024

@yesi, if the speaker is silent with the legacy HDA stack then it is likely not going to work with SOF stack either.
If you force to use SOF then in your machine it should be looking for the sof-hda-generic.tplg file (you don't have DMIC).
The card should be created...

equery files sof-firmware | grep sof-hda-generic

You can try to enable dynamic debugging and provide full dmesg: https://thesofproject.github.io/latest/getting_started/intel_debug/suggestions.html#enable-dynamic-debug
to see why the card fails to bind.
Is this a first install on the laptop? Are you using sys-kernel/gentoo-kernel-bin or normal, custom compiled one? Without forcing SOF, what is detected?

@ujfalusi
Copy link
Collaborator

ujfalusi commented Jan 8, 2024

Hrm, does this laptop have SoundWire for Speaker and Headset?
The Raptor Lake variant have at least: https://wiki.debian.org/InstallingDebianOn/Dell/XPS%2013%209320%20%282023%29%20%28bookworm%29
It is certified for Ubuntu as well: https://ubuntu.com/certified/202112-29761

@ujfalusi
Copy link
Collaborator

ujfalusi commented Jan 9, 2024

Yes, definitely SDW device:

[ 3795.794031] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4

The SKU should be supported since v5.16:
8f4fa45 ("ASoC: Intel: sof_sdw: Add support for SKU 0AF3 product")

@ujfalusi
Copy link
Collaborator

ujfalusi commented Jan 9, 2024

The Gentoo-bin kernel works on my test TGL device out of box:

# uname -a
Linux sof-latitude9520 6.6.7-gentoo-dist #1 SMP PREEMPT_DYNAMIC Wed Dec 13 21:00:23 -00 2023 x86_64 GNU/Linux

[    2.909565] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    2.910000] snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[    3.102022] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    3.102088] sof-audio-pci-intel-tgl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[    3.102094] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[    3.102343] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[    4.376617] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_fence_ops [i915])
[    4.452864] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[    4.469430] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[    4.469442] Loading firmware: intel/sof/sof-tgl.ri
[    4.477323] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    4.477328] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    4.477333] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[    4.586754] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    4.586757] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:0
[    4.599927] Loading firmware: intel/sof-tplg/sof-tgl-rt715-rt711-rt1308-mono.tplg
[    4.601258] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:0
[    4.601455] sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding deferred
[    5.735776] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[    5.772710] input: sof-soundwire Headset Jack as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input17
[    5.772768] input: sof-soundwire HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input18
[    5.772810] input: sof-soundwire HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input19
[    5.772847] input: sof-soundwire HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input20

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 0: Jack Out (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
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
card 0: sofsoundwire [sof-soundwire], device 31: Jack Out DeepBuffer (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

@ujfalusi ujfalusi added SDW Applies to SoundWire bus for codec connection ADL Applies to Alder Lake platform labels Jan 17, 2024
@plbossart
Copy link
Member

@yesi this is trending to be closed - no input provided since December 18 and counter-example that this device is supported by SOF.

@yesi
Copy link
Author

yesi commented Feb 7, 2024

Hi,
Sorry for the late answer.

I finally get it work with the SOF driver , but neither with HDA, after enabling different modules to build them manually.
The SOF debug mode helped me a lot to find the lack modules and its dependencies.

The choice to use SOF is to see whether it can work when it failed with HDA.
I think it should work with HDA module (i read in different forums) but i can not get the dependencies to do it work.

So right now, i stay with the SOF module. :-)

We can close this topic.

Thanks a lot for your time.

@yesi yesi closed this as completed Feb 7, 2024
@ujfalusi
Copy link
Collaborator

ujfalusi commented Feb 7, 2024

@yesi, a Soundwire device will not work with HDA driver.

@yesi
Copy link
Author

yesi commented Feb 13, 2024

It seems that laptop work with the HDA driver : returns from various forums, threads.
Previously, i did not have Soundwire module enabled when i played with HDA driver.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ADL Applies to Alder Lake platform bug Something isn't working SDW Applies to SoundWire bus for codec connection
Projects
None yet
Development

No branches or pull requests

3 participants