Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Closed this issue · 46 comments
I'm trying to run this mixer in Arch but without success.
4.14.15-1-ARCH #1 SMP PREEMPT Tue Jan 23 21:49:25 UTC 2018 x86_64 GNU/Linux
$ ./scarlett-mixer hw:2
scarlett-mixer: ./src/scarlett_mixer.c:492: get_enum: Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Aborted (core dumped)
I think I have all the libraries needed. Libpango and libcairo is named pango and cairo in Arch.
Any idea what could cause this?
What soundcard is that? Could run scarlett-mixer -p
and paste the output here?
That assertion is due to a mismatched control-layout. Some GUI knob expects to control an enumerated value on the soundcard that is not present. So far not all scarlet devices are supported, in particular the 6i6 is mostly guesswork and hasn't been tested, yet.
Scarlett 18i8 1st gen.
$ ./scarlett-mixer -p
Device Scarlett 18i8 USB' has 205 contols:
0 Master, PBS
1 Master 1 (Monitor), PBS
2 Master 1L (Monitor) Source, ENUM
3 Master 1R (Monitor) Source, ENUM
4 Master 2 (Headphone 1), PBS
5 Master 2L (Headphone 1) Source Playback Enu, ENUM
6 Master 2R (Headphone 1) Source Playback Enu, ENUM
7 Master 3 (Headphone 2), PBS
8 Master 3L (Headphone 2) Source Playback Enu, ENUM
9 Master 3R (Headphone 2) Source Playback Enu, ENUM
10 Master 4 (SPDIF), PBS
11 Master 4L (SPDIF) Source, ENUM
12 Master 4R (SPDIF) Source, ENUM
13 ADAT Validity, PBS
14 Input 1 Impedance, ENUM
15 Input 1 Pad, ENUM
16 Input 2 Impedance, ENUM
17 Input 2 Pad, ENUM
18 Input 3 Pad, ENUM
19 Input 4 Pad, ENUM
20 Input Source 01, ENUM
21 Input Source 02, ENUM
22 Input Source 03, ENUM
23 Input Source 04, ENUM
24 Input Source 05, ENUM
25 Input Source 06, ENUM
26 Input Source 07, ENUM
27 Input Source 08, ENUM
28 Input Source 09, ENUM
29 Input Source 10, ENUM
30 Input Source 11, ENUM
31 Input Source 12, ENUM
32 Input Source 13, ENUM
33 Input Source 14, ENUM
34 Input Source 15, ENUM
35 Input Source 16, ENUM
36 Input Source 17, ENUM
37 Input Source 18, ENUM
38 Internal Validity, PBS
39 Matrix 01 Input, ENUM
40 Matrix 01 Mix A
41 Matrix 01 Mix B
42 Matrix 01 Mix C
43 Matrix 01 Mix D
44 Matrix 01 Mix E
45 Matrix 01 Mix F
46 Matrix 01 Mix G
47 Matrix 01 Mix H
48 Matrix 02 Input, ENUM
49 Matrix 02 Mix A
50 Matrix 02 Mix B
51 Matrix 02 Mix C
52 Matrix 02 Mix D
53 Matrix 02 Mix E
54 Matrix 02 Mix F
55 Matrix 02 Mix G
56 Matrix 02 Mix H
57 Matrix 03 Input, ENUM
58 Matrix 03 Mix A
59 Matrix 03 Mix B
60 Matrix 03 Mix C
61 Matrix 03 Mix D
62 Matrix 03 Mix E
63 Matrix 03 Mix F
64 Matrix 03 Mix G
65 Matrix 03 Mix H
66 Matrix 04 Input, ENUM
67 Matrix 04 Mix A
68 Matrix 04 Mix B
69 Matrix 04 Mix C
70 Matrix 04 Mix D
71 Matrix 04 Mix E
72 Matrix 04 Mix F
73 Matrix 04 Mix G
74 Matrix 04 Mix H
75 Matrix 05 Input, ENUM
76 Matrix 05 Mix A
77 Matrix 05 Mix B
78 Matrix 05 Mix C
79 Matrix 05 Mix D
80 Matrix 05 Mix E
81 Matrix 05 Mix F
82 Matrix 05 Mix G
83 Matrix 05 Mix H
84 Matrix 06 Input, ENUM
85 Matrix 06 Mix A
86 Matrix 06 Mix B
87 Matrix 06 Mix C
88 Matrix 06 Mix D
89 Matrix 06 Mix E
90 Matrix 06 Mix F
91 Matrix 06 Mix G
92 Matrix 06 Mix H
93 Matrix 07 Input, ENUM
94 Matrix 07 Mix A
95 Matrix 07 Mix B
96 Matrix 07 Mix C
97 Matrix 07 Mix D
98 Matrix 07 Mix E
99 Matrix 07 Mix F
100 Matrix 07 Mix G
101 Matrix 07 Mix H
102 Matrix 08 Input, ENUM
103 Matrix 08 Mix A
104 Matrix 08 Mix B
105 Matrix 08 Mix C
106 Matrix 08 Mix D
107 Matrix 08 Mix E
108 Matrix 08 Mix F
109 Matrix 08 Mix G
110 Matrix 08 Mix H
111 Matrix 09 Input, ENUM
112 Matrix 09 Mix A
113 Matrix 09 Mix B
114 Matrix 09 Mix C
115 Matrix 09 Mix D
116 Matrix 09 Mix E
117 Matrix 09 Mix F
118 Matrix 09 Mix G
119 Matrix 09 Mix H
120 Matrix 10 Input, ENUM
121 Matrix 10 Mix A
122 Matrix 10 Mix B
123 Matrix 10 Mix C
124 Matrix 10 Mix D
125 Matrix 10 Mix E
126 Matrix 10 Mix F
127 Matrix 10 Mix G
128 Matrix 10 Mix H
129 Matrix 11 Input, ENUM
130 Matrix 11 Mix A
131 Matrix 11 Mix B
132 Matrix 11 Mix C
133 Matrix 11 Mix D
134 Matrix 11 Mix E
135 Matrix 11 Mix F
136 Matrix 11 Mix G
137 Matrix 11 Mix H
138 Matrix 12 Input, ENUM
139 Matrix 12 Mix A
140 Matrix 12 Mix B
141 Matrix 12 Mix C
142 Matrix 12 Mix D
143 Matrix 12 Mix E
144 Matrix 12 Mix F
145 Matrix 12 Mix G
146 Matrix 12 Mix H
147 Matrix 13 Input, ENUM
148 Matrix 13 Mix A
149 Matrix 13 Mix B
150 Matrix 13 Mix C
151 Matrix 13 Mix D
152 Matrix 13 Mix E
153 Matrix 13 Mix F
154 Matrix 13 Mix G
155 Matrix 13 Mix H
156 Matrix 14 Input, ENUM
157 Matrix 14 Mix A
158 Matrix 14 Mix B
159 Matrix 14 Mix C
160 Matrix 14 Mix D
161 Matrix 14 Mix E
162 Matrix 14 Mix F
163 Matrix 14 Mix G
164 Matrix 14 Mix H
165 Matrix 15 Input, ENUM
166 Matrix 15 Mix A
167 Matrix 15 Mix B
168 Matrix 15 Mix C
169 Matrix 15 Mix D
170 Matrix 15 Mix E
171 Matrix 15 Mix F
172 Matrix 15 Mix G
173 Matrix 15 Mix H
174 Matrix 16 Input, ENUM
175 Matrix 16 Mix A
176 Matrix 16 Mix B
177 Matrix 16 Mix C
178 Matrix 16 Mix D
179 Matrix 16 Mix E
180 Matrix 16 Mix F
181 Matrix 16 Mix G
182 Matrix 16 Mix H
183 Matrix 17 Input, ENUM
184 Matrix 17 Mix A
185 Matrix 17 Mix B
186 Matrix 17 Mix C
187 Matrix 17 Mix D
188 Matrix 17 Mix E
189 Matrix 17 Mix F
190 Matrix 17 Mix G
191 Matrix 17 Mix H
192 Matrix 18 Input, ENUM
193 Matrix 18 Mix A
194 Matrix 18 Mix B
195 Matrix 18 Mix C
196 Matrix 18 Mix D
197 Matrix 18 Mix E
198 Matrix 18 Mix F
199 Matrix 18 Mix G
200 Matrix 18 Mix H
201 S/PDIF Validity, PBS
202 Sample Clock Source, ENUM
203 Sample Clock Sync Status, ENUM
204 Scarlett 18i8 USB-Sync Clock Source, ENUM
scarlett-mixer: ./src/scarlett_mixer.c:492: get_enum: Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Aborted (core dumped)`
PS
Thanks a lot for your work 8)
@matze looks like that mapping is offset by one after 13 ADAT Validity, PBS
and by two after 38 Internal Validity, PBS
compared to your map (#2) for the 18i8. Does the current git-version still work on your machine? What kernel-version/driver are you running?
I've never seen any Internal Validity
playback/input-switches and I certainly did not add those to the kernel driver when I wrote it, nor can I find it in current vanilla linux (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/usb/mixer_scarlett.c) Perhaps this is something Arch specific?
I'm not yet sure how to resolve this, perhaps instead of hardcoding IDs, the proper way would be to look up some specific names for offsets.
Yes, HEAD
worked for me fine but let me check again tonight and also what versions I am running.
I'm not yet sure how to resolve this, perhaps instead of hardcoding IDs, the proper way would be to look up some specific names for offsets.
That was my initial idea when I was restructuring it but then I assumed things are fixed in a static way at the driver-level …
Still works. I run the stock Ubuntu 16.04 kernel which is currently at 4.4.0.
I get same issue with 4.13.0-32-lowlatency #35-Ubuntu SMP PREEMPT Thu Jan 25 10:36:35 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
(Ubuntu Studio 17.10).
$ cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xf4a00000 irq 26
1 [USB ]: USB-Audio - Scarlett 18i8 USB
Focusrite Scarlett 18i8 USB at usb-0000:00:1d.7-5, high speed
Scarlett is recognized as hw:1, not hw:2, so
$ ./scarlett-mixer hw:1
scarlett-mixer: ./src/scarlett_mixer.c:492: get_enum: Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Aborted (core dumped)
$ ./scarlett-mixer hw:1 -p
on 4.13.0-32-lowlatency #35-Ubuntu SMP PREEMPT
gave me same output as on 4.14.15-1-ARCH #1 SMP PREEMPT
.
Looks like ./scarlett-mixer -p searches for device only in hw:2, can't execute it.
Looks like it's not arch specific, more like some changes in newer linux kernel (I'm no dev so I can only imagine).
Reverted to 4.4.0-98-generic #121-Ubuntu SMP
, now it works.
edit:
$ ./scarlett-mixer hw:1 -p
Device `Scarlett 18i8 USB' has 202 contols:
0 Master, PBS
1 Master 1 (Monitor), PBS
2 Master 1L (Monitor) Source, ENUM
3 Master 1R (Monitor) Source, ENUM
4 Master 2 (Headphone 1), PBS
5 Master 2L (Headphone 1) Source Playback Enu, ENUM
6 Master 2R (Headphone 1) Source Playback Enu, ENUM
7 Master 3 (Headphone 2), PBS
8 Master 3L (Headphone 2) Source Playback Enu, ENUM
9 Master 3R (Headphone 2) Source Playback Enu, ENUM
10 Master 4 (SPDIF), PBS
11 Master 4L (SPDIF) Source, ENUM
12 Master 4R (SPDIF) Source, ENUM
13 Input 1 Impedance, ENUM
14 Input 1 Pad, ENUM
15 Input 2 Impedance, ENUM
16 Input 2 Pad, ENUM
17 Input 3 Pad, ENUM
18 Input 4 Pad, ENUM
19 Input Source 01, ENUM
20 Input Source 02, ENUM
21 Input Source 03, ENUM
22 Input Source 04, ENUM
23 Input Source 05, ENUM
24 Input Source 06, ENUM
25 Input Source 07, ENUM
26 Input Source 08, ENUM
27 Input Source 09, ENUM
28 Input Source 10, ENUM
29 Input Source 11, ENUM
30 Input Source 12, ENUM
31 Input Source 13, ENUM
32 Input Source 14, ENUM
33 Input Source 15, ENUM
34 Input Source 16, ENUM
35 Input Source 17, ENUM
36 Input Source 18, ENUM
37 Matrix 01 Input, ENUM
38 Matrix 01 Mix A
39 Matrix 01 Mix B
40 Matrix 01 Mix C
41 Matrix 01 Mix D
42 Matrix 01 Mix E
43 Matrix 01 Mix F
44 Matrix 01 Mix G
45 Matrix 01 Mix H
46 Matrix 02 Input, ENUM
47 Matrix 02 Mix A
48 Matrix 02 Mix B
49 Matrix 02 Mix C
50 Matrix 02 Mix D
51 Matrix 02 Mix E
52 Matrix 02 Mix F
53 Matrix 02 Mix G
54 Matrix 02 Mix H
55 Matrix 03 Input, ENUM
56 Matrix 03 Mix A
57 Matrix 03 Mix B
58 Matrix 03 Mix C
59 Matrix 03 Mix D
60 Matrix 03 Mix E
61 Matrix 03 Mix F
62 Matrix 03 Mix G
63 Matrix 03 Mix H
64 Matrix 04 Input, ENUM
65 Matrix 04 Mix A
66 Matrix 04 Mix B
67 Matrix 04 Mix C
68 Matrix 04 Mix D
69 Matrix 04 Mix E
70 Matrix 04 Mix F
71 Matrix 04 Mix G
72 Matrix 04 Mix H
73 Matrix 05 Input, ENUM
74 Matrix 05 Mix A
75 Matrix 05 Mix B
76 Matrix 05 Mix C
77 Matrix 05 Mix D
78 Matrix 05 Mix E
79 Matrix 05 Mix F
80 Matrix 05 Mix G
81 Matrix 05 Mix H
82 Matrix 06 Input, ENUM
83 Matrix 06 Mix A
84 Matrix 06 Mix B
85 Matrix 06 Mix C
86 Matrix 06 Mix D
87 Matrix 06 Mix E
88 Matrix 06 Mix F
89 Matrix 06 Mix G
90 Matrix 06 Mix H
91 Matrix 07 Input, ENUM
92 Matrix 07 Mix A
93 Matrix 07 Mix B
94 Matrix 07 Mix C
95 Matrix 07 Mix D
96 Matrix 07 Mix E
97 Matrix 07 Mix F
98 Matrix 07 Mix G
99 Matrix 07 Mix H
100 Matrix 08 Input, ENUM
101 Matrix 08 Mix A
102 Matrix 08 Mix B
103 Matrix 08 Mix C
104 Matrix 08 Mix D
105 Matrix 08 Mix E
106 Matrix 08 Mix F
107 Matrix 08 Mix G
108 Matrix 08 Mix H
109 Matrix 09 Input, ENUM
110 Matrix 09 Mix A
111 Matrix 09 Mix B
112 Matrix 09 Mix C
113 Matrix 09 Mix D
114 Matrix 09 Mix E
115 Matrix 09 Mix F
116 Matrix 09 Mix G
117 Matrix 09 Mix H
118 Matrix 10 Input, ENUM
119 Matrix 10 Mix A
120 Matrix 10 Mix B
121 Matrix 10 Mix C
122 Matrix 10 Mix D
123 Matrix 10 Mix E
124 Matrix 10 Mix F
125 Matrix 10 Mix G
126 Matrix 10 Mix H
127 Matrix 11 Input, ENUM
128 Matrix 11 Mix A
129 Matrix 11 Mix B
130 Matrix 11 Mix C
131 Matrix 11 Mix D
132 Matrix 11 Mix E
133 Matrix 11 Mix F
134 Matrix 11 Mix G
135 Matrix 11 Mix H
136 Matrix 12 Input, ENUM
137 Matrix 12 Mix A
138 Matrix 12 Mix B
139 Matrix 12 Mix C
140 Matrix 12 Mix D
141 Matrix 12 Mix E
142 Matrix 12 Mix F
143 Matrix 12 Mix G
144 Matrix 12 Mix H
145 Matrix 13 Input, ENUM
146 Matrix 13 Mix A
147 Matrix 13 Mix B
148 Matrix 13 Mix C
149 Matrix 13 Mix D
150 Matrix 13 Mix E
151 Matrix 13 Mix F
152 Matrix 13 Mix G
153 Matrix 13 Mix H
154 Matrix 14 Input, ENUM
155 Matrix 14 Mix A
156 Matrix 14 Mix B
157 Matrix 14 Mix C
158 Matrix 14 Mix D
159 Matrix 14 Mix E
160 Matrix 14 Mix F
161 Matrix 14 Mix G
162 Matrix 14 Mix H
163 Matrix 15 Input, ENUM
164 Matrix 15 Mix A
165 Matrix 15 Mix B
166 Matrix 15 Mix C
167 Matrix 15 Mix D
168 Matrix 15 Mix E
169 Matrix 15 Mix F
170 Matrix 15 Mix G
171 Matrix 15 Mix H
172 Matrix 16 Input, ENUM
173 Matrix 16 Mix A
174 Matrix 16 Mix B
175 Matrix 16 Mix C
176 Matrix 16 Mix D
177 Matrix 16 Mix E
178 Matrix 16 Mix F
179 Matrix 16 Mix G
180 Matrix 16 Mix H
181 Matrix 17 Input, ENUM
182 Matrix 17 Mix A
183 Matrix 17 Mix B
184 Matrix 17 Mix C
185 Matrix 17 Mix D
186 Matrix 17 Mix E
187 Matrix 17 Mix F
188 Matrix 17 Mix G
189 Matrix 17 Mix H
190 Matrix 18 Input, ENUM
191 Matrix 18 Mix A
192 Matrix 18 Mix B
193 Matrix 18 Mix C
194 Matrix 18 Mix D
195 Matrix 18 Mix E
196 Matrix 18 Mix F
197 Matrix 18 Mix G
198 Matrix 18 Mix H
199 Sample Clock Source, ENUM
200 Sample Clock Sync Status, ENUM
201 Scarlett 18i8 USB-Sync, ENUM
Interesting, I'm hitting the same assertion but with way fewer controls:
$ ./scarlett-mixer -p hw:1
Device `Scarlett 18i20 USB' has 4 contols:
0 ADAT Validity, PBS
1 Clock Source Clock Source, ENUM
2 Internal Validity, PBS
3 S/PDIF Validity, PBS
scarlett-mixer: simple.c:914: snd_mixer_selem_get_enum_items: Assertion `elem' failed.
Aborted
I'm running Debian Stretch, here's some kernel info:
$ uname -a
Linux ringo 4.9.0-6-rt-amd64 #1 SMP PREEMPT RT Debian 4.9.82-1+deb9u2 (2018-02-21) x86_64 GNU/Linux
[ 3.341751] usb 3-3.3: new low-speed USB device number 4 using ohci-pci
[ 3.354798] usb 1-4: New USB device found, idVendor=1235, idProduct=8201
[ 3.354800] usb 1-4: New USB device strings: Mfr=1, Product=3, SerialNumber=2
[ 3.354802] usb 1-4: Product: Scarlett 18i20 USB
[ 3.354803] usb 1-4: Manufacturer: Focusrite
[ 3.354804] usb 1-4: SerialNumber: 00011988
I tried with the 4.14 backport kernel as well, got the same result.
I can record fine on multi tracks with Audacity, but I'd like to configure the internal mixer for monitoring etc...
Any idea what I may be missing?
Hello. I 'm having the same issue with the 4.15.5 kernel.
$ uname -a
Linux roadwarrior.x 4.4.114-42-default #1 SMP Tue Feb 6 10:58:10 UTC 2018 (b6ee9ae) x86_64 x86_64 x86_64 GNU/Linux
$ ./scarlett-mixer hw:2
scarlett-mixer: ./src/scarlett_mixer.c:492: get_enum: Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Aborted (core dumped)
Booting with the default 4.4 for OpenSuse Leap 42.3 the application runs fine. I have a Scarlett 18i8 (1st Gen apparently).
@gctucker Looks like you do have a 2nd generation or some device that is not supported by the dedicated mixer-driver in Linux.
@x42 OK thanks will check the USB device IDs. Might be something I can fix ;)
Using Ardour "software" monitoring works but I have a few ms latency, would be better with hw mixer I guess.
@gctucker FYI, 2nd Gen Scarletts are not supported by ALSA in terms of their on-board mixer and direct monitoring. Unfortunately, Focusrite has changed that bit of their Scarlett hardware.
I've just found that the latest kernel the scarlett-mixer can run on is 4.6.5-1ARCH
Many kernels after this one doesn't support this app. Just in case this info may help.
Just to be clear: it's unlikely that I will address this issue. I only ever intended this project for personal use. You're on your own there. I'm sorry.
The indices are numerically hardcoded and match upstream (vanilla) Linux. Works for me with 4.14.13.
For kernels that do have those Validity
switches, you'll have to add offsets for those in static Device devices[]
... or rewrite the project to use names instead of indices.
Hi Robin,
could you please give a concrete example of what we have to change ? i'm trying to change stuff in scarlett_mixer.c for my 18i8, but can't figure what you mean by "add offsets" (as i'm not a programmer :-/)
thks
18i20 Gen 1
Ubuntu 18.04 low-latency
scarlett-mixer: ./src/scarlett_mixer.c:492: get_enum: Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Aborted (core dumped)
Linux H3U1 4.15.0-23-lowlatency #25-Ubuntu SMP PREEMPT Wed May 23 20:39:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Device `Scarlett 18i20 USB' has 219 contols:
0 Master, PBS
1 Master 1 (Monitor), PBS
2 Master 10 (ADAT 7/8), PBS
3 Master 10L (ADAT 7/8) Source, ENUM
4 Master 10R (ADAT 7/8) Source, ENUM
5 Master 1L (Monitor) Source, ENUM
6 Master 1R (Monitor) Source, ENUM
7 Master 2 (Line 3/4), PBS
8 Master 2L (Line 3/4) Source, ENUM
9 Master 2R (Line 3/4) Source, ENUM
10 Master 3 (Line 5/6), PBS
11 Master 3L (Line 5/6) Source, ENUM
12 Master 3R (Line 5/6) Source, ENUM
13 Master 4 (Line 7/8), PBS
14 Master 4L (Line 7/8) Source, ENUM
15 Master 4R (Line 7/8) Source, ENUM
16 Master 5 (Line 9/10), PBS
17 Master 5L (Line 9/10) Source, ENUM
18 Master 5R (Line 9/10) Source, ENUM
19 Master 6 (SPDIF), PBS
20 Master 6L (SPDIF) Source, ENUM
21 Master 6R (SPDIF) Source, ENUM
22 Master 7 (ADAT 1/2), PBS
23 Master 7L (ADAT 1/2) Source, ENUM
24 Master 7R (ADAT 1/2) Source, ENUM
25 Master 8 (ADAT 3/4), PBS
26 Master 8L (ADAT 3/4) Source, ENUM
27 Master 8R (ADAT 3/4) Source, ENUM
28 Master 9 (ADAT 5/6), PBS
29 Master 9L (ADAT 5/6) Source, ENUM
30 Master 9R (ADAT 5/6) Source, ENUM
31 , PBS
32 ADAT Validity, PBS
33 Input Source 01, ENUM
34 Input Source 02, ENUM
35 Input Source 03, ENUM
36 Input Source 04, ENUM
37 Input Source 05, ENUM
38 Input Source 06, ENUM
39 Input Source 07, ENUM
40 Input Source 08, ENUM
41 Input Source 09, ENUM
42 Input Source 10, ENUM
43 Input Source 11, ENUM
44 Input Source 12, ENUM
45 Input Source 13, ENUM
46 Input Source 14, ENUM
47 Input Source 15, ENUM
48 Input Source 16, ENUM
49 Input Source 17, ENUM
50 Input Source 18, ENUM
51 Internal Validity, PBS
52 KKKKKKKKKKKKKKKKKÃÃÃÃÃÃÃÃÃÃÃ Swi, PBS
53 Matrix 01 Input, ENUM
54 Matrix 01 Mix A
55 Matrix 01 Mix B
56 Matrix 01 Mix C
57 Matrix 01 Mix D
58 Matrix 01 Mix E
59 Matrix 01 Mix F
60 Matrix 01 Mix G
61 Matrix 01 Mix H
62 Matrix 02 Input, ENUM
63 Matrix 02 Mix A
64 Matrix 02 Mix B
65 Matrix 02 Mix C
66 Matrix 02 Mix D
67 Matrix 02 Mix E
68 Matrix 02 Mix F
69 Matrix 02 Mix G
70 Matrix 02 Mix H
71 Matrix 03 Input, ENUM
72 Matrix 03 Mix A
73 Matrix 03 Mix B
74 Matrix 03 Mix C
75 Matrix 03 Mix D
76 Matrix 03 Mix E
77 Matrix 03 Mix F
78 Matrix 03 Mix G
79 Matrix 03 Mix H
80 Matrix 04 Input, ENUM
81 Matrix 04 Mix A
82 Matrix 04 Mix B
83 Matrix 04 Mix C
84 Matrix 04 Mix D
85 Matrix 04 Mix E
86 Matrix 04 Mix F
87 Matrix 04 Mix G
88 Matrix 04 Mix H
89 Matrix 05 Input, ENUM
90 Matrix 05 Mix A
91 Matrix 05 Mix B
92 Matrix 05 Mix C
93 Matrix 05 Mix D
94 Matrix 05 Mix E
95 Matrix 05 Mix F
96 Matrix 05 Mix G
97 Matrix 05 Mix H
98 Matrix 06 Input, ENUM
99 Matrix 06 Mix A
100 Matrix 06 Mix B
101 Matrix 06 Mix C
102 Matrix 06 Mix D
103 Matrix 06 Mix E
104 Matrix 06 Mix F
105 Matrix 06 Mix G
106 Matrix 06 Mix H
107 Matrix 07 Input, ENUM
108 Matrix 07 Mix A
109 Matrix 07 Mix B
110 Matrix 07 Mix C
111 Matrix 07 Mix D
112 Matrix 07 Mix E
113 Matrix 07 Mix F
114 Matrix 07 Mix G
115 Matrix 07 Mix H
116 Matrix 08 Input, ENUM
117 Matrix 08 Mix A
118 Matrix 08 Mix B
119 Matrix 08 Mix C
120 Matrix 08 Mix D
121 Matrix 08 Mix E
122 Matrix 08 Mix F
123 Matrix 08 Mix G
124 Matrix 08 Mix H
125 Matrix 09 Input, ENUM
126 Matrix 09 Mix A
127 Matrix 09 Mix B
128 Matrix 09 Mix C
129 Matrix 09 Mix D
130 Matrix 09 Mix E
131 Matrix 09 Mix F
132 Matrix 09 Mix G
133 Matrix 09 Mix H
134 Matrix 10 Input, ENUM
135 Matrix 10 Mix A
136 Matrix 10 Mix B
137 Matrix 10 Mix C
138 Matrix 10 Mix D
139 Matrix 10 Mix E
140 Matrix 10 Mix F
141 Matrix 10 Mix G
142 Matrix 10 Mix H
143 Matrix 11 Input, ENUM
144 Matrix 11 Mix A
145 Matrix 11 Mix B
146 Matrix 11 Mix C
147 Matrix 11 Mix D
148 Matrix 11 Mix E
149 Matrix 11 Mix F
150 Matrix 11 Mix G
151 Matrix 11 Mix H
152 Matrix 12 Input, ENUM
153 Matrix 12 Mix A
154 Matrix 12 Mix B
155 Matrix 12 Mix C
156 Matrix 12 Mix D
157 Matrix 12 Mix E
158 Matrix 12 Mix F
159 Matrix 12 Mix G
160 Matrix 12 Mix H
161 Matrix 13 Input, ENUM
162 Matrix 13 Mix A
163 Matrix 13 Mix B
164 Matrix 13 Mix C
165 Matrix 13 Mix D
166 Matrix 13 Mix E
167 Matrix 13 Mix F
168 Matrix 13 Mix G
169 Matrix 13 Mix H
170 Matrix 14 Input, ENUM
171 Matrix 14 Mix A
172 Matrix 14 Mix B
173 Matrix 14 Mix C
174 Matrix 14 Mix D
175 Matrix 14 Mix E
176 Matrix 14 Mix F
177 Matrix 14 Mix G
178 Matrix 14 Mix H
179 Matrix 15 Input, ENUM
180 Matrix 15 Mix A
181 Matrix 15 Mix B
182 Matrix 15 Mix C
183 Matrix 15 Mix D
184 Matrix 15 Mix E
185 Matrix 15 Mix F
186 Matrix 15 Mix G
187 Matrix 15 Mix H
188 Matrix 16 Input, ENUM
189 Matrix 16 Mix A
190 Matrix 16 Mix B
191 Matrix 16 Mix C
192 Matrix 16 Mix D
193 Matrix 16 Mix E
194 Matrix 16 Mix F
195 Matrix 16 Mix G
196 Matrix 16 Mix H
197 Matrix 17 Input, ENUM
198 Matrix 17 Mix A
199 Matrix 17 Mix B
200 Matrix 17 Mix C
201 Matrix 17 Mix D
202 Matrix 17 Mix E
203 Matrix 17 Mix F
204 Matrix 17 Mix G
205 Matrix 17 Mix H
206 Matrix 18 Input, ENUM
207 Matrix 18 Mix A
208 Matrix 18 Mix B
209 Matrix 18 Mix C
210 Matrix 18 Mix D
211 Matrix 18 Mix E
212 Matrix 18 Mix F
213 Matrix 18 Mix G
214 Matrix 18 Mix H
215 S/PDIF Validity, PBS
216 Sample Clock Source, ENUM
217 Sample Clock Sync Status, ENUM
218 Scarlett 18i20 USB-Sync Clock Source, ENUM
Debugging ahead... :-)
daeavelwyn , Just spend a few hours to figure out the cause and solution of the same issue on an 18i20 (see the pull request). if you run the program with the -p option and provide the output (as above), I might be able to tell what needs to change for your 18i8 in your environment (having a little bit understanding of the code now). As with with x42 other repos, this is an beautiful tool/GUI compared to Alsamixer and worth maintaining/fixing. Wish someone could add support for the Gen2 in the kernel. :-)
Hi symdeb, sorry for the delay ! I'm not with the 18i8 for now, I will get it back in september (I've lent to a friend ;) ). I will test ASAP.
I have a gen1 6i6 - get similar issues ( I have in the past managed to get a similar older qtscarlett mixer working with it that's somewhere on sourceforge and hasn't been updated for newer qt libs for years).
here is the output
aenertia@kiorewha:~/buildlocal/scarlett-mixer$ ./scarlett-mixer hw:0 -p
Device `Scarlett 6i6 USB' has 189 contols:
0 Master, PBS
1 Master 1 (Monitor), PBS
2 Master 1L (Monitor) Source, ENUM
3 Master 1R (Monitor) Source, ENUM
4 Master 2 (Headphone), PBS
5 Master 2L (Headphone) Source, ENUM
6 Master 2R (Headphone) Source, ENUM
7 Master 3 (SPDIF), PBS
8 Master 3L (SPDIF) Source, ENUM
9 Master 3R (SPDIF) Source, ENUM
10 Line 4, PBS
11 Mixer Out 8, PBS
12 Input 1 Impedance, ENUM
13 Input 1 Pad, ENUM
14 Input 2 Impedance, ENUM
15 Input 2 Pad, ENUM
16 Input 3 Pad, ENUM
17 Input 4 Pad, ENUM
18 Input Source 01, ENUM
19 Input Source 02, ENUM
20 Input Source 03, ENUM
21 Input Source 04, ENUM
22 Input Source 05, ENUM
23 Input Source 06, ENUM
24 Matrix 01 Input, ENUM
25 Matrix 01 Mix A
26 Matrix 01 Mix B
27 Matrix 01 Mix C
28 Matrix 01 Mix D
29 Matrix 01 Mix E
30 Matrix 01 Mix F
31 Matrix 01 Mix G
32 Matrix 01 Mix H
33 Matrix 02 Input, ENUM
34 Matrix 02 Mix A
35 Matrix 02 Mix B
36 Matrix 02 Mix C
37 Matrix 02 Mix D
38 Matrix 02 Mix E
39 Matrix 02 Mix F
40 Matrix 02 Mix G
41 Matrix 02 Mix H
42 Matrix 03 Input, ENUM
43 Matrix 03 Mix A
44 Matrix 03 Mix B
45 Matrix 03 Mix C
46 Matrix 03 Mix D
47 Matrix 03 Mix E
48 Matrix 03 Mix F
49 Matrix 03 Mix G
50 Matrix 03 Mix H
51 Matrix 04 Input, ENUM
52 Matrix 04 Mix A
53 Matrix 04 Mix B
54 Matrix 04 Mix C
55 Matrix 04 Mix D
56 Matrix 04 Mix E
57 Matrix 04 Mix F
58 Matrix 04 Mix G
59 Matrix 04 Mix H
60 Matrix 05 Input, ENUM
61 Matrix 05 Mix A
62 Matrix 05 Mix B
63 Matrix 05 Mix C
64 Matrix 05 Mix D
65 Matrix 05 Mix E
66 Matrix 05 Mix F
67 Matrix 05 Mix G
68 Matrix 05 Mix H
69 Matrix 06 Input, ENUM
70 Matrix 06 Mix A
71 Matrix 06 Mix B
72 Matrix 06 Mix C
73 Matrix 06 Mix D
74 Matrix 06 Mix E
75 Matrix 06 Mix F
76 Matrix 06 Mix G
77 Matrix 06 Mix H
78 Matrix 07 Input, ENUM
79 Matrix 07 Mix A
80 Matrix 07 Mix B
81 Matrix 07 Mix C
82 Matrix 07 Mix D
83 Matrix 07 Mix E
84 Matrix 07 Mix F
85 Matrix 07 Mix G
86 Matrix 07 Mix H
87 Matrix 08 Input, ENUM
88 Matrix 08 Mix A
89 Matrix 08 Mix B
90 Matrix 08 Mix C
91 Matrix 08 Mix D
92 Matrix 08 Mix E
93 Matrix 08 Mix F
94 Matrix 08 Mix G
95 Matrix 08 Mix H
96 Matrix 09 Input, ENUM
97 Matrix 09 Mix A
98 Matrix 09 Mix B
99 Matrix 09 Mix C
100 Matrix 09 Mix D
101 Matrix 09 Mix E
102 Matrix 09 Mix F
103 Matrix 09 Mix G
104 Matrix 09 Mix H
105 Matrix 10 Input, ENUM
106 Matrix 10 Mix A
107 Matrix 10 Mix B
108 Matrix 10 Mix C
109 Matrix 10 Mix D
110 Matrix 10 Mix E
111 Matrix 10 Mix F
112 Matrix 10 Mix G
113 Matrix 10 Mix H
114 Matrix 11 Input, ENUM
115 Matrix 11 Mix A
116 Matrix 11 Mix B
117 Matrix 11 Mix C
118 Matrix 11 Mix D
119 Matrix 11 Mix E
120 Matrix 11 Mix F
121 Matrix 11 Mix G
122 Matrix 11 Mix H
123 Matrix 12 Input, ENUM
124 Matrix 12 Mix A
125 Matrix 12 Mix B
126 Matrix 12 Mix C
127 Matrix 12 Mix D
128 Matrix 12 Mix E
129 Matrix 12 Mix F
130 Matrix 12 Mix G
131 Matrix 12 Mix H
132 Matrix 13 Input, ENUM
133 Matrix 13 Mix A
134 Matrix 13 Mix B
135 Matrix 13 Mix C
136 Matrix 13 Mix D
137 Matrix 13 Mix E
138 Matrix 13 Mix F
139 Matrix 13 Mix G
140 Matrix 13 Mix H
141 Matrix 14 Input, ENUM
142 Matrix 14 Mix A
143 Matrix 14 Mix B
144 Matrix 14 Mix C
145 Matrix 14 Mix D
146 Matrix 14 Mix E
147 Matrix 14 Mix F
148 Matrix 14 Mix G
149 Matrix 14 Mix H
150 Matrix 15 Input, ENUM
151 Matrix 15 Mix A
152 Matrix 15 Mix B
153 Matrix 15 Mix C
154 Matrix 15 Mix D
155 Matrix 15 Mix E
156 Matrix 15 Mix F
157 Matrix 15 Mix G
158 Matrix 15 Mix H
159 Matrix 16 Input, ENUM
160 Matrix 16 Mix A
161 Matrix 16 Mix B
162 Matrix 16 Mix C
163 Matrix 16 Mix D
164 Matrix 16 Mix E
165 Matrix 16 Mix F
166 Matrix 16 Mix G
167 Matrix 16 Mix H
168 Matrix 17 Input, ENUM
169 Matrix 17 Mix A
170 Matrix 17 Mix B
171 Matrix 17 Mix C
172 Matrix 17 Mix D
173 Matrix 17 Mix E
174 Matrix 17 Mix F
175 Matrix 17 Mix G
176 Matrix 17 Mix H
177 Matrix 18 Input, ENUM
178 Matrix 18 Mix A
179 Matrix 18 Mix B
180 Matrix 18 Mix C
181 Matrix 18 Mix D
182 Matrix 18 Mix E
183 Matrix 18 Mix F
184 Matrix 18 Mix G
185 Matrix 18 Mix H
186 Sample Clock Source, ENUM
187 Sample Clock Sync Status, ENUM
188 Scarlett 6i6 USB-Sync Clock Source, ENUM
scarlett-mixer: ./src/scarlett_mixer.c:492: get_enum: Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Aborted (core dumped)
This is the project I was referring too for the 6i6 which should have correct control mapping you can yoink,
Yah - 18.04 userspace with 4.18 mainline kernel.
This is the commit version I am using that is failing : commit fb5b599 (HEAD -> master, origin/master, origin/HEAD)
appears to be latest
I have a 6i6 1st gen too an am running Manjaro Linux with RT-Kernel:
Linux denkbett 4.16.18-rt12-MANJARO #1 SMP PREEMPT RT Fri Aug 3 12:10:46 UTC 2018 x86_64 GNU/Linux
I get the same error even with the above referenced commit and option -p
shows two additional controls:
$ scarlett-mixer -p hw:2
Device `Scarlett 6i6 USB' has 191 contols:
0 Master, PBS
1 Master 1 (Monitor), PBS
2 Master 1L (Monitor) Source, ENUM
3 Master 1R (Monitor) Source, ENUM
4 Master 2 (Headphone), PBS
5 Master 2L (Headphone) Source, ENUM
6 Master 2R (Headphone) Source, ENUM
7 Master 3 (SPDIF), PBS
8 Master 3L (SPDIF) Source, ENUM
9 Master 3R (SPDIF) Source, ENUM
10 Line 4, PBS
11 Mixer Out 8, PBS
12 Input 1 Impedance, ENUM
13 Input 1 Pad, ENUM
14 Input 2 Impedance, ENUM
15 Input 2 Pad, ENUM
16 Input 3 Pad, ENUM
17 Input 4 Pad, ENUM
18 Input Source 01, ENUM
19 Input Source 02, ENUM
20 Input Source 03, ENUM
21 Input Source 04, ENUM
22 Input Source 05, ENUM
23 Input Source 06, ENUM
24 Internal Validity, PBS
25 Matrix 01 Input, ENUM
26 Matrix 01 Mix A
27 Matrix 01 Mix B
28 Matrix 01 Mix C
29 Matrix 01 Mix D
30 Matrix 01 Mix E
31 Matrix 01 Mix F
32 Matrix 01 Mix G
33 Matrix 01 Mix H
34 Matrix 02 Input, ENUM
35 Matrix 02 Mix A
36 Matrix 02 Mix B
37 Matrix 02 Mix C
38 Matrix 02 Mix D
39 Matrix 02 Mix E
40 Matrix 02 Mix F
41 Matrix 02 Mix G
42 Matrix 02 Mix H
43 Matrix 03 Input, ENUM
44 Matrix 03 Mix A
45 Matrix 03 Mix B
46 Matrix 03 Mix C
47 Matrix 03 Mix D
48 Matrix 03 Mix E
49 Matrix 03 Mix F
50 Matrix 03 Mix G
51 Matrix 03 Mix H
52 Matrix 04 Input, ENUM
53 Matrix 04 Mix A
54 Matrix 04 Mix B
55 Matrix 04 Mix C
56 Matrix 04 Mix D
57 Matrix 04 Mix E
58 Matrix 04 Mix F
59 Matrix 04 Mix G
60 Matrix 04 Mix H
61 Matrix 05 Input, ENUM
62 Matrix 05 Mix A
63 Matrix 05 Mix B
64 Matrix 05 Mix C
65 Matrix 05 Mix D
66 Matrix 05 Mix E
67 Matrix 05 Mix F
68 Matrix 05 Mix G
69 Matrix 05 Mix H
70 Matrix 06 Input, ENUM
71 Matrix 06 Mix A
72 Matrix 06 Mix B
73 Matrix 06 Mix C
74 Matrix 06 Mix D
75 Matrix 06 Mix E
76 Matrix 06 Mix F
77 Matrix 06 Mix G
78 Matrix 06 Mix H
79 Matrix 07 Input, ENUM
80 Matrix 07 Mix A
81 Matrix 07 Mix B
82 Matrix 07 Mix C
83 Matrix 07 Mix D
84 Matrix 07 Mix E
85 Matrix 07 Mix F
86 Matrix 07 Mix G
87 Matrix 07 Mix H
88 Matrix 08 Input, ENUM
89 Matrix 08 Mix A
90 Matrix 08 Mix B
91 Matrix 08 Mix C
92 Matrix 08 Mix D
93 Matrix 08 Mix E
94 Matrix 08 Mix F
95 Matrix 08 Mix G
96 Matrix 08 Mix H
97 Matrix 09 Input, ENUM
98 Matrix 09 Mix A
99 Matrix 09 Mix B
100 Matrix 09 Mix C
101 Matrix 09 Mix D
102 Matrix 09 Mix E
103 Matrix 09 Mix F
104 Matrix 09 Mix G
105 Matrix 09 Mix H
106 Matrix 10 Input, ENUM
107 Matrix 10 Mix A
108 Matrix 10 Mix B
109 Matrix 10 Mix C
110 Matrix 10 Mix D
111 Matrix 10 Mix E
112 Matrix 10 Mix F
113 Matrix 10 Mix G
114 Matrix 10 Mix H
115 Matrix 11 Input, ENUM
116 Matrix 11 Mix A
117 Matrix 11 Mix B
118 Matrix 11 Mix C
119 Matrix 11 Mix D
120 Matrix 11 Mix E
121 Matrix 11 Mix F
122 Matrix 11 Mix G
123 Matrix 11 Mix H
124 Matrix 12 Input, ENUM
125 Matrix 12 Mix A
126 Matrix 12 Mix B
127 Matrix 12 Mix C
128 Matrix 12 Mix D
129 Matrix 12 Mix E
130 Matrix 12 Mix F
131 Matrix 12 Mix G
132 Matrix 12 Mix H
133 Matrix 13 Input, ENUM
134 Matrix 13 Mix A
135 Matrix 13 Mix B
136 Matrix 13 Mix C
137 Matrix 13 Mix D
138 Matrix 13 Mix E
139 Matrix 13 Mix F
140 Matrix 13 Mix G
141 Matrix 13 Mix H
142 Matrix 14 Input, ENUM
143 Matrix 14 Mix A
144 Matrix 14 Mix B
145 Matrix 14 Mix C
146 Matrix 14 Mix D
147 Matrix 14 Mix E
148 Matrix 14 Mix F
149 Matrix 14 Mix G
150 Matrix 14 Mix H
151 Matrix 15 Input, ENUM
152 Matrix 15 Mix A
153 Matrix 15 Mix B
154 Matrix 15 Mix C
155 Matrix 15 Mix D
156 Matrix 15 Mix E
157 Matrix 15 Mix F
158 Matrix 15 Mix G
159 Matrix 15 Mix H
160 Matrix 16 Input, ENUM
161 Matrix 16 Mix A
162 Matrix 16 Mix B
163 Matrix 16 Mix C
164 Matrix 16 Mix D
165 Matrix 16 Mix E
166 Matrix 16 Mix F
167 Matrix 16 Mix G
168 Matrix 16 Mix H
169 Matrix 17 Input, ENUM
170 Matrix 17 Mix A
171 Matrix 17 Mix B
172 Matrix 17 Mix C
173 Matrix 17 Mix D
174 Matrix 17 Mix E
175 Matrix 17 Mix F
176 Matrix 17 Mix G
177 Matrix 17 Mix H
178 Matrix 18 Input, ENUM
179 Matrix 18 Mix A
180 Matrix 18 Mix B
181 Matrix 18 Mix C
182 Matrix 18 Mix D
183 Matrix 18 Mix E
184 Matrix 18 Mix F
185 Matrix 18 Mix G
186 Matrix 18 Mix H
187 S/PDIF Validity, PBS
188 Sample Clock Source, ENUM
189 Sample Clock Sync Status, ENUM
190 Scarlett 6i6 USB-Sync Clock Source, ENUM
scarlett-mixer: ./src/scarlett_mixer.c:492: get_enum: Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Abgebrochen (Speicherabzug geschrieben)
Below is the lsusb -v
output for the device.
Also have you run it with the windows focusrite control app which IIRC will do a firmware update.
Yeah certainly did that, but I don't know when was the last time. But something seems to have changed in the ALSA interface, because I had qsismixer
(with a small change to upstream) running without problems before but now the GUI controls are not mapped correctly to the mixer controls anymore.
Bus 001 Device 109: ID 1235:8012 Focusrite-Novation Scarlett 6i6
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x1235 Focusrite-Novation
idProduct 0x8012 Scarlett 6i6
bcdDevice 2.60
iManufacturer 1 Focusrite
iProduct 2 Scarlett 6i6 USB
iSerial 3 1001949C
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0213
bNumInterfaces 6
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 3
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 2 Scarlett 6i6 USB
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 8
wTotalLength 0x00e9
bmControls 0x00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 41
bmAttributes 3 Internal programmable clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 9 Internal
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 42
bmAttributes 0 External clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 10 S/PDIF
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 11 (CLOCK_SELECTOR)
bClockID 40
bNrInPins 2
baCSourceID(0) 41
baCSourceID(1) 42
bmControls 0x03
Clock Selector Control (read/write)
iClockSelector 8 Scarlett 6i6 USB-Sync
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 40
bNrChannels 12
bmChannelConfig 0x00000000
iChannelNames 13 Mon 1
bmControls 0x0000
iTerminal 6 Scarlett 6i6 USB-Output
AudioControl Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
bUnitID 51
wExtensionCode 0x0000
bNrInPins 1
baSourceID(0) 2
bNrChannels 12
bmChannelConfig 0x00000000
iChannelNames 0
bmControls 0x03
Enable Control (read/write)
iExtension 0
AudioControl Interface Descriptor:
bLength 58
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 51
bmaControls(0) 0x00000000
bmaControls(1) 0x00000000
bmaControls(2) 0x00000000
bmaControls(3) 0x00000000
bmaControls(4) 0x00000000
bmaControls(5) 0x00000000
bmaControls(6) 0x00000000
bmaControls(7) 0x00000000
bmaControls(8) 0x00000000
bmaControls(9) 0x00000000
bmaControls(10) 0x00000000
bmaControls(11) 0x00000000
bmaControls(12) 0x00000000
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 10
bCSourceID 40
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Microphone
bAssocTerminal 0
bCSourceID 40
bNrChannels 6
bmChannelConfig 0x00000000
iChannelNames 31 Mic 1
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
bUnitID 52
wExtensionCode 0x0000
bNrInPins 1
baSourceID(0) 1
bNrChannels 12
bmChannelConfig 0x00000000
iChannelNames 0
bmControls 0x03
Enable Control (read/write)
iExtension 0
AudioControl Interface Descriptor:
bLength 34
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 11
bSourceID 52
bmaControls(0) 0x00000000
bmaControls(1) 0x00000000
bmaControls(2) 0x00000000
bmaControls(3) 0x00000000
bmaControls(4) 0x00000000
bmaControls(5) 0x00000000
bmaControls(6) 0x00000000
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 22
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 11
bCSourceID 40
bmControls 0x0000
iTerminal 7 Scarlett 6i6 USB-Input
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
bUnitID 50
wExtensionCode 0x0000
bNrInPins 2
baSourceID(0) 2
baSourceID(1) 1
bNrChannels 18
bmChannelConfig 0x00000000
iChannelNames 0
bmControls 0x03
Enable Control (read/write)
iExtension 0
AudioControl Interface Descriptor:
bLength 32
bDescriptorType 36
bDescriptorSubtype 4 (MIXER_UNIT)
bUnitID 60
bNrInPins 1
baSourceID(0) 50
bNrChannels 8
bmChannelConfig 0x00000000
iChannelNames 51 Mixer Out 1
bmMixerControls(0) 0xff
bmControls 0xff
Cluster Control (read/write)
Underflow Control (read/write)
Overflow Control (read/write)
iMixer 255
Warning: Junk at end of descriptor (17 bytes):
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0006 1x 6 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 Scarlett 6i6 USB-Out
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 Scarlett 6i6 USB-Out
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 12
bmChannelConfig 0x00000000
iChannelNames 13 Mon 1
AudioStreaming Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
junk at descriptor end: 00 77 01 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 Scarlett 6i6 USB-In
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 Scarlett 6i6 USB-In
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 22
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 6
bmChannelConfig 0x00000000
iChannelNames 31 Mic 1
AudioStreaming Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
junk at descriptor end: 00 77 01 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0009
bInCollection 1
baInterfaceNr(0) 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 MIDI Streaming
bInterfaceProtocol 0
iInterface 0
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0041
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 2
iJack 5 Scarlett 6i6 USB-In
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 3
bNrInputPins 1
baSourceID( 0) 2
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 4
bNrInputPins 1
baSourceID( 0) 1
BaSourcePin( 0) 1
iJack 4 Scarlett 6i6 USB-Out
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 1
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 3
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 0
iInterface 12 Scarlett 6i6 USB-DFU
Device Firmware Upgrade Interface Descriptor:
bLength 7
bDescriptorType 33
bmAttributes 7
Will Not Detach
Manifestation Tolerant
Upload Supported
Download Supported
wDetachTimeout 250 milliseconds
wTransferSize 64 bytes
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0213
bNumInterfaces 6
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 3
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 2 Scarlett 6i6 USB
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 8
wTotalLength 0x00e9
bmControls 0x00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 41
bmAttributes 3 Internal programmable clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 9 Internal
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 42
bmAttributes 0 External clock
bmControls 0x07
Clock Frequency Control (read/write)
Clock Validity Control (read-only)
bAssocTerminal 0
iClockSource 10 S/PDIF
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 11 (CLOCK_SELECTOR)
bClockID 40
bNrInPins 2
baCSourceID(0) 41
baCSourceID(1) 42
bmControls 0x03
Clock Selector Control (read/write)
iClockSelector 8 Scarlett 6i6 USB-Sync
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 40
bNrChannels 12
bmChannelConfig 0x00000000
iChannelNames 13 Mon 1
bmControls 0x0000
iTerminal 6 Scarlett 6i6 USB-Output
AudioControl Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
bUnitID 51
wExtensionCode 0x0000
bNrInPins 1
baSourceID(0) 2
bNrChannels 12
bmChannelConfig 0x00000000
iChannelNames 0
bmControls 0x03
Enable Control (read/write)
iExtension 0
AudioControl Interface Descriptor:
bLength 58
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 10
bSourceID 51
bmaControls(0) 0x00000000
bmaControls(1) 0x00000000
bmaControls(2) 0x00000000
bmaControls(3) 0x00000000
bmaControls(4) 0x00000000
bmaControls(5) 0x00000000
bmaControls(6) 0x00000000
bmaControls(7) 0x00000000
bmaControls(8) 0x00000000
bmaControls(9) 0x00000000
bmaControls(10) 0x00000000
bmaControls(11) 0x00000000
bmaControls(12) 0x00000000
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 10
bCSourceID 40
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Microphone
bAssocTerminal 0
bCSourceID 40
bNrChannels 6
bmChannelConfig 0x00000000
iChannelNames 31 Mic 1
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
bUnitID 52
wExtensionCode 0x0000
bNrInPins 1
baSourceID(0) 1
bNrChannels 12
bmChannelConfig 0x00000000
iChannelNames 0
bmControls 0x03
Enable Control (read/write)
iExtension 0
AudioControl Interface Descriptor:
bLength 34
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 11
bSourceID 52
bmaControls(0) 0x00000000
bmaControls(1) 0x00000000
bmaControls(2) 0x00000000
bmaControls(3) 0x00000000
bmaControls(4) 0x00000000
bmaControls(5) 0x00000000
bmaControls(6) 0x00000000
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 22
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 11
bCSourceID 40
bmControls 0x0000
iTerminal 7 Scarlett 6i6 USB-Input
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 9 (EXTENSION_UNIT)
bUnitID 50
wExtensionCode 0x0000
bNrInPins 2
baSourceID(0) 2
baSourceID(1) 1
bNrChannels 18
bmChannelConfig 0x00000000
iChannelNames 0
bmControls 0x03
Enable Control (read/write)
iExtension 0
AudioControl Interface Descriptor:
bLength 32
bDescriptorType 36
bDescriptorSubtype 4 (MIXER_UNIT)
bUnitID 60
bNrInPins 1
baSourceID(0) 50
bNrChannels 8
bmChannelConfig 0x00000000
iChannelNames 51 Mixer Out 1
bmMixerControls(0) 0xff
bmControls 0xff
Cluster Control (read/write)
Underflow Control (read/write)
Overflow Control (read/write)
iMixer 255
Warning: Junk at end of descriptor (17 bytes):
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0006 1x 6 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 Scarlett 6i6 USB-Out
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 4 Scarlett 6i6 USB-Out
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 2
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 12
bmChannelConfig 0x00000000
iChannelNames 13 Mon 1
AudioStreaming Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
junk at descriptor end: 00 77 01 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 Scarlett 6i6 USB-In
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 5 Scarlett 6i6 USB-In
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 22
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 6
bmChannelConfig 0x00000000
iChannelNames 31 Mic 1
AudioStreaming Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 4
bBitResolution 24
junk at descriptor end: 00 77 01 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 1
AudioStreaming Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0008
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0009
bInCollection 1
baInterfaceNr(0) 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 MIDI Streaming
bInterfaceProtocol 0
iInterface 0
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0041
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 2
iJack 5 Scarlett 6i6 USB-In
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 3
bNrInputPins 1
baSourceID( 0) 2
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 4
bNrInputPins 1
baSourceID( 0) 1
BaSourcePin( 0) 1
iJack 4 Scarlett 6i6 USB-Out
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 1
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 3
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 0
iInterface 12 Scarlett 6i6 USB-DFU
Device Firmware Upgrade Interface Descriptor:
bLength 7
bDescriptorType 33
bmAttributes 7
Will Not Detach
Manifestation Tolerant
Upload Supported
Download Supported
wDetachTimeout 250 milliseconds
wTransferSize 64 bytes
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0000
(Bus Powered)
@aenertia , @SpotlightKid lsusb
output is not useful here. This tool interacts with ALSA mixer interface (amixer
) and does not talk directly with the USB device.
The reason for this is: As soon as the kernel uses the soundcard, the USB device is busy, and all I/O has to happen via ALSA. A userspace tool cannot concurrently use the raw USB device at the same time while the kernel uses it.
The lsusb
output may be helpful for the person writing and maintaining the kernel-driver, but that is no longer me.
The interesting part is indeed the output of scarlett-mixer -p ...
two additional controls on @SpotlightKid 's system.
This quickly hacked GUI is using hardcoded offsets and is not capable to handle this situation.
One would have to dynamically parse the control-names and/or offsets or come up with a better solution.
PS. Complaining to Linus may help. He is very advocate that a kernel-change must never ever break userspace applications. And this is clearly the case here.
Sorry for the long lsusb
output paste. I wasn't sure whether it would help but since @aenertia requested it...
So, anybody have a recommendation for a usable mixer program for the Scarlett 6i6? I used to use qsismix, but like I said, that doesn't work anymore either. Sigh ... The next time I want to quickly record something, I guess I'll use my Zoom H2 instead of Linux/Ardour.
Thanks for your efforts, anyway, Robin.
Check gmerlin and/or qasmixer. Haven't been updated for a long time now, but they still seem to work with the Scarlett 1st Gen interfaces
@SpotlightKid you may be able to help yourself like in 42bc082
@x42: Thanks, that works!
Maybe "how to hack the source for your kernel" should be a wiki entry. :) The trick is to just check the offsets to make sure they match. For reference, here's a configuration and corresponding Device config that works for me. Maybe it'll help someone. :)
For reference, I have an earlier 18i6 on Devuan: 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64. I was able to get it working with this config:
{
.name = "Scarlett 18i6 USB",
.smi = 18, .smo = 6,
.sin = 18, .sout = 6,
.smst = 3,
.num_hiz = 2,
.num_pad = 0,
.matrix_mix_offset = 33, .matrix_mix_stride = 7,
.matrix_in_offset = 32, .matrix_in_stride = 7,
.input_offset = 13,
.out_gain_map = { 1 /* Monitor */, 4 /* Headphone */, 7 /* SPDIF */, -1, -1 , -1, -1, -1, -1, -1 }, // PBS
.out_gain_labels = { "Monitor", "Headphone", "SPDIF", "", "", "", "", "", "", "" },
.out_bus_map = { 2, 3, 5, 6, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, // Source, ENUM
.hiz_map = { 11, 12 },
.pad_map = { -1, -1, -1, -1 },
}
Which corresponds to the controls:
0 Master, PBS
1 Master 1 (Monitor), PBS
2 Master 1L (Monitor) Source, ENUM
3 Master 1R (Monitor) Source, ENUM
4 Master 2 (Headphone), PBS
5 Master 2L (Headphone) Source, ENUM
6 Master 2R (Headphone) Source, ENUM
7 Master 3 (SPDIF), PBS
8 Master 3L (SPDIF) Source, ENUM
9 Master 3R (SPDIF) Source, ENUM
10 ADAT Validity, PBS
11 Input 1 Impedance, ENUM
12 Input 2 Impedance, ENUM
13 Input Source 01, ENUM
14 Input Source 02, ENUM
15 Input Source 03, ENUM
16 Input Source 04, ENUM
17 Input Source 05, ENUM
18 Input Source 06, ENUM
19 Input Source 07, ENUM
20 Input Source 08, ENUM
21 Input Source 09, ENUM
22 Input Source 10, ENUM
23 Input Source 11, ENUM
24 Input Source 12, ENUM
25 Input Source 13, ENUM
26 Input Source 14, ENUM
27 Input Source 15, ENUM
28 Input Source 16, ENUM
29 Input Source 17, ENUM
30 Input Source 18, ENUM
31 Internal Validity, PBS
32 Matrix 01 Input, ENUM
33 Matrix 01 Mix A
34 Matrix 01 Mix B
35 Matrix 01 Mix C
36 Matrix 01 Mix D
37 Matrix 01 Mix E
38 Matrix 01 Mix F
39 Matrix 02 Input, ENUM
40 Matrix 02 Mix A
41 Matrix 02 Mix B
42 Matrix 02 Mix C
43 Matrix 02 Mix D
44 Matrix 02 Mix E
45 Matrix 02 Mix F
46 Matrix 03 Input, ENUM
47 Matrix 03 Mix A
I suppose if I was really inspired and didn't have six other pending projects, I could write a startup routine that locates the device offsets by name instead of number, but it's so easy to hack the source. :)
Thanks for sharing and hop this helps and doesn't instead annoy.
I suppose if I was really inspired and didn't have six other pending projects, I could write a startup
routine that locates the device offsets by name instead of number, but it's so easy to hack the source
Perhaps file a bug with the Linux kernel. The number one rule of the Linux kernel is to not break userspace, but here it clearly does. -- Then again it seems for the issue at hand distros to blame, not upstream.
As for this little mixer app. I have not designed it to be used by anyone other than myself. So I'm to blame for that. I actually expected most users would rather want a a less technical mixer, and prefer one that groups the controls semantically into mixer-strips.
It should also be simple to cook up a python script or some alternative.
Ran in the same problem using a live ubuntu and a 1st get 18i8.
~/scarlett-mixer$ ./scarlett-mixer hw:2
scarlett-mixer: ./src/scarlett_mixer.c:492: get_enum: Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Aborted (core dumped)
Here's the print's output
~/scarlett-mixer$ ./scarlett-mixer -p
Device `Scarlett 18i8 USB' has 207 contols:
0 Master, PBS
1 Master 1 (Monitor), PBS
2 Master 1L (Monitor) Source, ENUM
3 Master 1R (Monitor) Source, ENUM
4 Master 2 (Headphone 1), PBS
5 Master 2L (Headphone 1) Source Playback Enu, ENUM
6 Master 2R (Headphone 1) Source Playback Enu, ENUM
7 Master 3 (Headphone 2), PBS
8 Master 3L (Headphone 2) Source Playback Enu, ENUM
9 Master 3R (Headphone 2) Source Playback Enu, ENUM
10 Master 4 (SPDIF), PBS
11 Master 4L (SPDIF) Source, ENUM
12 Master 4R (SPDIF) Source, ENUM
13 ADAT 2, PBS
14 ADAT Validity, PBS
15 Extension Unit, PBS
16 Input 1 Impedance, ENUM
17 Input 1 Pad, ENUM
18 Input 2 Impedance, ENUM
19 Input 2 Pad, ENUM
20 Input 3 Pad, ENUM
21 Input 4 Pad, ENUM
22 Input Source 01, ENUM
23 Input Source 02, ENUM
24 Input Source 03, ENUM
25 Input Source 04, ENUM
26 Input Source 05, ENUM
27 Input Source 06, ENUM
28 Input Source 07, ENUM
29 Input Source 08, ENUM
30 Input Source 09, ENUM
31 Input Source 10, ENUM
32 Input Source 11, ENUM
33 Input Source 12, ENUM
34 Input Source 13, ENUM
35 Input Source 14, ENUM
36 Input Source 15, ENUM
37 Input Source 16, ENUM
38 Input Source 17, ENUM
39 Input Source 18, ENUM
40 Internal Validity, PBS
41 Matrix 01 Input, ENUM
42 Matrix 01 Mix A
43 Matrix 01 Mix B
44 Matrix 01 Mix C
45 Matrix 01 Mix D
46 Matrix 01 Mix E
47 Matrix 01 Mix F
48 Matrix 01 Mix G
49 Matrix 01 Mix H
50 Matrix 02 Input, ENUM
51 Matrix 02 Mix A
52 Matrix 02 Mix B
53 Matrix 02 Mix C
54 Matrix 02 Mix D
55 Matrix 02 Mix E
56 Matrix 02 Mix F
57 Matrix 02 Mix G
58 Matrix 02 Mix H
59 Matrix 03 Input, ENUM
60 Matrix 03 Mix A
61 Matrix 03 Mix B
62 Matrix 03 Mix C
63 Matrix 03 Mix D
64 Matrix 03 Mix E
65 Matrix 03 Mix F
66 Matrix 03 Mix G
67 Matrix 03 Mix H
68 Matrix 04 Input, ENUM
69 Matrix 04 Mix A
70 Matrix 04 Mix B
71 Matrix 04 Mix C
72 Matrix 04 Mix D
73 Matrix 04 Mix E
74 Matrix 04 Mix F
75 Matrix 04 Mix G
76 Matrix 04 Mix H
77 Matrix 05 Input, ENUM
78 Matrix 05 Mix A
79 Matrix 05 Mix B
80 Matrix 05 Mix C
81 Matrix 05 Mix D
82 Matrix 05 Mix E
83 Matrix 05 Mix F
84 Matrix 05 Mix G
85 Matrix 05 Mix H
86 Matrix 06 Input, ENUM
87 Matrix 06 Mix A
88 Matrix 06 Mix B
89 Matrix 06 Mix C
90 Matrix 06 Mix D
91 Matrix 06 Mix E
92 Matrix 06 Mix F
93 Matrix 06 Mix G
94 Matrix 06 Mix H
95 Matrix 07 Input, ENUM
96 Matrix 07 Mix A
97 Matrix 07 Mix B
98 Matrix 07 Mix C
99 Matrix 07 Mix D
100 Matrix 07 Mix E
101 Matrix 07 Mix F
102 Matrix 07 Mix G
103 Matrix 07 Mix H
104 Matrix 08 Input, ENUM
105 Matrix 08 Mix A
106 Matrix 08 Mix B
107 Matrix 08 Mix C
108 Matrix 08 Mix D
109 Matrix 08 Mix E
110 Matrix 08 Mix F
111 Matrix 08 Mix G
112 Matrix 08 Mix H
113 Matrix 09 Input, ENUM
114 Matrix 09 Mix A
115 Matrix 09 Mix B
116 Matrix 09 Mix C
117 Matrix 09 Mix D
118 Matrix 09 Mix E
119 Matrix 09 Mix F
120 Matrix 09 Mix G
121 Matrix 09 Mix H
122 Matrix 10 Input, ENUM
123 Matrix 10 Mix A
124 Matrix 10 Mix B
125 Matrix 10 Mix C
126 Matrix 10 Mix D
127 Matrix 10 Mix E
128 Matrix 10 Mix F
129 Matrix 10 Mix G
130 Matrix 10 Mix H
131 Matrix 11 Input, ENUM
132 Matrix 11 Mix A
133 Matrix 11 Mix B
134 Matrix 11 Mix C
135 Matrix 11 Mix D
136 Matrix 11 Mix E
137 Matrix 11 Mix F
138 Matrix 11 Mix G
139 Matrix 11 Mix H
140 Matrix 12 Input, ENUM
141 Matrix 12 Mix A
142 Matrix 12 Mix B
143 Matrix 12 Mix C
144 Matrix 12 Mix D
145 Matrix 12 Mix E
146 Matrix 12 Mix F
147 Matrix 12 Mix G
148 Matrix 12 Mix H
149 Matrix 13 Input, ENUM
150 Matrix 13 Mix A
151 Matrix 13 Mix B
152 Matrix 13 Mix C
153 Matrix 13 Mix D
154 Matrix 13 Mix E
155 Matrix 13 Mix F
156 Matrix 13 Mix G
157 Matrix 13 Mix H
158 Matrix 14 Input, ENUM
159 Matrix 14 Mix A
160 Matrix 14 Mix B
161 Matrix 14 Mix C
162 Matrix 14 Mix D
163 Matrix 14 Mix E
164 Matrix 14 Mix F
165 Matrix 14 Mix G
166 Matrix 14 Mix H
167 Matrix 15 Input, ENUM
168 Matrix 15 Mix A
169 Matrix 15 Mix B
170 Matrix 15 Mix C
171 Matrix 15 Mix D
172 Matrix 15 Mix E
173 Matrix 15 Mix F
174 Matrix 15 Mix G
175 Matrix 15 Mix H
176 Matrix 16 Input, ENUM
177 Matrix 16 Mix A
178 Matrix 16 Mix B
179 Matrix 16 Mix C
180 Matrix 16 Mix D
181 Matrix 16 Mix E
182 Matrix 16 Mix F
183 Matrix 16 Mix G
184 Matrix 16 Mix H
185 Matrix 17 Input, ENUM
186 Matrix 17 Mix A
187 Matrix 17 Mix B
188 Matrix 17 Mix C
189 Matrix 17 Mix D
190 Matrix 17 Mix E
191 Matrix 17 Mix F
192 Matrix 17 Mix G
193 Matrix 17 Mix H
194 Matrix 18 Input, ENUM
195 Matrix 18 Mix A
196 Matrix 18 Mix B
197 Matrix 18 Mix C
198 Matrix 18 Mix D
199 Matrix 18 Mix E
200 Matrix 18 Mix F
201 Matrix 18 Mix G
202 Matrix 18 Mix H
203 S/PDIF Validity, PBS
204 Sample Clock Source, ENUM
205 Sample Clock Sync Status, ENUM
206 Scarlett 18i8 USB-Sync Clock Source, ENUM
scarlett-mixer: ./src/scarlett_mixer.c:492: get_enum: Assertion `snd_mixer_selem_is_enumerated (c->elem)' failed.
Aborted (core dumped)```
This is crazy! if you compare the two 18i8 dumps above: #8 (comment) vs #8 (comment)
The first has impedance at pin 14, the latter at 16. Likewise other offsets are not consistent.
In any case for the latter the following should work (src/scarlett_mixer.c line 87..102). It's relatively easy to match the numbers with those from the -p
dump as needed.
{
.name = "Scarlett 18i8 USB",
.smi = 18, .smo = 8,
.sin = 18, .sout = 8,
.smst = 4,
.num_hiz = 2,
.num_pad = 4,
.matrix_mix_offset = 42, .matrix_mix_stride = 9,
.matrix_in_offset = 41, .matrix_in_stride = 9,
.input_offset = 22,
.out_gain_map = { 1 /* Monitor */, 4 /* Headphone 1 */, 7 /* Headphone 2 */, 10 /* SPDIF */, -1, -1 , -1, -1, -1, -1 },
.out_gain_labels = { "Monitor", "Headphone 1", "Headphone 2", "SPDIF", "", "", "", "", "", "" },
.out_bus_map = { 2, 3, 5, 6, 8, 9, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
.hiz_map = { 16, 18 },
.pad_map = { 17, 19, 20, 21 },
},
Hi x42 and other people.
First, im totally newb in programming and compiling but...
Im succesfuly compiled and get work your mixer with scarlett 18i20 1st gen in AVLinux but i needed edit offsets in scarlett_mixer.c before compiling. I matched offsets from "-p" dump and matrix_mix_offset , matrix_in_offset , input_offset in source code.
Original code for 18i20 had:
line 126
.matrix_mix_offset= 50, .matrix_mix_stride = 9,
.matrix_in_offset = 49, .matrix_in_stride = 9,
.input_offset = 31,
i changed to:
.matrix_mix_offset = 54, .matrix_mix_stride = 9,
.matrix_in_offset = 53, .matrix_in_stride = 9,
.input_offset = 33,
becasue dump from "-p" is:
Device `Scarlett 18i20 USB' has 219 contols:
0 Master, PBS
1 Master 1 (Monitor), PBS
2 Master 10 (ADAT 7/8), PBS
3 Master 10L (ADAT 7/8) Source, ENUM
4 Master 10R (ADAT 7/8) Source, ENUM
5 Master 1L (Monitor) Source, ENUM
6 Master 1R (Monitor) Source, ENUM
7 Master 2 (Line 3/4), PBS
8 Master 2L (Line 3/4) Source, ENUM
9 Master 2R (Line 3/4) Source, ENUM
10 Master 3 (Line 5/6), PBS
11 Master 3L (Line 5/6) Source, ENUM
12 Master 3R (Line 5/6) Source, ENUM
13 Master 4 (Line 7/8), PBS
14 Master 4L (Line 7/8) Source, ENUM
15 Master 4R (Line 7/8) Source, ENUM
16 Master 5 (Line 9/10), PBS
17 Master 5L (Line 9/10) Source, ENUM
18 Master 5R (Line 9/10) Source, ENUM
19 Master 6 (SPDIF), PBS
20 Master 6L (SPDIF) Source, ENUM
21 Master 6R (SPDIF) Source, ENUM
22 Master 7 (ADAT 1/2), PBS
23 Master 7L (ADAT 1/2) Source, ENUM
24 Master 7R (ADAT 1/2) Source, ENUM
25 Master 8 (ADAT 3/4), PBS
26 Master 8L (ADAT 3/4) Source, ENUM
27 Master 8R (ADAT 3/4) Source, ENUM
28 Master 9 (ADAT 5/6), PBS
29 Master 9L (ADAT 5/6) Source, ENUM
30 Master 9R (ADAT 5/6) Source, ENUM
31 , PBS
32 ADAT Validity, PBS
33 Input Source 01, ENUM
34 Input Source 02, ENUM
35 Input Source 03, ENUM
36 Input Source 04, ENUM
37 Input Source 05, ENUM
38 Input Source 06, ENUM
39 Input Source 07, ENUM
40 Input Source 08, ENUM
41 Input Source 09, ENUM
42 Input Source 10, ENUM
43 Input Source 11, ENUM
44 Input Source 12, ENUM
45 Input Source 13, ENUM
46 Input Source 14, ENUM
47 Input Source 15, ENUM
48 Input Source 16, ENUM
49 Input Source 17, ENUM
50 Input Source 18, ENUM
51 Internal Validity, PBS
52 KKKKKKKKKKKKKKKKKÃÃÃÃÃÃÃÃÃÃÃ Swi, PBS
53 Matrix 01 Input, ENUM
54 Matrix 01 Mix A
55 Matrix 01 Mix B
56 Matrix 01 Mix C
57 Matrix 01 Mix D
58 Matrix 01 Mix E
59 Matrix 01 Mix F
60 Matrix 01 Mix G
61 Matrix 01 Mix H
62 Matrix 02 Input, ENUM
63 Matrix 02 Mix A
64 Matrix 02 Mix B
65 Matrix 02 Mix C
66 Matrix 02 Mix D
67 Matrix 02 Mix E
68 Matrix 02 Mix F
69 Matrix 02 Mix G
70 Matrix 02 Mix H
71 Matrix 03 Input, ENUM
72 Matrix 03 Mix A
73 Matrix 03 Mix B
74 Matrix 03 Mix C
75 Matrix 03 Mix D
76 Matrix 03 Mix E
77 Matrix 03 Mix F
78 Matrix 03 Mix G
79 Matrix 03 Mix H
80 Matrix 04 Input, ENUM
81 Matrix 04 Mix A
82 Matrix 04 Mix B
83 Matrix 04 Mix C
84 Matrix 04 Mix D
85 Matrix 04 Mix E
86 Matrix 04 Mix F
87 Matrix 04 Mix G
88 Matrix 04 Mix H
89 Matrix 05 Input, ENUM
90 Matrix 05 Mix A
91 Matrix 05 Mix B
92 Matrix 05 Mix C
93 Matrix 05 Mix D
94 Matrix 05 Mix E
95 Matrix 05 Mix F
96 Matrix 05 Mix G
97 Matrix 05 Mix H
98 Matrix 06 Input, ENUM
99 Matrix 06 Mix A
100 Matrix 06 Mix B
101 Matrix 06 Mix C
102 Matrix 06 Mix D
103 Matrix 06 Mix E
104 Matrix 06 Mix F
105 Matrix 06 Mix G
106 Matrix 06 Mix H
107 Matrix 07 Input, ENUM
108 Matrix 07 Mix A
109 Matrix 07 Mix B
110 Matrix 07 Mix C
111 Matrix 07 Mix D
112 Matrix 07 Mix E
113 Matrix 07 Mix F
114 Matrix 07 Mix G
115 Matrix 07 Mix H
116 Matrix 08 Input, ENUM
117 Matrix 08 Mix A
118 Matrix 08 Mix B
119 Matrix 08 Mix C
120 Matrix 08 Mix D
121 Matrix 08 Mix E
122 Matrix 08 Mix F
123 Matrix 08 Mix G
124 Matrix 08 Mix H
125 Matrix 09 Input, ENUM
126 Matrix 09 Mix A
127 Matrix 09 Mix B
128 Matrix 09 Mix C
129 Matrix 09 Mix D
130 Matrix 09 Mix E
131 Matrix 09 Mix F
132 Matrix 09 Mix G
133 Matrix 09 Mix H
134 Matrix 10 Input, ENUM
135 Matrix 10 Mix A
136 Matrix 10 Mix B
137 Matrix 10 Mix C
138 Matrix 10 Mix D
139 Matrix 10 Mix E
140 Matrix 10 Mix F
141 Matrix 10 Mix G
142 Matrix 10 Mix H
143 Matrix 11 Input, ENUM
144 Matrix 11 Mix A
145 Matrix 11 Mix B
146 Matrix 11 Mix C
147 Matrix 11 Mix D
148 Matrix 11 Mix E
149 Matrix 11 Mix F
150 Matrix 11 Mix G
151 Matrix 11 Mix H
152 Matrix 12 Input, ENUM
153 Matrix 12 Mix A
154 Matrix 12 Mix B
155 Matrix 12 Mix C
156 Matrix 12 Mix D
157 Matrix 12 Mix E
158 Matrix 12 Mix F
159 Matrix 12 Mix G
160 Matrix 12 Mix H
161 Matrix 13 Input, ENUM
162 Matrix 13 Mix A
163 Matrix 13 Mix B
164 Matrix 13 Mix C
165 Matrix 13 Mix D
166 Matrix 13 Mix E
167 Matrix 13 Mix F
168 Matrix 13 Mix G
169 Matrix 13 Mix H
170 Matrix 14 Input, ENUM
171 Matrix 14 Mix A
172 Matrix 14 Mix B
173 Matrix 14 Mix C
174 Matrix 14 Mix D
175 Matrix 14 Mix E
176 Matrix 14 Mix F
177 Matrix 14 Mix G
178 Matrix 14 Mix H
179 Matrix 15 Input, ENUM
180 Matrix 15 Mix A
181 Matrix 15 Mix B
182 Matrix 15 Mix C
183 Matrix 15 Mix D
184 Matrix 15 Mix E
185 Matrix 15 Mix F
186 Matrix 15 Mix G
187 Matrix 15 Mix H
188 Matrix 16 Input, ENUM
189 Matrix 16 Mix A
190 Matrix 16 Mix B
191 Matrix 16 Mix C
192 Matrix 16 Mix D
193 Matrix 16 Mix E
194 Matrix 16 Mix F
195 Matrix 16 Mix G
196 Matrix 16 Mix H
197 Matrix 17 Input, ENUM
198 Matrix 17 Mix A
199 Matrix 17 Mix B
200 Matrix 17 Mix C
201 Matrix 17 Mix D
202 Matrix 17 Mix E
203 Matrix 17 Mix F
204 Matrix 17 Mix G
205 Matrix 17 Mix H
206 Matrix 18 Input, ENUM
207 Matrix 18 Mix A
208 Matrix 18 Mix B
209 Matrix 18 Mix C
210 Matrix 18 Mix D
211 Matrix 18 Mix E
212 Matrix 18 Mix F
213 Matrix 18 Mix G
214 Matrix 18 Mix H
215 S/PDIF Validity, PBS
216 Sample Clock Source, ENUM
217 Sample Clock Sync Status, ENUM
218 Scarlett 18i20 USB-Sync Clock Source, ENUM
so i think
Matrix_mix_offset is a Matrix 01 Mix A,
Matrix_in_offset is Matrix 01 Input, ENUM
Input_offset is Input Source 01, ENUM .
I got this idea after comparing "-p" dumps from 18i8 where people posted here and the original code.
Im using latest AV Linux with kernel 4.16.12-rt5-avl1 and Alsa Mixer 1.1.8 and Scarlett 18i20 1st gen.
Anyway i have question to x42 ?
in Mixer on lowest right side is a button named "R" and he resets sound or clock source ? but after this i must open normal alsa mixer, pres f6 select 18i20 soundcard, then scroll to the right end and when i have Item :Scarlett 18i20 USB-Sync Clock Source change clock to SPDIF or ADAT and comeback to INTERNAL. After that sounds back. I had this issue before compiling your mixer, just random apps changed Sync Clock Source i think and i must do "terminal alsa things" ... It is possible to add a "switch listed button" to mixer for that ?
Cheers
in Mixer on lowest right side is a button named "R" and he resets sound or clock source ?
Ignore that button. I've used it for development and will remove it. It short: it forces a change of every mixer-parameter and then re-sends the current settings.
in Mixer on lowest right side is a button named "R" and he resets sound or clock source ?
Ignore that button. I've used it for development and will remove it. It short: it forces a change of every mixer-parameter and then re-sends the current settings.
Okey. Thank you for fast reply :) good work with that mixer.
After some tests, i can write this.
Master knob is not working with 18i20 1st gen dont know why. You can mute, and change volume but its not changing sound at all.
Monitor Knob is working good and it is as a Main Output for my Speakers.
Line 3/4, Line 5/6 are as normal outputs.
Line 7/8 and Line 9/10 are a headphones outputs and working good, its like as in windows10.
Mix A is a Left channel, Mix B is a right channel. Ofcourse Mix, C,D (left,right) E,F (left, right) G,H (left, right)
Cant test ADAT and SPDIF in, out.
Analog Inputs working :)
In future if you can add Clock source buttons it will be awesome :)
Changing the clock-source is usually a one-time setup. It should not be exposed in a casual mixer-interface.
What was the solution for this? I changed .input_offset = 31 to 33 and it didn't change anything for me, still get the error listed above. I'm using the 6i6 so is it a different number I need to use?
The solution was to no longer use fixed numeric offsets, but instead rely on mixer-control names
Was this a merged fix or do I need to do something to the code?
I'm having a bit of trouble getting this to work with my 18i20 2nd gen. I have the alsa driver working, and am able to do what i need from within alsamixer, though it is a bit frustrating :) I have noticed that my debug output from scarlett-mixer
is quite different to the other generations, the mixing matrix is ordered by mix rather than by input:
Device `Scarlett 18i20 USB' has 260 contols:
0 'Master HW'
1 'PCM 01', ENUM
2 'PCM 02', ENUM
3 'PCM 03', ENUM
4 'PCM 04', ENUM
5 'PCM 05', ENUM
6 'PCM 06', ENUM
7 'PCM 07', ENUM
8 'PCM 08', ENUM
9 'PCM 09', ENUM
10 'PCM 10', ENUM
11 'PCM 11', ENUM
12 'PCM 12', ENUM
13 'PCM 13', ENUM
14 'PCM 14', ENUM
15 'PCM 15', ENUM
16 'PCM 16', ENUM
17 'PCM 17', ENUM
18 'PCM 18', ENUM
19 'Line 01 (Monitor L)'
20 'Line 02 (Monitor R)'
21 'Line 03'
22 'Line 04'
23 'Line 05'
24 'Line 06'
25 'Line 07 (Headphones 1 L)'
26 'Line 08 (Headphones 1 R)'
27 'Line 09 (Headphones 2 L)'
28 'Line 10 (Headphones 2 R)'
29 'Line Out 01 Volume Control', ENUM
30 'Line Out 02 Volume Control', ENUM
31 'Line Out 03 Volume Control', ENUM
32 'Line Out 04 Volume Control', ENUM
33 'Line Out 05 Volume Control', ENUM
34 'Line Out 06 Volume Control', ENUM
35 'Line Out 07 Volume Control', ENUM
36 'Line Out 08 Volume Control', ENUM
37 'Line Out 09 Volume Control', ENUM
38 'Line Out 10 Volume Control', ENUM
39 'Mix A Input 01'
40 'Mix A Input 02'
41 'Mix A Input 03'
42 'Mix A Input 04'
43 'Mix A Input 05'
44 'Mix A Input 06'
45 'Mix A Input 07'
46 'Mix A Input 08'
47 'Mix A Input 09'
48 'Mix A Input 10'
49 'Mix A Input 11'
50 'Mix A Input 12'
51 'Mix A Input 13'
52 'Mix A Input 14'
53 'Mix A Input 15'
54 'Mix A Input 16'
55 'Mix A Input 17'
56 'Mix A Input 18'
57 'Mix B Input 01'
58 'Mix B Input 02'
59 'Mix B Input 03'
60 'Mix B Input 04'
61 'Mix B Input 05'
62 'Mix B Input 06'
63 'Mix B Input 07'
64 'Mix B Input 08'
65 'Mix B Input 09'
66 'Mix B Input 10'
67 'Mix B Input 11'
68 'Mix B Input 12'
69 'Mix B Input 13'
70 'Mix B Input 14'
71 'Mix B Input 15'
72 'Mix B Input 16'
73 'Mix B Input 17'
74 'Mix B Input 18'
75 'Mix C Input 01'
76 'Mix C Input 02'
77 'Mix C Input 03'
78 'Mix C Input 04'
79 'Mix C Input 05'
80 'Mix C Input 06'
81 'Mix C Input 07'
82 'Mix C Input 08'
83 'Mix C Input 09'
84 'Mix C Input 10'
85 'Mix C Input 11'
86 'Mix C Input 12'
87 'Mix C Input 13'
88 'Mix C Input 14'
89 'Mix C Input 15'
90 'Mix C Input 16'
91 'Mix C Input 17'
92 'Mix C Input 18'
93 'Mix D Input 01'
94 'Mix D Input 02'
95 'Mix D Input 03'
96 'Mix D Input 04'
97 'Mix D Input 05'
98 'Mix D Input 06'
99 'Mix D Input 07'
100 'Mix D Input 08'
101 'Mix D Input 09'
102 'Mix D Input 10'
103 'Mix D Input 11'
104 'Mix D Input 12'
105 'Mix D Input 13'
106 'Mix D Input 14'
107 'Mix D Input 15'
108 'Mix D Input 16'
109 'Mix D Input 17'
110 'Mix D Input 18'
111 'Mix E Input 01'
112 'Mix E Input 02'
113 'Mix E Input 03'
114 'Mix E Input 04'
115 'Mix E Input 05'
116 'Mix E Input 06'
117 'Mix E Input 07'
118 'Mix E Input 08'
119 'Mix E Input 09'
120 'Mix E Input 10'
121 'Mix E Input 11'
122 'Mix E Input 12'
123 'Mix E Input 13'
124 'Mix E Input 14'
125 'Mix E Input 15'
126 'Mix E Input 16'
127 'Mix E Input 17'
128 'Mix E Input 18'
129 'Mix F Input 01'
130 'Mix F Input 02'
131 'Mix F Input 03'
132 'Mix F Input 04'
133 'Mix F Input 05'
134 'Mix F Input 06'
135 'Mix F Input 07'
136 'Mix F Input 08'
137 'Mix F Input 09'
138 'Mix F Input 10'
139 'Mix F Input 11'
140 'Mix F Input 12'
141 'Mix F Input 13'
142 'Mix F Input 14'
143 'Mix F Input 15'
144 'Mix F Input 16'
145 'Mix F Input 17'
146 'Mix F Input 18'
147 'Mix G Input 01'
148 'Mix G Input 02'
149 'Mix G Input 03'
150 'Mix G Input 04'
151 'Mix G Input 05'
152 'Mix G Input 06'
153 'Mix G Input 07'
154 'Mix G Input 08'
155 'Mix G Input 09'
156 'Mix G Input 10'
157 'Mix G Input 11'
158 'Mix G Input 12'
159 'Mix G Input 13'
160 'Mix G Input 14'
161 'Mix G Input 15'
162 'Mix G Input 16'
163 'Mix G Input 17'
164 'Mix G Input 18'
165 'Mix H Input 01'
166 'Mix H Input 02'
167 'Mix H Input 03'
168 'Mix H Input 04'
169 'Mix H Input 05'
170 'Mix H Input 06'
171 'Mix H Input 07'
172 'Mix H Input 08'
173 'Mix H Input 09'
174 'Mix H Input 10'
175 'Mix H Input 11'
176 'Mix H Input 12'
177 'Mix H Input 13'
178 'Mix H Input 14'
179 'Mix H Input 15'
180 'Mix H Input 16'
181 'Mix H Input 17'
182 'Mix H Input 18'
183 'Mix I Input 01'
184 'Mix I Input 02'
185 'Mix I Input 03'
186 'Mix I Input 04'
187 'Mix I Input 05'
188 'Mix I Input 06'
189 'Mix I Input 07'
190 'Mix I Input 08'
191 'Mix I Input 09'
192 'Mix I Input 10'
193 'Mix I Input 11'
194 'Mix I Input 12'
195 'Mix I Input 13'
196 'Mix I Input 14'
197 'Mix I Input 15'
198 'Mix I Input 16'
199 'Mix I Input 17'
200 'Mix I Input 18'
201 'Mix J Input 01'
202 'Mix J Input 02'
203 'Mix J Input 03'
204 'Mix J Input 04'
205 'Mix J Input 05'
206 'Mix J Input 06'
207 'Mix J Input 07'
208 'Mix J Input 08'
209 'Mix J Input 09'
210 'Mix J Input 10'
211 'Mix J Input 11'
212 'Mix J Input 12'
213 'Mix J Input 13'
214 'Mix J Input 14'
215 'Mix J Input 15'
216 'Mix J Input 16'
217 'Mix J Input 17'
218 'Mix J Input 18'
219 'Mixer Input 01', ENUM
220 'Mixer Input 02', ENUM
221 'Mixer Input 03', ENUM
222 'Mixer Input 04', ENUM
223 'Mixer Input 05', ENUM
224 'Mixer Input 06', ENUM
225 'Mixer Input 07', ENUM
226 'Mixer Input 08', ENUM
227 'Mixer Input 09', ENUM
228 'Mixer Input 10', ENUM
229 'Mixer Input 11', ENUM
230 'Mixer Input 12', ENUM
231 'Mixer Input 13', ENUM
232 'Mixer Input 14', ENUM
233 'Mixer Input 15', ENUM
234 'Mixer Input 16', ENUM
235 'Mixer Input 17', ENUM
236 'Mixer Input 18', ENUM
237 'ADAT Output 1', ENUM
238 'ADAT Output 2', ENUM
239 'ADAT Output 3', ENUM
240 'ADAT Output 4', ENUM
241 'ADAT Output 5', ENUM
242 'ADAT Output 6', ENUM
243 'ADAT Output 7', ENUM
244 'ADAT Output 8', ENUM
245 'Analogue Output 01', ENUM
246 'Analogue Output 02', ENUM
247 'Analogue Output 03', ENUM
248 'Analogue Output 04', ENUM
249 'Analogue Output 05', ENUM
250 'Analogue Output 06', ENUM
251 'Analogue Output 07', ENUM
252 'Analogue Output 08', ENUM
253 'Analogue Output 09', ENUM
254 'Analogue Output 10', ENUM
255 'Clock Source Clock Source', ENUM
256 'Dim', PBS
257 'Mute', PBS
258 'S/PDIF Output 1', ENUM
259 'S/PDIF Output 2', ENUM
Can anyone point me in the direction I should be going to get a patch working for the 2nd gen? My C is a bit rusty but I reckon I could get something hacked together if someone can provide me with a bit of an intro with how the code here works...
Thanks!