Closed benoit-sbr closed 2 years ago
@benoit-sbr can you add this file sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.txt and attach the full dmesg log.
Also provide the link to the results of 'alsa-info' to see which SKU you have.
Thanks!
@plbossart Thank you for helping!
Here is the alsa-info result and below is the dmesg:
Fwiw, I just did a clean install of Artixlinux on the same laptop and audio is working almost out of box, soc-firmware
is not installed by default, but after pacman -S sof-firmware
:
# pacman -Ss sof-firmware
world/sof-firmware 1.9-1 [installed]
Sound Open Firmware
# uname -a
Linux sof-latitude9520 5.14.10-artix1-1 #1 SMP PREEMPT Fri, 08 Oct 2021 14:48:46 +0000 x86_64 GNU/Linux
# dmesg | grep -iE 'snd|sof'
[ 0.529998] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.565762] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 0.565763] software IO TLB: mapped [mem 0x0000000051439000-0x0000000055439000] (64MB)
[ 2.248529] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 2.248542] snd_hda_intel 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[ 2.491826] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 2.492409] sof-audio-pci-intel-tgl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[ 2.492444] sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
[ 2.493426] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[ 2.493492] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 2.499941] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[ 2.546876] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[ 2.547659] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 1:9:0-fa857
[ 2.547662] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:19:0 Kernel ABI 3:18:0
[ 2.547664] sof-audio-pci-intel-tgl 0000:00:1f.3: warn: FW ABI is more recent than kernel
[ 2.547668] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[ 2.642205] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 1:9:0-fa857
[ 2.642208] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:19:0 Kernel ABI 3:18:0
[ 2.642210] sof-audio-pci-intel-tgl 0000:00:1f.3: warn: FW ABI is more recent than kernel
[ 2.687463] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:19:0 Kernel ABI 3:18:0
[ 2.687467] sof-audio-pci-intel-tgl 0000:00:1f.3: warn: topology ABI is more recent than kernel
[ 2.719213] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[ 3.779338] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[ 3.779342] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 4
[ 3.779344] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 5
[ 3.779345] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 6
[ 3.779347] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 7
[ 3.779349] sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 8
[ 3.799813] input: sof-soundwire Headset Jack as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input19
[ 3.799884] input: sof-soundwire HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input20
[ 3.799940] input: sof-soundwire HDMI/DP,pcm=6 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input21
[ 3.799988] input: sof-soundwire HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input22
# 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
Note that I have newer sof-firmware.
Thank you @ujfalusi there is hope then! I see sof-firmware is still at 1.8-1 on Manjaro, but 1.9-1 is in staging so it shouldn't take too long before I can test.
@benoit-sbr, the sof-firmware
for me is coming directly from Arch's Extra. It is already stable there. I hope that it is really just about the firmware
I don't get why 1.8 wasn't enough. Somehow the logs from @ujfalusi didn't include dynamic debug, so there's no information on which firmware/topology is used. We should make the logs on firmware and topology names dev_info() messages, this is painful to debug.
@plbossart, I did copied sof-dyndbg.txt and then rebooted and copied the dmesg, albiet w/o looking at it much. I'lll check why it did not enabled dydbg. Sorry. I agree, let's make the firmware and topology file name visible with dev_info()
I think I know why, we need the file as /etc/modprobe.d/sof-dyndbg.conf
to be taken into use
yes, my mistake @ujfalusi, the modprobe filters require a .conf extension. I typed in the wrong extension, oops.
OK! Should I retest with the new extension?
With the .conf file the dmesg buffer looses all the important prints about the firmware and topology files.
First I uninstalled PA:
pacman -R pulseaudio plasma-pa
then got the sof-test
:
git clone https://github.com/thesofproject/sof-test.git
cd sof-test
sudo ./tools/kmod/sof_remove.sh
sudo dmesg -c
sudo ./tools/kmod/sof_instert.sh
sudo dmesg
ok, thanks @ujfalusi
sof-tgl-rt715-rt711-rt1308-mono.tplg was part of release 1.8 IIRC, not sure what causes the problem then? Weird.
BTW you can make the error messages for link3 go away with
options snd-intel-sdw-acpi sdw_link_mask=0x7
One bit per link means you only enable links 0..2.
@plbossart, there is something else in play here. I have downgraded the sof-firmware to 1.8 and I can sof_instert.sh just fine (and boot as well):
ok let's re-ask @benoit-sbr, this time with the proper filename:
can you add this file sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf and attach the full dmesg log.
@plbossart Thank you for following up. Here it is:
In @benoit-sbr log:
[ 4.038074] sof-audio-pci-intel-tgl 0000:00:1f.3: codec #2 probe error, ret: -5
[ 4.038299] sof-audio-pci-intel-tgl 0000:00:1f.3: found 711 at link 1
[ 4.038301] sof-audio-pci-intel-tgl 0000:00:1f.3: found 1308 at link 2
[ 4.038301] sof-audio-pci-intel-tgl 0000:00:1f.3: found 715 at link 0
[ 4.038302] sof-audio-pci-intel-tgl 0000:00:1f.3: SoundWire machine driver sof_sdw topology sof-tgl-rt715-rt711-rt1308-mono.tplg
[ 4.038303] sof-audio-pci-intel-tgl 0000:00:1f.3: no hda codecs found!
[ 4.038315] sof-audio-pci-intel-tgl 0000:00:1f.3: loading firmware
[ 4.040494] sof-audio-pci-intel-tgl 0000:00:1f.3: request_firmware intel/sof/sof-tgl.ri successful
...
[ 4.161870] sof_sdw sof_sdw: Entry mc_probe
[ 4.161872] sof_sdw sof_sdw: quirk realtek,jack-detect-source 1
[ 4.161874] sof_sdw sof_sdw: sdw 4, ssp 0, dmic 0, hdmi 0
[ 4.161876] sof_sdw sof_sdw: create dai link SDW1-Playback, id 0
[ 4.161886] sof_sdw sof_sdw: create dai link SDW1-Capture, id 1
[ 4.161887] sof_sdw sof_sdw: create dai link SDW2-Playback, id 2
[ 4.161889] sof_sdw sof_sdw: create dai link SDW0-Capture, id 3
[ 4.161890] sof_sdw sof_sdw: create dai link iDisp1, id 4
[ 4.161891] sof_sdw sof_sdw: create dai link iDisp2, id 5
[ 4.161891] sof_sdw sof_sdw: create dai link iDisp3, id 6
in my log:
[ 189.246901] sof-audio-pci-intel-tgl 0000:00:1f.3: HDA codec #2 probed OK: response: 80862812
[ 189.248477] hdaudio ehdaudio0D2: loading codec module: hdaudio:v80862812r00100000a01
[ 189.251005] sof-audio-pci-intel-tgl 0000:00:1f.3: found 711 at link 1
[ 189.251007] sof-audio-pci-intel-tgl 0000:00:1f.3: found 1308 at link 2
[ 189.251008] sof-audio-pci-intel-tgl 0000:00:1f.3: found 715 at link 0
[ 189.251009] sof-audio-pci-intel-tgl 0000:00:1f.3: SoundWire machine driver sof_sdw topology sof-tgl-rt715-rt711-rt1308-mono.tplg
[ 189.251010] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 4
[ 189.251016] sof-audio-pci-intel-tgl 0000:00:1f.3: loading firmware
[ 189.251087] sof-audio-pci-intel-tgl 0000:00:1f.3: request_firmware intel/sof/sof-tgl.ri successful
...
[ 189.366004] sof_sdw sof_sdw: Entry mc_probe
[ 189.366007] sof_sdw sof_sdw: quirk realtek,jack-detect-source 2
[ 189.366008] sof_sdw sof_sdw: quirk SOF_SDW_TGL_HDMI enabled
[ 189.366008] sof_sdw sof_sdw: quirk SOF_RT715_DAI_ID_FIX enabled
[ 189.366010] sof_sdw sof_sdw: sdw 4, ssp 0, dmic 0, hdmi 4
[ 189.366012] sof_sdw sof_sdw: create dai link SDW1-Playback, id 0
[ 189.366021] sof_sdw sof_sdw: create dai link SDW1-Capture, id 1
[ 189.366023] sof_sdw sof_sdw: create dai link SDW2-Playback, id 2
[ 189.366025] sof_sdw sof_sdw: create dai link SDW0-Capture, id 3
[ 189.366027] sof_sdw sof_sdw: create dai link iDisp1, id 5
[ 189.366029] sof_sdw sof_sdw: create dai link iDisp2, id 6
[ 189.366031] sof_sdw sof_sdw: create dai link iDisp3, id 7
[ 189.366033] sof_sdw sof_sdw: create dai link iDisp4, id 8
@benoit-sbr, can you try the manual remove/insert of modules from https://github.com/thesofproject/linux/issues/3206#issuecomment-941226482 ? The remove needs some nagging on my end:
sudo ./tools/kmod/sof_remove.sh
sudo rmmod snd_pcm_dmaengine
sudo ./tools/kmod/sof_remove.sh
sudo dmesg -c
I think the remove failed:
WARNING: running as root is not supported
Specified filename /sys/kernel/debug/sof/trace does not exist.
RMMOD snd_usb_audio
rmmod: ERROR: Module snd_usb_audio is in use
snd_usb_audio 352256 1
snd_usbmidi_lib 45056 1 snd_usb_audio
snd_rawmidi 45056 1 snd_usbmidi_lib
snd_seq_dummy 16384 0
snd_hrtimer 16384 1
snd_seq 90112 7 snd_seq_dummy
snd_seq_device 16384 2 snd_seq,snd_rawmidi
snd_soc_sof_sdw 57344 0
snd_soc_intel_hda_dsp_common 20480 1 snd_soc_sof_sdw
snd_soc_intel_sof_maxim_common 16384 1 snd_soc_sof_sdw
mc 65536 5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
snd_soc_rt711 49152 0
snd_soc_rt715 49152 0
snd_soc_rt1308_sdw 32768 0
regmap_sdw 16384 3 snd_soc_rt715,snd_soc_rt711,snd_soc_rt1308_sdw
snd_soc_dmic 16384 0
snd_sof_pci_intel_tgl 16384 0
snd_sof_intel_hda_common 106496 1 snd_sof_pci_intel_tgl
soundwire_intel 45056 1 snd_sof_intel_hda_common
soundwire_generic_allocation 16384 1 soundwire_intel
soundwire_cadence 36864 1 soundwire_intel
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
snd_sof_pci 20480 2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_sof_xtensa_dsp 16384 1 snd_sof_intel_hda_common
snd_sof 147456 2 snd_sof_pci,snd_sof_intel_hda_common
snd_soc_hdac_hda 24576 1 snd_sof_intel_hda_common
snd_hda_ext_core 36864 3 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_soc_acpi_intel_match 53248 2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
snd_soc_acpi 16384 2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
soundwire_bus 90112 8 snd_soc_sof_sdw,regmap_sdw,soundwire_intel,snd_soc_rt715,soundwire_generic_allocation,soundwire_cadence,snd_soc_rt711,snd_soc_rt1308_sdw
ledtrig_audio 16384 2 snd_sof,dell_laptop
snd_soc_core 344064 10 snd_soc_sof_sdw,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_rt715,snd_soc_hdac_hda,snd_soc_rt711,snd_soc_intel_sof_maxim_common,snd_soc_dmic,snd_soc_rt1308_sdw
snd_compress 32768 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_intel 57344 0
snd_intel_dspcfg 28672 2 snd_hda_intel,snd_sof_intel_hda_common
snd_intel_sdw_acpi 20480 2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec 176128 3 snd_hda_intel,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda
snd_hda_core 110592 7 snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hwdep 16384 2 snd_usb_audio,snd_hda_codec
snd_pcm 151552 13 snd_hda_intel,snd_usb_audio,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_rt715,snd_compress,snd_soc_core,snd_soc_rt711,snd_soc_rt1308_sdw,snd_hda_core,snd_pcm_dmaengine
snd_timer 45056 3 snd_seq,snd_hrtimer,snd_pcm
snd 114688 17 snd_soc_sof_sdw,snd_seq,snd_seq_device,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
soundcore 16384 1 snd
drm_kms_helper 303104 1 i915
cec 73728 2 drm_kms_helper,i915
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
drm 589824 9 drm_kms_helper,i915,ttm
./tools/kmod/sof_remove.sh FAILED
BTW what is the good way to attach a DMESG? I looked in the doc but couldn't find. Is it a gist?
Someone is using the snd_usb_audio
You can attach a file (txt) or the folding thing also works.
Someone is using the snd_usb_audio
Sorry, my bad! Gotta have sound another way.
Attached is the dmesg. dmesg.log
This is dmesg is the result of:
sudo ./tools/kmod/sof_remove.sh
sudo rmmod snd_pcm_dmaengine
sudo ./tools/kmod/sof_remove.sh
sudo dmesg -c
sudo ./tools/kmod/sof_instert.sh
sudo dmesg
After the insert. dmesg.log
@benoit-sbr, thanks! The issue might be related to HDA, but this is a SDW device... In my log
[14814.964037] sof-audio-pci-intel-tgl 0000:00:1f.3: HDA codec #2 probed OK: response: 80862812
[14814.966201] hdaudio ehdaudio0D2: loading codec module: hdaudio:v80862812r00100000a01
...
[14815.091637] sof_sdw sof_sdw: quirk realtek,jack-detect-source 2
[14815.091638] sof_sdw sof_sdw: quirk SOF_SDW_TGL_HDMI enabled
[14815.091646] sof_sdw sof_sdw: quirk SOF_RT715_DAI_ID_FIX enabled
[14815.091647] sof_sdw sof_sdw: sdw 4, ssp 0, dmic 0, hdmi 4
[14815.091650] sof_sdw sof_sdw: create dai link SDW1-Playback, id 0
[14815.091661] sof_sdw sof_sdw: create dai link SDW1-Capture, id 1
[14815.091664] sof_sdw sof_sdw: create dai link SDW2-Playback, id 2
[14815.091666] sof_sdw sof_sdw: create dai link SDW0-Capture, id 3
[14815.091668] sof_sdw sof_sdw: create dai link iDisp1, id 5
[14815.091670] sof_sdw sof_sdw: create dai link iDisp2, id 6
[14815.091672] sof_sdw sof_sdw: create dai link iDisp3, id 7
[14815.091673] sof_sdw sof_sdw: create dai link iDisp4, id 8
...
[14815.098964] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: ready widget id 24 pipe 5 type 28 name : ALH2.IN stream SDW0-Capture
[14815.098966] sof-audio-pci-intel-tgl 0000:00:1f.3: dai ALH2.IN: type 4 index 2
[14815.098967] sof-audio-pci-intel-tgl 0000:00:1f.3: config: periods snk 2 src 0 fmt 1
[14815.098971] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30010000
[14815.099221] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx succeeded: 0x30010000
[14815.099222] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: connected widget ALH2.IN -> DAI link SDW0-Capture
[14815.099223] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: ready widget id 25 pipe 5 type 32 name : PIPELINE.5.ALH2.IN stream ALH2.IN
[14815.099225] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: pipeline id 5 comp 25 scheduling comp id 24
[14815.099225] sof-audio-pci-intel-tgl 0000:00:1f.3: pipeline PIPELINE.5.ALH2.IN: period 1000 pri 0 mips 5000 core 0 frames 0
...
[14815.112320] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: 1 hw_configs found, default id: 4!
[14815.112321] sof-audio-pci-intel-tgl 0000:00:1f.3: set DAI config for SDW0-Capture index 2
In your log:
[ 2813.307822] usbcore: registered new interface driver snd-usb-audio
[ 2814.277833] sof-audio-pci-intel-tgl 0000:00:1f.3: codec #2 probe error, ret: -5
...
[ 2814.393048] sof_sdw sof_sdw: quirk realtek,jack-detect-source 1
[ 2814.393050] sof_sdw sof_sdw: sdw 4, ssp 0, dmic 0, hdmi 0
[ 2814.393053] sof_sdw sof_sdw: create dai link SDW1-Playback, id 0
[ 2814.393062] sof_sdw sof_sdw: create dai link SDW1-Capture, id 1
[ 2814.393064] sof_sdw sof_sdw: create dai link SDW2-Playback, id 2
[ 2814.393066] sof_sdw sof_sdw: create dai link SDW0-Capture, id 3
[ 2814.393067] sof_sdw sof_sdw: create dai link iDisp1, id 4
[ 2814.393068] sof_sdw sof_sdw: create dai link iDisp2, id 5
[ 2814.393069] sof_sdw sof_sdw: create dai link iDisp3, id 6
...
[ 2814.398453] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: ready widget id 24 pipe 5 type 28 name : ALH2.IN stream SDW0-Capture
[ 2814.398455] sof-audio-pci-intel-tgl 0000:00:1f.3: dai ALH2.IN: type 4 index 2
[ 2814.398455] sof-audio-pci-intel-tgl 0000:00:1f.3: config: periods snk 2 src 0 fmt 1
[ 2814.398458] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30010000
[ 2814.398688] sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx succeeded: 0x30010000
[ 2814.398689] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: connected widget ALH2.IN -> DAI link SDW0-Capture
[ 2814.398691] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: ready widget id 25 pipe 5 type 32 name : PIPELINE.5.ALH2.IN stream ALH2.IN
[ 2814.398692] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: pipeline id 5 comp 25 scheduling comp id 24
[ 2814.398693] sof-audio-pci-intel-tgl 0000:00:1f.3: pipeline PIPELINE.5.ALH2.IN: period 1000 pri 0 mips 5000 core 0 frames 0
...
[ 2814.408534] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: physical link SDW0-Capture (id 4) not exist
[ 2814.408535] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: topology: could not load header: -22
I think the issue is the DMI quirk is not correct.
The machine driver sets these quirks, but see the SKU is 0A3E, whereas @benoit-sbr 's information says 0A3F.
{
.callback = sof_sdw_quirk_cb,
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A3E")
},
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
RT711_JD2 |
SOF_RT715_DAI_ID_FIX),
},
@ujfalusi can you check with 'sudo dmidecode' what System SKU is reported on your device?
Good spot!
@benoit-sbr if you can recompile your kernel, can you add this patch https://github.com/thesofproject/linux/commit/bfccdc5b56508d27c2551c7beee396ca92113159.patch from PR #3211 ?
@plbossart This is something I have never done, but I could try.
@ujfalusi can you check with 'sudo dmidecode' what System SKU is reported on your device?
System Information
Manufacturer: Dell Inc.
Product Name: Latitude 9520
Version: Not Specified
Serial Number: ---------------
UUID: --------------------------------------
Wake-up Type: Power Switch
SKU Number: 0A3E
Family: Latitude
@benoit-sbr, you will going to need alsa-lib.git from AUR to keep alsamixer from crashing at least.
SKU Number: 0A3E
That is the difference indeed, the patch to handle the SKU 0A3F should fix this. I am even thinking of making JD2 the baseline on Dell devices as well as use 4 devices for HDMI. @bardliao FYI.
@benoit-sbr, you will going to need alsa-lib.git from AUR to keep alsamixer from crashing at least.
OK! Let me first find my way into compiling my own patched kernel and I will get back. The arch wiki page looks very complete but I am on Manjaro now and things are a bit different.
SKU Number: 0A3E
That is the difference indeed, the patch to handle the SKU 0A3F should fix this. I am even thinking of making JD2 the baseline on Dell devices as well as use 4 devices for HDMI. @bardliao FYI.
If I wait, do you know in what version it will be included?
it will take a while @benoit-sbr. the worst case is that this would be in 5.16 several months from now. The best case is that this is in 5.15 and back-ported to stable, but you're looking at probably at least one month before this patch is in your distribution.
@plbossart Thank you! I will see if it comes to 5.15, and if it doesn't I will try and compile my first kernel. In any case I will report here.
@benoit-sbr I completely forgot we have a kernel parameter
You need these quirks
.driver_data = (void *)(SOF_SDW_TGL_HDMI |
RT711_JD2 |
SOF_RT715_DAI_ID_FIX),
so that's
enum rt711_jd_src {
RT711_JD_NULL,
RT711_JD1,
RT711_JD2, <<< 2 so BIT(1)
RT711_JD2_100K,
RT711_JD2_1P8V_1PORT
};
#define SOF_SDW_TGL_HDMI BIT(5)
#define SOF_RT715_DAI_ID_FIX BIT(13)
If I get this right, that's 0x2022
so things should work for you by adding this in /etc/modprobe.d/alsa-base.conf
options snd_soc_sof_sdw quirk=0x2022
options snd-intel-sdw-acpi sdw_link_mask=0x7
patches merged and solution provided, closing
I have a 0A3F SKU Latitude 9520 laptop as well. I tried the changes for alsa-base.conf that were suggested but they were not effective. I was able to test the patch against 5.13 kernel however which got my sound working, so the patch looks good.
@espro can you try to log the quirk value with the patch applied, wondering why the value I provided wasn't working for you. Thanks!
@plbossart It appears there's a difference in the bits used for those quirks between kernel versions. In the 5.13.0-20 kernel available for Kubuntu 21.10 they use 1, 3 and 11. I was able to get the soundcard working with 0x80A
without using a patched kernel
Those bits were changed here: https://github.com/torvalds/linux/commit/368fa526e6e396972d5f0ed7c2a86ac0c3399ff3
@espro ah yes, I forgot about that change and provided the values for the latest development kernel. Thanks for reminding me of this and glad you've got working audio.
so things should work for you by adding this in /etc/modprobe.d/alsa-base.conf
options snd_soc_sof_sdw quirk=0x2022 options snd-intel-sdw-acpi sdw_link_mask=0x7
I finally had the opportunity to test 5.16 and it is working with the above 2 lines in alsa-base.conf
.
Thank you for the help provided!
Hello,
I think I have a bug similar to the one here.
My hardware is a Latitude 9520 and the chipset is Realtek ALC714-CG while it is Realtek ALC711-CG in the other machine.
I am running Manjaro Linux with kernel 5.14.10 and I will be happy to provide any relevant information and/or do some testing.