From: GitHub pull_request - opened <github@alsa-project.org>
To: alsa-devel@alsa-project.org
Subject: USB-Audio: fix channel count for SSL 2+ Mk II
Date: Sat, 12 Sep 2026 21:43:08 +0200 (CEST) [thread overview]
Message-ID: <18d4aa49d6dfb700-webhooks-bot@alsa-project.org> (raw)
In-Reply-To: <alsa-project/alsa-ucm-conf/pr/854@alsa-project.org>
alsa-project/alsa-ucm-conf pull request #854 was opened from zachberger:
The "SSL 2+ Mk II" reports the same USB product ID (31e9:0009) as the plain "SSL 2 Mk II", so the existing detection based on CardComponents and bcdDevice cannot tell them apart. It has more physical I/O though: 6 playback channels and 8 capture channels, vs 4/4 for the plain model.
With the previous profile (DirectPlaybackChannels=4, DirectCaptureChannels=4), WirePlumber rejects the whole card:
spa.alsa: Error in ALSA UCM profile for _ucm0003.hw:II,0 (HiFi: Line2: sink): PlaybackChannels=4 < avail 6
spa.alsa: Error in ALSA UCM profile for _ucm0003.hw:II,0 (HiFi: Mic2: source): CaptureChannels=4 < avail 8
spa.alsa: Errors in ALSA UCM profile for card SSL 2+ Mk II
...and it shows up as "SSL 2+ Mk II [ALSA UCM error]" in wpctl/sound pickers built on PipeWire.
Disambiguate using the USB product string (which does carry the "+"), read via sys-card the same way bcdDevice already is, and set the correct channel counts for the confirmed "SSL 2+ Mk II" case.
The If.chn4 gate in SSL2-HiFi.conf that builds the split Line1/Line2 output devices only matched DirectPlaybackChannels == "4" exactly. Broaden it to match "4" or "6" so the "+" Mk II also gets routed through the existing channel-splitting macros (which already use the variable dynamically and needed no other change).
Tested against real "SSL 2+ Mk II" hardware (USB ID 31e9:0009, bcdDevice 0116, 6 playback / 8 capture channels per USB descriptors). Before: card flagged with [ALSA UCM error], no usable output. After: clean profile, Line1/Line2 both work as separate stereo outputs, Mic1/Mic2 both work as separate mono inputs.
Not extended to the non-Mk-II "SSL 2+" since that hardware wasn't available to verify its channel counts also come out to 6/8.
[alsa-info-ssl2plus.txt](https://github.com/user-attachments/files/32149222/alsa-info-ssl2plus.txt)
Request URL : https://github.com/alsa-project/alsa-ucm-conf/pull/854
Patch URL : https://github.com/alsa-project/alsa-ucm-conf/pull/854.patch
Repository URL: https://github.com/alsa-project/alsa-ucm-conf
parent reply other threads:[~2026-09-12 19:43 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <alsa-project/alsa-ucm-conf/pr/854@alsa-project.org>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=18d4aa49d6dfb700-webhooks-bot@alsa-project.org \
--to=github@alsa-project.org \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.