USB-Audio: ASUS ROG Zenith II S/PDIF output mapped to wrong PCM device
A message that is not in the archive (sent off-list or not yet received): [email protected]
alsa-project/alsa-lib issue #532 was opened from byrcolin:
## Summary
On the ASUS ROG Zenith II Extreme (TRX40), the iec958: PCM for the onboard USB codec "Zenith II Main Audio" (0b05:1916, Realtek ALC1220-VB) opens PCM device 0. On this board device 0 is the 8-channel analog output; the optical S/PDIF output is PCM device 1. As a result, the "Digital Stereo (IEC958)" output in PipeWire/PulseAudio plays to the analog jacks and the S/PDIF port is silent.
The second onboard codec, "Zenith II Front Headphone" (0b05:1915), has a single analog playback device and no digital output, but iec958: still opens it, so PipeWire/PulseAudio list a digital output for it that does not work.
Neither card is listed in USB-Audio.pcm.iec958_device in src/conf/cards/USB-Audio.conf, so both fall back to device 0.
## Hardware
``` $ cat /proc/asound/cards 0 [Audio ]: USB-Audio - Zenith II Main Audio 4 [Headphone ]: USB-Audio - Zenith II Front Headphone $ aplay -l (card 0 and 4 only) card 0: Audio [Zenith II Main Audio], device 0: USB Audio [USB Audio] card 0: Audio [Zenith II Main Audio], device 1: USB Audio [USB Audio #1] card 0: Audio [Zenith II Main Audio], device 3: USB Audio [USB Audio #3] card 4: Headphone [Zenith II Front Headphone], device 0: USB Audio [USB Audio] ```
/proc/asound/card0/stream0 (device 0): interface 4, 2/4/6/8 channels, 8-channel map FL FR FC LFE RL RR FLC FRC (analog). /proc/asound/card0/stream1 (device 1): interface 5, 2 channels, 44.1–192 kHz (S/PDIF).
## Expected
iec958:CARD=Audio opens hw:0,1, and the front headphone codec does not expose an IEC958 output.
## Fix
Add the two cards to the iec958_device table:
``` "Zenith II Main Audio" 1 "Zenith II Front Headphone" 999 ```
With this mapping (applied locally via ~/.asoundrc), aplay -D iec958:CARD=Audio -v reports Hardware PCM card 0 'Zenith II Main Audio' device 1, PipeWire's IEC958 sink plays over optical S/PDIF, and the front headphone codec shows up as analog stereo only.
Tested on AlmaLinux 10.2, alsa-lib 1.2.15.3, PipeWire 1.4.11, WirePlumber 0.5.10.
---
This issue and the accompanying pull request were created by Claude (Anthropic's Claude Opus 5.5, high effort) via Claude Code. The fix was tested as working on the affected hardware by Colin Byrne.
Issue URL : https://github.com/alsa-project/alsa-lib/issues/532
Repository URL: https://github.com/alsa-project/alsa-lib