Dell XPS 17 9710 (replacement motherboard) - No audio, SoundWire NHLT missing descriptors - need working NHLT dump

System:

  • Dell XPS 17 9710 (replacement motherboard)
  • Fedora 44, kernel 6.19.14-300.fc44.x86_64
  • BIOS 1.38.0 (December 2025, current)
  • alsa-sof-firmware 2025.12.2

Problem:
Internal speakers and headphone jack show as “Dummy Output”. Bluetooth audio works fine.

Root cause identified:
After extensive debugging, the replacement motherboard’s BIOS NHLT (Non-HDA Link Table) ACPI table is missing SoundWire endpoint descriptors. The NHLT only contains 2 endpoints (Bluetooth SSP only) with no Realtek SoundWire vendor IDs. All four SoundWire codecs enumerate on the bus but never attach.

Evidence:

# NHLT has only 2 endpoints, no Realtek SoundWire vendor ID (0x025d):
sudo python3 -c "
with open('/sys/firmware/acpi/tables/NHLT', 'rb') as f:
    data = f.read()
ep_count = data[36]
print(f'NHLT endpoint count: {ep_count}')
rt_positions = [i for i in range(len(data)-1) if data[i]==0x5d and data[i+1]==0x02]
print(f'Realtek SDW vendor ID (5d 02) at positions: {rt_positions}')
print(f'Total NHLT size: {len(data)} bytes')
"
# Output:
# NHLT endpoint count: 2
# Realtek SDW vendor ID (5d 02) at positions: []
# Total NHLT size: 753 bytes

# SOF driver confirms no SoundWire in NHLT:
# "DMICs detected in NHLT tables: 0"
# "BT link detected in NHLT tables: 0x4"  (Bluetooth only)

# Codecs enumerate but never attach:
cat /sys/bus/soundwire/devices/sdw:0:0:025d:0711:00/status
# UNATTACHED

# All four codecs present but unattached:
ls /sys/bus/soundwire/devices/
# sdw:0:0:025d:0711:00  (rt711 - headset)
# sdw:0:1:025d:1308:00  (rt1308 - speaker L)
# sdw:0:2:025d:1308:00  (rt1308 - speaker R)
# sdw:0:3:025d:0715:00  (rt715 - mic)

# dmesg on every playback attempt:
# soundwire_intel.link.0: Bus clash for control word
# soundwire_intel.link.0: IO transfer timed out
# rt711: DPN_PortCtrl register write failed for port 3
# soundwire sdw-master-0-0: Program transport params failed: -110

What has been tried (all ineffective):

  • alsa-sof-firmware — already current
  • BIOS version — already current (1.38.0)
  • PipeWire/WirePlumber restart and state reset
  • soundwire_intel sdw_mclk_divider=2 and =4
  • SOF IPC3 → IPC4 switch (options snd_sof ipc_type=1) — IPC4 loads correctly but physical bus still fails
  • snd_sof_intel_hda_common sof_use_tplg_nhlt=0
  • Attempted BIOS reflash via USB — BIOS flasher did not detect USB drive, likely blocking same-version reflash (1.38.0 → 1.38.0)

Proposed solution:
Override the broken NHLT via initrd using the kernel’s ACPI_TABLE_UPGRADE facility. This requires a working NHLT binary from an original (non-replacement) XPS 9710 board.

Request:
If you have a Dell XPS 17 9710 with working audio, please run this and share the output file:

sudo cat /sys/firmware/acpi/tables/NHLT > nhlt_9710_working.bin

Alternatively, does anyone have experience constructing a correct SoundWire NHLT table manually for TGL-H with rt711/rt1308/rt715, or know of another way to force the BIOS to regenerate the correct NHLT on a replacement board without Windows?

Update:
Narrowed this down further — 3 of 4 SoundWire links (rt1308 x2, rt715) attach and work correctly; only Link 0 (rt711) fails at the hardware level, with identical ACPI/DSDT configuration across all links. This points to a physical hardware fault on this specific replacement board rather than a firmware/BIOS issue. Pursuing a replacement with the seller. Leaving this up in case it helps anyone else diagnosing a similar “partial SoundWire failure” pattern.