Repository navigation
Internal speakers non-functional: no SoundWire machine driver for HP OmniBook Ultra 14 (board 8EB4), 4x TAS2783 never attach #5877
Description
Internal speakers non-functional: no SoundWire machine driver for HP OmniBook Ultra 14 (board 8EB4), 4x TAS2783 never attach
Summary
On an HP OmniBook Ultra Laptop 14-kd0xxx (Panther Lake, Core Ultra X9 388H, board ID 8EB4), the four TAS2783 SoundWire speaker amplifiers never attach to the bus. The SOF driver reports no machine driver for the ACPI-reported configuration and falls back to the generic SoundWire machine driver with function topologies. Because the amps never enumerate, no amp function is discovered, no amp topology is loaded, and the resulting card has no speaker playback path at all.
The RT712 SDCA on link 3 attaches normally. The problem is confined to the TAS2783 amps on links 1 and 2.
Net user-visible effect: no internal speaker output. The card exposes only Headphones, HDMI1-3, and Mic ports.
Hardware
System: HP OmniBook Ultra Laptop 14-kd0xxx
Board ID: 8EB4
CPU: Intel Core Ultra X9 388H (Panther Lake)
Audio controller: 00:1f.3 Intel Core Ultra Series 3 HD Audio [8086:e428] rev 01
Subsystem: [103c:8eb4]
Driver: sof-audio-pci-intel-ptl
Speaker amps: 4x TI TAS2783, SoundWire links 1 and 2 (2 per link)
Headset codec: Realtek RT712 SDCA, SoundWire link 3
BIOS: HP F.02, 2026-01-04 (latest published; fwupdmgr reports no update)
Software
Distro: CachyOS (Arch-based)
Kernel: 7.1.8-1-cachyos
sof-firmware: 2025.12.2
linux-firmware: 20260622
alsa-ucm-conf: 1.2.16.1
alsa-lib: 1.2.16.1
PipeWire: 1.6.8
WirePlumber: 0.5.15
SOF DSP firmware booted: ADSPFW 2.14.1.1
Expected behavior
Internal speakers produce audio; the card exposes a Speaker port.
Actual behavior
No speaker port exists. With nothing plugged into the headphone jack and no HDMI sink connected, every port in the HiFi profile is unavailable, so the profile itself is unavailable, the card falls back to off, and the only PipeWire sink is auto_null (Dummy Output).
Card: alsa_card.pci-0000_00_1f.3-platform-sof_sdw
Active Profile: off
Profiles:
off: Off (sinks: 0, sources: 0, available: yes)
HiFi: Play HiFi quality Music (sinks: 4, sources: 2, available: no)
pro-audio: Pro Audio (sinks: 5, sources: 2, available: yes)
Ports:
[Out] Headphones (not available)
[Out] HDMI1 (not available)
[Out] HDMI2 (not available)
[Out] HDMI3 (not available)
[In] Mic
Note the complete absence of a Speaker port.
Evidence
1. No machine driver matches; generic fallback is used
sof-audio-pci-intel-ptl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
sof-audio-pci-intel-ptl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
sof-audio-pci-intel-ptl 0000:00:1f.3: use msi interrupt mode
sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
sof-audio-pci-intel-ptl 0000:00:1f.3: link 1 mfg_id 0x0102 part_id 0x0000 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: link 1 mfg_id 0x0102 part_id 0x0000 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x0102 part_id 0x0000 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x0102 part_id 0x0000 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: link 3 mfg_id 0x025d part_id 0x0712 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: Use SoundWire default machine driver with function topologies
The ACPI description itself looks correct: mfg_id 0x0102 is TI, two amps each on links 1 and 2, and mfg_id 0x025d part_id 0x0712 is the RT712 on link 3.
2. Only three topologies load, none for the amps
sof-audio-pci-intel-ptl 0000:00:1f.3: Using function topologies instead intel/sof-ipc4-tplg/sof-ptl-dummy.tplg
sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 0: intel/sof-ipc4-tplg/sof-sdca-jack-id0.tplg
sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 1: intel/sof-ipc4-tplg/sof-sdca-mic-id4.tplg
sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 2: intel/sof-ipc4-tplg/sof-hdmi-pcm5-id5.tplg
sof-audio-pci-intel-ptl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
sof_sdw sof_sdw: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
sof-sdca-1amp-id2.tplg through sof-sdca-4amp-id2.tplg are all present in /lib/firmware/intel/sof-ipc4-tplg/ but none is selected, since no amp function is ever enumerated.
3. All four amps remain UNATTACHED
$ for d in /sys/bus/soundwire/devices/sdw:0:*; do
echo "$(basename $d) $(cat $d/status)"
done
sdw:0:1:0102:0000:01:a UNATTACHED
sdw:0:1:0102:0000:01:d UNATTACHED
sdw:0:2:0102:0000:01:9 UNATTACHED
sdw:0:2:0102:0000:01:c UNATTACHED
sdw:0:3:025d:0712:01 Attached
4. Bus-level failures on the amp links
soundwire_intel soundwire_intel.link.1: Bus clash for control word (repeats)
soundwire_intel soundwire_intel.link.1: Msg NACK received, cmd 3
soundwire_intel soundwire_intel.link.1: Msg NACKed for Slave 1
soundwire sdw-master-0-1: trf on Slave 1 failed:-5 write addr 8800 count 0
slave-tas2783 sdw:0:1:0102:0000:01:d: init writes failed, err=-5
slave-tas2783 sdw:0:1:0102:0000:01:d: Update Slave status failed:-5
slave-tas2783 sdw:0:1:0102:0000:01:d: PARITY error detected before INT mask is enabled
slave-tas2783 sdw:0:1:0102:0000:01:d: FW download failed: -5
slave-tas2783 sdw:0:1:0102:0000:01:d: FW download failed: -61
slave-tas2783 sdw:0:1:0102:0000:01:d: fw with no files
soundwire_intel soundwire_intel.link.1: Program SCP Ack not received
soundwire_intel soundwire_intel.link.1: SCP_addrpage NACKed for Slave 1
soundwire sdw-master-0-1: sdw_show_ping_status: no peripherals attached
slave-tas2783 sdw:0:1:0102:0000:01:a: resume: initialization timed out
slave-tas2783 sdw:0:1:0102:0000:01:a: intel_resume_child_device: pm_runtime_resume failed: -110
soundwire_intel soundwire_intel.link.1: intel_pm_prepare: intel_resume_child_device failed: -110
soundwire sdw-master-0-1: ClockStopNow Broadcast msg failed -5
soundwire_intel soundwire_intel.link.1: Clock stop failed -110
soundwire_intel soundwire_intel.link.1: intel_stop_bus: cannot stop clock: -110
The same pattern appears on link.2.
5. The amp firmware blobs for this exact board are present
This is not a missing-firmware case. /lib/firmware/ti/audio/tas2783/ contains blobs matching board 8EB4 and the exact link plus unique-ID of every enumerated device:
8EB4-1-0xA.bin.zst <-> sdw:0:1:0102:0000:01:a
8EB4-1-0xD.bin.zst <-> sdw:0:1:0102:0000:01:d
8EB4-2-0x9.bin.zst <-> sdw:0:2:0102:0000:01:9
8EB4-2-0xC.bin.zst <-> sdw:0:2:0102:0000:01:c
All four are readable and correctly named. The blobs are not being successfully transferred because the underlying bus transactions fail, not because they cannot be found.
Analysis
The two observed symptoms are not independent. The generic SDCA path loads topologies per discovered function. Since the TAS2783 peripherals never attach, their SDCA functions are never enumerated, so no amp topology is selected and no speaker path is built. The bus attach failure appears to be the root cause and the missing speaker topology a downstream consequence.
The Bus clash for control word plus PARITY error combination suggests the generic fallback driver is not configuring these links the way this board requires, rather than the peripherals being absent or defective.
Ruled out
- BIOS. F.02 is the latest published for this model;
fwupdmgr get-updatesreports no update for either System Firmware or the Internal SPI Controller. The ACPI description it provides is correct: right manufacturer IDs, right link assignments, and unique device IDs that match the shipped firmware blob names exactly. - Missing firmware. Correct per-board TAS2783 blobs are present, as shown above.
- Stale packages. Kernel 7.1.8 and sof-firmware 2025.12.2 are the newest available in the distro repos.
- Live re-probe. Unbinding and rebinding
0000:00:1f.3fromsof-audio-pci-intel-ptl, then waiting for re-enumeration, reproduces the identical failure. All four amps remain UNATTACHED and only the same three topologies load.
Not yet tested: a full cold boot (power off rather than warm reboot, to power-cycle the amps). Happy to test this and report back if it would be useful.
Request
A machine driver quirk / snd_soc_acpi_mach entry for board 8EB4 (HP OmniBook Ultra 14-kd0xxx) covering the 4x TAS2783 on links 1 and 2 plus RT712 on link 3, or guidance on what additional debug output would be useful.
Happy to test patches, enable dyndbg on the SoundWire and SOF modules, or collect anything else needed. This is a daily-driver machine and I can rebuild kernels on it.
Activity
kasemeyer commentedon Aug 29, 2026
Same board here (8EB4, HP OmniBook Ultra 14-kd0xxx, also CachyOS), on kernel 7.2.2 and
linux-firmware 20260810.Answering the item you left open: a full cold boot does not help. Powered fully off ~1 minute, cold start — same three topologies, same
cfg-amp:0, no Speaker port.It does change the bus behaviour. Two of the four amps reach
Attachedrather than all four stayingUNATTACHED, and most of the cascade in your section 4 disappears —PARITY error,init writes failed,FW download failed: -61andtrf ... write addr 8800all go to zero, whileBus clash,ClockStopNow,Clock stop failed -110andresume: initialization timed outnever appear on 7.2.2 on any boot. Speakers are equally dead throughout, so those look like artifacts on top of the real defect rather than the defect itself. What survives everywhere isAssign dev_num failed:-61.kasemeyer commentedon Aug 29, 2026
Root cause found, fix tested, patches attached. Follow-up to my comment above.
Two independent problems on 8EB4:
SDCA function type. The four TAS2783 nodes (SSDT35,
_ADR 0x0002390102000001etc.) declare control 0x05 (Function Topology) withmipi-sdca-control-access-mode = 3and nomipi-sdca-control-dc-value, sofind_sdca_function()bails withfunction type only supported as DisCo constantand no SmartAmp function is ever created. This is the same firmware defect as HP Elitebook X (Panther Lake) - no sound. #5760, where the conclusion was a BIOS fix. The newest BIOS for 8EB4 (F.06, 2026-06-25) still has it. @niranjanhyti — is a BIOS with a DC value for control 0x05 planned for 8EB4 (and the other 8Exx TAS2783 boards: 8EA6 in this thread, 8EA5 in Ubuntu bug 2143870)? Until then I have a minimal fallback (TAS2783 → SmartAmp) as patch 1.ACTMCTL DOAIS/DOAISE2. This is why the amps drop off the bus even once the function exists. The static DSDT declares
intel-sdw-doais = 1,intel-sdw-doaise2 = 1on every link, butSNDW._INIrunsDCFG(LNKn, DAIn, DAEn, DAXn, …)and overwrites them from NVS; the driver actually readsdoais = 3,doaise2 = 0. With that timing one amp per link survives enumeration and the rest drop UNATTACHED ~100–250 ms after attaching (theAssign dev_num failed: -61I reported earlier is downstream of that). Bisecting the ACTMCTL fields live: DOAIS=1 + DOAISE2=1 is necessary and sufficient; DODS/CLDS/CLDE don't matter; DOAISE2 gates DOAIS. Patch 2 is a DMI-keyed override inintel_auxdevice.cfor links 1 and 2 onHP/8EB4.Result on 7.2.2 with stock
soundwire-busand stocksnd-soc-tas2783-sdw, only these two patches: all four amps attach and stay attached, firmware loads first try, PARITY 0 at boot and after streaming,hw:0,2Speaker PCM, and each of the four speakers plays when driven alone. Bus enumerates at the ACPI-default 9.6 MHz; no clock change needed.Patches (also as a PR against
topic/sof-dev: ): https://github.com/kaseyprichard/hp-omnibook-tas2783-sdw/tree/main/upstream — ACPI dumps and the Windows-side comparison are in the same repo.Open questions for the maintainers:
intel_auxdevice.cthe right home for an ACTMCTL override, or would you rather see it indmi-quirks.cor as a machine-driver quirk?Also for UCM: the 7.2.2 machine driver names the amp mute controls
Left Spk Switch/Right Spk Switch/Left Spk2 Switch/Right Spk2 Switch; the alsa-ucm-conftas2783profile withcset "name='Left Spk' …"fails to load the HiFi verb. Happy to send that to alsa-ucm-conf separately.niranjanhyti commentedon Aug 31, 2026
Adding +@jimxbj-dot to this thread who is currently supporting tas2783A - Also I have passed on this message to the field for the BIOS update.