Bug 1214654 - Subwoofer not working on XPS15 9530
Summary: Subwoofer not working on XPS15 9530
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Sound (show other bugs)
Version: Current
Hardware: x86-64 openSUSE Tumbleweed
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Takashi Iwai
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-27 12:12 UTC by Aik Enko
Modified: 2024-03-05 14:03 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---
tiwai: needinfo? (pooleno)


Attachments
dmesg | egrep -i "snd|sof|firmware" output (4.46 KB, text/plain)
2023-08-27 12:12 UTC, Aik Enko
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aik Enko 2023-08-27 12:12:28 UTC
Created attachment 869041 [details]
dmesg | egrep -i "snd|sof|firmware"  output

Hi, I have the latest DELL XPS 15 9530 - laptop with Tumbleweed on it but I am unable to get the machine's sub-woofer running. This causes the audio to be very low with no bass and depths. The audio works perfectly when I boot to Windows instead.  

Here is some output from the alsa-info report. 

!!Loaded ALSA modules
!!-------------------

snd_soc_skl_hda_dsp (card 0)
snd_usb_audio (card 1)
snd_usb_audio (card 2)

!!Soundcards recognised by ALSA
!!-----------------------------

 0 [sofhdadsp      ]: sof-hda-dsp - sof-hda-dsp
                      DellInc.-XPS159530--0WCGKP
 1 [X              ]: USB-Audio - Razer Barracuda X
                      Razer Razer Barracuda X at usb-0000:00:14.0-3, full speed
 2 [Dock           ]: USB-Audio - WD19 Dock
                      Dell-WD15-Dock

!!PCI Soundcards installed in the system
!!--------------------------------------

0000:00:1f.3 Multimedia audio controller [0401]: Intel Corporation Device [8086:51ca] (rev 01)
        Subsystem: Dell Device [1028:0beb]


!!Modprobe options (Sound related)
!!--------------------------------

snd_hda_intel: patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw

!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Realtek ALC289
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0289
Subsystem Id: 0x10280beb
Revision Id: 0x100002
No Modem Function Group found
Default PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D1 D2 D3 D3cold CLKSTOP EPSS
  Power: setting=D0, actual=D0

!!Packages installed
!!--------------------

alsa-plugins-1.2.7.1-4.5.x86_64
alsa-ucm-conf-1.2.9-1.1.noarch
alsa-plugins-upmix-1.2.7.1-4.5.x86_64
alsa-plugins-speexrate-1.2.7.1-4.5.x86_64
alsa-oss-1.1.8-5.4.x86_64
alsa-utils-1.2.9-1.3.x86_64
alsa-plugins-pulse-1.2.7.1-4.5.x86_64
sof-firmware-2.2.6-1.1.noarch

And some additional data:

# inxi -Aa
Audio:
  Device-1: Intel 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:51ca class-ID: 0401
  Device-2: Realtek USB Audio driver: snd-usb-audio type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-1.3.4:10 chip-ID: 0bda:402e
    class-ID: 0102 serial: 200901010001
  Device-3: Razer USA Barracuda X driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-3:5
    chip-ID: 1532:0536 class-ID: 0300
  API: ALSA v: k6.4.11-1-default status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: N/A status: off tools: jack_control
  Server-2: PipeWire v: 0.3.77 status: off with: 1: wireplumber
    status: active 2: pw-jack type: plugin tools: pw-cat,pw-cli,wpctl
  Server-3: PulseAudio v: 16.1 status: active (root, process)
    with: pulseaudio-alsa type: plugin tools: pacat,pactl,pavucontrol

I believe the link below contains a patch that could help for this version of the laptop as well but I am not experienced enough to recompile the kernel. 

https://github.com/rikvanderkemp/dell-xps-15-9520-audio

Would anyone have some suggestions for me? 
Thanks for any advice!
Comment 1 Takashi Iwai 2023-08-30 14:58:52 UTC
Could you attach the full content of alsa-info.sh output to Bugzilla?
Run the script with --no-upload option and attach the generated file.

Also, what's the content of hda-jack-retask.fw?

For the further testing, you can try to switch to snd-hda-intel driver by adding a file /etc/modprobe.d/60-hda.conf containing the line:

options snd-intel-dspcfg dsp_driver=1

(Also drop the superfluous module options for snd-hda-intel reading hda-jack-retask.fw beforehand, too.)

The built-in mic might not be working with this driver, but it's easier for debugging the speaker problem.

After switching the driver and confirming it's working except for subwoofer, you can try to apply the quirk for other existing models to your model.
For example, create /etc/modprobe.d/61-hda-quirk.conf containing the line:

options snd-hda-intel model=1028:0b19

This will make the driver applying the quirk for Dell XPS 15 9520 (with SSID 1028:0b19) to your device.  Although I doubt whether this works for yours, you have some idea.

The whole available quirks are listed in alc269_fixup_tbl[] in sound/pci/hda/patch_realtek.c (around line 9314):
  https://github.com/torvalds/linux/blob/master/sound/pci/hda/patch_realtek.c#L9314C34-L9314C34
Comment 2 David Crnko 2023-08-31 08:07:47 UTC
Created attachment 869150 [details]
alsa-info.txt

The outputted file of alsa-info.sh is attached.

The content of hda-jack-retask.fw is below:
[codec]
0x10ec0289 0x10280beb 0

[pincfg]
0x12 0x40000000
0x13 0x411111f0
0x14 0x90170110
0x16 0x411111f0
0x17 0x90170151
0x18 0x411111f0
0x19 0x01a1913c
0x1a 0x411111f0
0x1b 0x01a1913d
0x1d 0x40400001
0x1e 0x411111f0
0x21 0x03211030

I commented out the options in /etc/modprobe.d/hda-jack-retask.conf and created the/etc/modprobe.d/60-hda.conf with the suggested line. Then I rebooted the system, had to change the Audio output from sda-hda to Speakers Built-in Audio but it has not changed anything. 

The audio works but it's the same quality without the subwoofer. 

I then added the 61-hda-quirk.conf with the suggested options and rebooted - but no luck. 

I believe this should not be something that was caused by me installing additional things. This did not work by default after the system was freshly installed.
Comment 3 Takashi Iwai 2023-08-31 14:48:03 UTC
Hrm, strange, even with snd-intel-dspcfg.dsp_driver=1, SOF HDA driver is still loaded and bound in the attached alsa-info.sh output.
Could you double check whether it's still so after the reboot with that config?
Comment 4 Takashi Iwai 2024-03-05 14:03:56 UTC
The recent kernel (since 6.7) supports the Cirrus codec for speakers on your device (the commit cd14dedf15be432066e63783c63d650f2800cd48)
So it should work without the extra module option.

Feel free to reopen if you still see the problem.