[HELP] ASUS ROG Strix G16 (2025) — No speaker audio, TAS2781 firmware not loading (SSID 1043:3f20)
System Info
| Device | ASUS ROG Strix G16 (2025) |
| OS | CachyOS |
| Kernel | 7.0.2-2-cachyos |
| Audio engine | Intel 800 Series ACE (Audio Context Engine) |
| Codec | Realtek ALC285 |
| Amplifier | Texas Instruments TAS2781 (TXNW2781) |
| PCI SSID | 1043:3f20 |
| Audio server | PipeWire 1.6.4 + WirePlumber |
Problem
Audio works on the Live ISO but no sound from internal speakers or headphone jack after installation. PipeWire detects the device correctly, volume is not muted, but no audio output.
This seems related to Issue #752 (ASUS ROG Strix G615LR, same SSID), but that issue was closed without a confirmed fix.
What I’ve Tried
1. Confirmed the sink exists but stays SUSPENDED
pactl list sinks short
→ alsa_output.pci-0000_80_1f.3.analog-stereo PipeWire s32le 2ch 48000Hz SUSPENDED
2. No UCM profile for Intel ACE / ASUS ROG
find /usr/share/alsa/ucm2/ -name "*ACE*" -o -name "*ROG*"
→ (no results)
Installed alsa-ucm-conf-git — still no matching profile for SSID 1043:3f20.
3. Root cause found — TAS2781 I2C registration failing
dmesg:
i2c i2c-0: Failed to register i2c client tas2781-hda at 0x39 (-16)
Serial bus multi instantiate TXNW2781:00: error -EBUSY: Error creating i2c-client
The snd_hda_scodec_tas2781_spi driver was locking I2C address 0x39, preventing the I2C driver from binding.
Fix: Blacklisted the SPI driver:
# /etc/modprobe.d/tas2781-fix.conf
blacklist snd_hda_scodec_tas2781_spi
blacklist snd_soc_tas2781_i2c
After reboot, the amplifier now instantiates correctly:
TXNW2781:00: Instantiated 3 I2C devices. ✅
/sys/bus/i2c/devices/i2c-TXNW2781:00-tas2781-hda.0 ✅
/sys/bus/i2c/devices/i2c-TXNW2781:00-tas2781-hda.1 ✅
/sys/bus/i2c/devices/i2c-TXNW2781:00-tas2781-hda.2 ✅
4. Still no audio — firmware not loading
Even with the I2C fix, the driver logs:
tas2781-hda i2c-TXNW2781:00-tas2781-hda.0: tasdevice_prmg_load: Firmware is NULL
I extracted the driver binary to check the firmware naming pattern:
zstd -d snd-hda-scodec-tas2781-i2c.ko.zst -o /tmp/tas2781-hda.ko
strings /tmp/tas2781-hda.ko | grep -iE '\.bin|TAS2XXX'
→ TAS2XXX%04X%d.bin (e.g. TAS2XXX3F200.bin, TAS2XXX3F201.bin ...)
→ TAS2XXX%04X.bin (e.g. TAS2XXX3F20.bin)
From snd-soc-tas2781-comlib-i2c.ko.zst:
→ %s-%sRCA%d.bin
→ %sRCA%d.bin (e.g. TXNW2781RCA0.bin)
Firmware files exist at /lib/firmware/ti/audio/tas2781/:
TXNW2781RCA0.bin.zst
TXNW2781RCA1.bin.zst → TXNW2781RCA0.bin.zst (symlink)
I tried copying/decompressing these to various paths (/lib/firmware/, /lib/firmware/TAS2XXX3F20*.bin, etc.) but the error persists.
5. Suspicious DSDT mismatch
strings /sys/firmware/acpi/tables/DSDT | grep TXNW
→ TXNW3643
The DSDT references TXNW3643 but the driver bound is TXNW2781. Not sure if this is relevant.
6. ALC285 pin status (via hda-verb)
Node 0x17 Speaker: Amp-Out vals [0x00 0x00] ← muted by default
Node 0x21 Headphone: Amp-Out vals [0x80 0x80] ← muted by default
Manually unmuting via hda-verb doesn’t produce audio — the amplifier is the bottleneck.
Current State
-
TAS2781 I2C devices bind successfully

-
runtime_statusisactivewhen forced on
-
Firmware loads as
NULL— amplifier never initializes
-
No UCM profile for this hardware

-
Speaker and headphone output silent

Questions
-
Is there a known working kernel patch or quirk for SSID
1043:3f20+ TAS2781 that I’m missing? -
Which firmware file path does
snd-hda-scodec-tas2781-i2cactually look for at runtime? The naming pattern in the binary suggestsTAS2XXX3F20*.binorTXNW2781RCA*.binbut neither seems to be found. -
Is the
TXNW3643vsTXNW2781DSDT mismatch significant? -
Would switching to the
linux-cachyos-ltskernel (6.18.x) make a difference, or is this purely a firmware/UCM issue?
Any help appreciated. Happy to provide more dmesg output or run additional diagnostics.