Skip to content

conf: USB-Audio: use PCM device 1 for IEC958 on C-Media HIFI Decode Audio - #534

Open
bpkroth wants to merge 1 commit into
alsa-project:masterfrom
bpkroth:usb-audio-cmedia-hifi-decode-iec958
Open

bpkroth wants to merge 1 commit into
alsa-project:masterfrom
bpkroth:usb-audio-cmedia-hifi-decode-iec958

Conversation

@bpkroth

@bpkroth bpkroth commented Oct 16, 2026

Copy link
Copy Markdown

The C-Media "HIFI Decode Audio" USB device (0d8c:0089) puts its optical S/PDIF output on PCM device 1, but USB-Audio.conf maps iec958 to device 0 unless the card is listed in USB-Audio.pcm.iec958_device.
As a result, the "Digital Stereo (IEC958)" output in PipeWire/PulseAudio plays through the analog jack and the optical output stays silent.

/proc/asound/cardN/stream* on this device:

  • stream0 (interface 1, PCM device 0): S16/S24/S32 plus DSD, 44.1 to 768 kHz. This is the analog DAC.
  • stream1 (interface 2, PCM device 1): S16/S24, 44.1 to 192 kHz. This is the optical S/PDIF output.
  • stream2 (interface 2, altset 3, PCM device 2): the non-PCM alternate setting of the same S/PDIF endpoint.

Tested on Ubuntu 26.04 (alsa-lib 1.2.15.3, PipeWire 1.6.2, kernel 7.0).
speaker-test -D plughw:CARD=Audio,DEV=1 plays through the optical output.
With the same entry in ~/.asoundrc, the PipeWire IEC958 sink plays through optical too.

🤖 Generated with Claude Code

…udio

The C-Media "HIFI Decode Audio" USB device (0d8c:0089) exposes its
analog DAC on PCM device 0 (USB interface 1, up to 768 kHz and DSD)
and its optical S/PDIF output on PCM device 1 (USB interface 2, up to
192 kHz). Device 2 is the non-PCM alternate setting of the same
S/PDIF endpoint.

Without an entry here, iec958:CARD=... resolves to device 0, so the
"Digital Stereo (IEC958)" output in PipeWire/PulseAudio plays through
the analog jack and the optical output stays silent.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Brian Kroth <bpkroth@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant