# Internal speakers non-functional on Dell 16 Plus DB16250 (Lunar Lake):
RT1320 SoundWire amplifiers not enumerated

## Summary

On a Dell 16 Plus DB16250 (Intel Lunar Lake-M) running Ubuntu 26.04 LTS, the 
internal
laptop speakers produce **no audio output**. Instead, they emit **loud 
static/buzzing noise**
whenever any audio stream is playing, which stops shortly after the stream ends.

The root cause appears to be that the SoundWire speaker amplifiers (RT1320) on 
links 2 and 3
are **never enumerated**. The kernel selects a machine configuration and 
topology that describe
only the RT722 SDCA codec on link 0, with no amplifier path at all.

Notably, **the exact same codec/amplifier combination is already supported on 
other Intel
platforms** (Panther Lake and Arrow Lake) — only the Lunar Lake variant is 
missing.

Headphone jack output, HDMI/DisplayPort audio, and the internal
microphones all work correctly.

---

## System information

| Item | Value |
|---|---|
| Vendor / Model | Dell Inc. / Dell 16 Plus DB16250 |
| Product SKU | 0D31 |
| Board | 1K389Y |
| BIOS | 1.11.0 (2026-02-04) |
| OS | Ubuntu 26.04 LTS (resolute) |
| Kernel (primary) | 7.0.0-1009-oem (`linux-image-oem-26.04a` 7.0.0-1009.9) |
| Kernel (also tested) | 7.0.0-28-generic |
| Audio controller | 00:1f.3 Intel Lunar Lake-M HD Audio Controller [8086:a828] 
rev 10 |
| Subsystem ID | Dell [1028:0d31] |
| Driver in use | `sof-audio-pci-intel-lnl` |
| SOF firmware pkg | `firmware-sof-signed` 2025.12.2-1 |
| SOF ADSP firmware | ADSPFW 2.14.1.1 |
| linux-firmware | 20260319.git217ca6e4.1ubuntu |
| alsa-ucm-conf | 1.2.15.3-1ubuntu1.4 |
| PipeWire | 1.6.2-1ubuntu1.1 |
| WirePlumber | 0.5.13-1ubuntu1 |

---

## Expected behaviour

Audio played through the default output device is reproduced cleanly through 
the internal
laptop speakers.

## Actual behaviour

1. The internal speakers produce **no intelligible audio at all**.
2. While any stream is playing, the speakers emit **continuous static / buzzing 
/ crackling**.
3. The noise starts when playback starts and stops a few seconds after playback 
ends
   (consistent with the audio pipeline suspending on idle).
4. Headphones (3.5 mm jack), HDMI audio, and internal microphones work 
correctly.

The fact that the noise is time-correlated with playback confirms that the 
audio signal
**is physically reaching the speakers** — but in a format or on a route the 
hardware does
not understand, so it is reproduced as noise rather than as audio.

---

## Root cause analysis

### SoundWire amplifiers are never enumerated

Three SoundWire master links are present, but only link 0 has a
peripheral attached:

```
$ ls /sys/bus/soundwire/devices/
sdw-master-0-0
sdw-master-0-2
sdw-master-0-3
sdw:0:0:025d:0722:01        <-- RT722 SDCA, link 0 only

sdw-master-0-0: 1 peripheral(s)
sdw-master-0-2: 0 peripheral(s)     <-- expected RT1320 amplifier
sdw-master-0-3: 0 peripheral(s)     <-- expected RT1320 amplifier
```

### The RT1320 driver is present but never bound

The kernel ships the driver with a matching SoundWire alias, but it is never 
loaded,
because no device is ever enumerated to trigger it:

```
$ modinfo -F filename snd-soc-rt1320-sdw
/lib/modules/7.0.0-1009-oem/kernel/sound/soc/codecs/snd-soc-rt1320-sdw.ko.zst

$ modinfo -F alias snd-soc-rt1320-sdw
sdw:m025Dp1321v03c01*
sdw:m025Dp1320v03c01*
sdw:m025Dp1320v03c*

$ lsmod | grep rt1320
(no output)
```

### An amplifier-less topology is selected

```
sof-audio-pci-intel-lnl 0000:00:1f.3: loading topology:
    intel/sof-ipc4-tplg/sof-lnl-rt722-l0.tplg
```

`sof-lnl-rt722-l0.tplg` describes RT722 on link 0 only. It contains **no 
speaker amplifier
path**. The resulting PCM named "Speaker" is mapped to the RT722 internal 
speaker output,
which on this machine is not what physically drives the speakers.

### No errors are reported

There are **no failures, timeouts, or firmware errors anywhere** in the 
SOF/SoundWire path.
The DSP firmware boots successfully and the topology loads successfully. Links 
2 and 3 are
never probed for peripherals at all — nothing fails, because nothing is 
attempted.

This points to a missing machine-match entry rather than a runtime
enumeration failure.

### Key observation: this exact configuration is supported on other
platforms

The installed SOF topology set already contains the **RT722-on-link-0 + 
RT1320-on-links-2/3**
configuration for Panther Lake and (a variant for) Arrow Lake — but **there is 
no Lunar Lake
equivalent**:

```
sof-ptl-rt722-l0-rt1320-l23.tplg          <-- PTL: exact configuration
sof-ptl-rt722-l0-rt1320-l23-2ch.tplg
sof-ptl-rt722-l0-rt1320-l23-4ch.tplg
sof-arl-rt722-l0_rt1320-l2.tplg           <-- ARL: similar configuration

sof-lnl-rt722-l0.tplg                     <-- LNL: RT722 only, no amplifiers
                                          <-- NO 
sof-lnl-rt722-l0-rt1320-l23.tplg
```

Lunar Lake topologies exist for RT1320 in *other* codec pairings
(`sof-lnl-rt1320-l12-rt714-l0.tplg`, `sof-lnl-rt712-l2-rt1320-l1.tplg`,
`sof-lnl-rt713-l2-rt1320-l13.tplg`), so RT1320 support on LNL is not itself the 
gap —
only this specific RT722 + RT1320-l23 combination is missing for LNL.

---

## Suggested fix

Two changes appear to be required:

1. **Kernel**: add a machine-match entry for this configuration to the Lunar 
Lake SoundWire
   match table (`sound/soc/intel/common/soc-acpi-intel-lnl-match.c`), describing
   RT722 on link 0 plus RT1320 amplifiers on links 2 and 3 — mirroring the 
existing
   Panther Lake entry.

2. **SOF firmware**: provide the corresponding topology binary, e.g.
   `sof-lnl-rt722-l0-rt1320-l23.tplg`, equivalent to the existing
   `sof-ptl-rt722-l0-rt1320-l23.tplg`.

Confirmation of the exact hardware layout (number of amplifiers, link 
assignment, and
channel mapping) from Dell would be needed to make these correct and safe.

---

## Things ruled out

All userspace and configuration layers were verified as healthy:

| Checked | Result |
|---|---|
| PipeWire / WirePlumber running | OK — both active |
| Volume levels and mute state | OK — 100%, unmuted at every stage (PipeWire, 
ALSA, `rt722 FU05`/`FU06`, `Pre/Post Mixer Speaker`) |
| Default sink selection | OK — "Speaker" sink selected, streams actively 
routed to it |
| ALSA UCM configuration | OK — `sof-soundwire` UCM present and opened 
(`api.alsa.open.ucm = true`) |
| SOF DSP firmware | OK — booted, version 2.14.1.1 |
| Topology load | OK (but wrong topology — see above) |
| Kernel log errors | None in the SOF/SoundWire path |
| `snd_hda_intel` power saving | Disabled for testing — no effect on the noise |
| PCI runtime PM (00:1f.3) | Set to `on` for testing — no effect |
| OEM kernel (7.0.0-1009-oem) | **Tested — identical result, no change** |
| Generic kernel (7.0.0-28-generic) | Tested — identical result |

---

## Current workarounds

- Wired headphones via the 3.5 mm jack (works correctly)
- Bluetooth audio
- HDMI / DisplayPort audio to an external monitor
- Muting the internal "Speaker" sink to suppress the noise:
  `wpctl set-mute <speaker-sink-id> 1`

---

## Appendix: relevant kernel log

```
sof-audio-pci-intel-lnl 0000:00:1f.3: SoundWire enabled on CannonLake+ 
platform, using SOF driver
sof-audio-pci-intel-lnl 0000:00:1f.3: DSP detected with PCI 
class/subclass/prog-if 0x040380
sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 0
sof-audio-pci-intel-lnl 0000:00:1f.3: Firmware paths/files for ipc type 1:
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware file:     
intel/sof-ipc4/lnl/sof-lnl.ri
sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/lnl
sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file:     function topologies
sof-audio-pci-intel-lnl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 
2.14.1.1
sof-audio-pci-intel-lnl 0000:00:1f.3: Booted firmware version: 2.14.1.1
sof-audio-pci-intel-lnl 0000:00:1f.3: loading topology: 
intel/sof-ipc4-tplg/sof-lnl-rt722-l0.tplg
sof-audio-pci-intel-lnl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
sof_sdw sof_sdw: ASoC: Parent card not yet available, widget card binding 
deferred
sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI 
converter 3
input: sof-soundwire Headset Jack as 
/devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input32
input: sof-soundwire HDMI/DP,pcm=5 as 
/devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input33
input: sof-soundwire HDMI/DP,pcm=6 as 
/devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input34
input: sof-soundwire HDMI/DP,pcm=7 as 
/devices/pci0000:00/0000:00:1f.3/sof_sdw/sound/card0/input35
```

## Appendix: audio devices as seen by userspace

```
Sinks:
   58. Lunar Lake-M HD Audio Controller HDMI / DisplayPort 3 Output
   59. Lunar Lake-M HD Audio Controller HDMI / DisplayPort 2 Output
   60. Lunar Lake-M HD Audio Controller HDMI / DisplayPort 1 Output
 * 61. Lunar Lake-M HD Audio Controller Speaker          <-- produces noise only
   62. Lunar Lake-M HD Audio Controller Headphones
Sources:
 * 63. Lunar Lake-M HD Audio Controller SoundWire microphones
   64. Lunar Lake-M HD Audio Controller Headset Microphone
```

Default sink node name:

```
alsa_output.pci-0000_00_1f.3-platform-sof_sdw.HiFi__Speaker__sink
device.profile.name = "HiFi: Speaker: sink"
api.alsa.path       = "hw:sofsoundwire,2"
api.alsa.open.ucm   = "true"
```

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2161946

Title:
  Dell 16 Plus DB16250، LNL + RT722، مضخّمات RT1320 على link 2/3 لا
  تُكتشف، النواة تحمّل sof-lnl-rt722-l0.tplg

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-signed-oem-7.0/+bug/2161946/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to