From: GitHub pull_request - opened <github@alsa-project.org>
To: alsa-devel@alsa-project.org
Subject: ucm2: Focusrite Scarlett 18i20 Gen 1 — fix USB ID
Date: Tue, 7 Apr 2026 08:49:26 +0200 (CEST) [thread overview]
Message-ID: <18a4005f7a54c000-webhooks-bot@alsa-project.org> (raw)
In-Reply-To: <alsa-project/alsa-ucm-conf/pr/739@alsa-project.org>
alsa-project/alsa-ucm-conf pull request #739 was opened from geomtn:
## Summary
The device matching regex for the Focusrite Scarlett 18i20 series in `USB-Audio.conf` uses an uppercase `C` in the Gen 1 product ID (`800C`), but kernel reports USB component IDs in lowercase (`800c`). The regex is case-sensitive, so the Gen 1 device never matches and the UCM profile fails to load entirely.
This is the remaining piece of the Gen 1 UCM breakage reported in #588 — the ADAT channel count issue was addressed by #731 (commit 17b48b1), but the device never reaches the profile at all due to this earlier match failure.
*Note, Claude-Code was heavily depended on for the troubleshooting, local bug fix, and testing.*
---
## Details
In `ucm2/USB-Audio/USB-Audio.conf`, the Scarlett 18i20 matching block uses:
```
Regex "USB1235:8(00C|2(01|1(5|d)))"
```
The kernel reports the Gen 1 component string as `USB1235:800c` (lowercase). Because the regex is case-sensitive and only matches `800C`, the `ProfileName` variable is never set and the loader hits the fallback error:
```
True.Error "UCM is not supported for this USB device (${CardLongName} @ ${CardComponents})"
```
This causes WirePlumber to report the device as `[ALSA UCM error]` and refuse to load any profile for it.
The other IDs in the same regex — `8201`, `8215`, `821d` — are already lowercase and match correctly. Only the Gen 1 `800C` is inconsistent.
---
## Fix
```diff
--- a/ucm2/USB-Audio/USB-Audio.conf
+++ b/ucm2/USB-Audio/USB-Audio.conf
@@ -1 +1 @@
- Regex "USB1235:8(00C|2(01|1(5|d)))"
+ Regex "USB1235:8(00c|2(01|1(5|d)))"
```
Same single-character change applies to `ucm2/conf.d/USB-Audio/USB-Audio.conf`.
---
## Testing
Tested on Focusrite Scarlett 18i20 Gen 1 (`USB1235:800c`) with:
- Kernel: 6.19.10-zen1-1-zen (Arch Linux)
- PipeWire / WirePlumber
- `alsa-ucm-conf` 1.2.15.3
With both this fix and the ADAT channel count fix from #731 applied, the device loads without UCM errors and all output ports enumerate correctly.
Without this fix, the ADAT channel count fix in #731 has no effect for Gen 1 users — the profile match fails before the HiFi configuration is ever reached.
---
## Related
- Fixes #588 — Focusrite Scarlett 18i20 Gen 1: UCM configuration fails to load
- Related to #559 — ALSA UCM error for Scarlett 18i20 Gen 2 (ADAT channel count addressed by #731)
Request URL : https://github.com/alsa-project/alsa-ucm-conf/pull/739
Patch URL : https://github.com/alsa-project/alsa-ucm-conf/pull/739.patch
Repository URL: https://github.com/alsa-project/alsa-ucm-conf
parent reply other threads:[~2026-04-07 6:50 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <alsa-project/alsa-ucm-conf/pr/739@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=18a4005f7a54c000-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.