Oh wow. It's like almost there actually.
48kHz -i10 -o10 works:
Code: Select all
[ 685.458854] usb 1-1: Re-using EP 81 in iface 2,3 @00000000efebfc96
[ 685.459052] usb 1-1: Setting params for ep #81 (type 0, 12 urbs), ret=0
[ 685.459321] usb 1-1: setting usb interface 1:3
[ 685.459322] usb 1-1: Re-using EP 1 in iface 1,3 @000000009c0f52e0
[ 685.459323] usb 1-1: Re-using EP 81 in iface 2,3 @00000000efebfc96
[ 685.459494] usb 1-1: Setting params for ep #1 (type 0, 12 urbs), ret=0
[ 685.459495] usb 1-1: match_endpoint_audioformats: (fmt @0000000099aa5a6c) score 1
[ 685.459496] usb 1-1: match_endpoint_audioformats: (fmt @000000004456e9d2) score 1
[ 685.459497] usb 1-1: match_endpoint_audioformats: (fmt @0000000069f9c2c7) score 2
[ 685.459502] usb 1-1: Setting params for ep #81 (type 0, 12 urbs), ret=0
[ 685.459503] usb 1-1: Starting data EP @000000009c0f52e0
[ 685.459716] usb 1-1: Starting sync EP @00000000efebfc96
[ 685.460934] usb 1-1: Starting data EP @00000000efebfc96
48kHz -i18 -o18 works (similar output)
48kHz -i20 -o20 works (similar output)
96kHz -i18 -o18 works (similar output)
96kHz -i10 -o10 works (similar output)
192kHz -i10 -o10 works (similar output)
capture also works properly and they indeed launch interface in selected resolutions, it's quire easy to verify since at 192kHz Scarlett 18i20 disables outputs using Custom Mix routing and that's exactly what happens when JACK is launched at 192kHz.
ALSA works
pulseaudio works
48kHz -i10 (-o20) doesn't work
Code: Select all
2020-03-23T10:27:50.011778+01:00 linux-a7l6 kernel: [ 253.815529] usb 1-1: setting usb interface 2:3
2020-03-23T10:27:50.011788+01:00 linux-a7l6 kernel: [ 253.815532] usb 1-1: Re-using EP 81 in iface 2,3 @00000000efebfc96
2020-03-23T10:27:50.011789+01:00 linux-a7l6 kernel: [ 253.815968] usb 1-1: Setting params for ep #81 (type 0, 12 urbs), ret=0
2020-03-23T10:27:50.011789+01:00 linux-a7l6 kernel: [ 253.816379] usb 1-1: setting usb interface 1:1
2020-03-23T10:27:50.011790+01:00 linux-a7l6 kernel: [ 253.816381] usb 1-1: Re-using EP 1 in iface 1,1 @00000000dc3a7b64
2020-03-23T10:27:50.011790+01:00 linux-a7l6 kernel: [ 253.816381] usb 1-1: Re-using EP 81 in iface 2,1 @0000000076cfa7cb
2020-03-23T10:27:50.011790+01:00 linux-a7l6 kernel: [ 253.816585] usb 1-1: Setting params for ep #1 (type 0, 12 urbs), ret=0
2020-03-23T10:27:50.011791+01:00 linux-a7l6 kernel: [ 253.816586] usb 1-1: match_endpoint_audioformats: (fmt @0000000099aa5a6c) score 2
2020-03-23T10:27:50.011792+01:00 linux-a7l6 kernel: [ 253.816587] usb 1-1: match_endpoint_audioformats: (fmt @000000004456e9d2) score 1
2020-03-23T10:27:50.011803+01:00 linux-a7l6 kernel: [ 253.816587] usb 1-1: match_endpoint_audioformats: (fmt @0000000069f9c2c7) score 1
2020-03-23T10:27:50.011805+01:00 linux-a7l6 kernel: [ 253.816596] usb 1-1: Setting params for ep #81 (type 0, 12 urbs), ret=0
2020-03-23T10:27:50.011805+01:00 linux-a7l6 kernel: [ 253.816596] usb 1-1: Starting data EP @00000000dc3a7b64
2020-03-23T10:27:50.011806+01:00 linux-a7l6 kernel: [ 253.816827] usb 1-1: Starting sync EP @0000000076cfa7cb
2020-03-23T10:27:50.011806+01:00 linux-a7l6 kernel: [ 253.818047] usb 1-1: Starting data EP @00000000efebfc96
2020-03-23T10:27:50.023766+01:00 linux-a7l6 kernel: [ 253.830086] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.023788+01:00 linux-a7l6 kernel: [ 253.830207] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.023789+01:00 linux-a7l6 kernel: [ 253.830344] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.023789+01:00 linux-a7l6 kernel: [ 253.830464] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.023790+01:00 linux-a7l6 kernel: [ 253.830609] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.023791+01:00 linux-a7l6 kernel: [ 253.830708] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.027764+01:00 linux-a7l6 kernel: [ 253.830833] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.027794+01:00 linux-a7l6 kernel: [ 253.830963] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.027796+01:00 linux-a7l6 kernel: [ 253.830966] retire_capture_urb: 7574 callbacks suppressed
2020-03-23T10:27:50.027796+01:00 linux-a7l6 kernel: [ 253.830967] usb 1-1: frame 0 active: -75
2020-03-23T10:27:50.027797+01:00 linux-a7l6 kernel: [ 253.830969] usb 1-1: frame 1 active: -75
2020-03-23T10:27:50.027802+01:00 linux-a7l6 kernel: [ 253.830970] usb 1-1: frame 2 active: -75
2020-03-23T10:27:50.027803+01:00 linux-a7l6 kernel: [ 253.830971] usb 1-1: frame 3 active: -75
2020-03-23T10:27:50.027803+01:00 linux-a7l6 kernel: [ 253.830972] usb 1-1: frame 4 active: -75
2020-03-23T10:27:50.027804+01:00 linux-a7l6 kernel: [ 253.830973] usb 1-1: frame 5 active: -75
2020-03-23T10:27:50.027805+01:00 linux-a7l6 kernel: [ 253.830975] usb 1-1: frame 6 active: -75
2020-03-23T10:27:50.027805+01:00 linux-a7l6 kernel: [ 253.830976] usb 1-1: frame 7 active: -75
2020-03-23T10:27:50.027805+01:00 linux-a7l6 kernel: [ 253.831085] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.027806+01:00 linux-a7l6 kernel: [ 253.831207] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
2020-03-23T10:27:50.027806+01:00 linux-a7l6 kernel: [ 253.831333] xhci_hcd 0000:00:14.0: WARN: buffer overrun event for slot 4 ep 2 on endpoint
48kHz -o10 (-i20) doesn't work
Code: Select all
[ 336.795120] usb 1-1: setting usb interface 2:1
[ 336.795123] usb 1-1: Re-using EP 81 in iface 2,1 @0000000076cfa7cb
[ 336.795518] usb 1-1: Setting params for ep #81 (type 0, 12 urbs), ret=0
[ 336.795818] usb 1-1: setting usb interface 1:3
[ 336.795819] usb 1-1: Re-using EP 1 in iface 1,3 @000000009c0f52e0
[ 336.795820] usb 1-1: Re-using EP 81 in iface 2,3 @00000000efebfc96
[ 336.796016] usb 1-1: Setting params for ep #1 (type 0, 12 urbs), ret=0
[ 336.796017] usb 1-1: match_endpoint_audioformats: (fmt @0000000099aa5a6c) score 1
[ 336.796017] usb 1-1: match_endpoint_audioformats: (fmt @000000004456e9d2) score 1
[ 336.796018] usb 1-1: match_endpoint_audioformats: (fmt @0000000069f9c2c7) score 2
[ 336.796026] usb 1-1: Setting params for ep #81 (type 0, 12 urbs), ret=0
[ 336.796027] usb 1-1: Starting data EP @000000009c0f52e0
[ 336.796258] usb 1-1: Starting sync EP @00000000efebfc96
[ 336.797572] usb 1-1: Starting data EP @0000000076cfa7cb
[ 336.974386] usb 1-1: Starting data EP @000000009c0f52e0
[ 336.974833] usb 1-1: Starting sync EP @00000000efebfc96
[ 336.974921] usb 1-1: Starting data EP @0000000076cfa7cb
[ 337.150445] usb 1-1: Starting data EP @000000009c0f52e0
[ 337.150791] usb 1-1: Starting sync EP @00000000efebfc96
[ 337.150857] usb 1-1: Starting data EP @0000000076cfa7cb
[ 337.326478] usb 1-1: Starting data EP @000000009c0f52e0
[ 337.326937] usb 1-1: Starting sync EP @00000000efebfc96
[ 337.327045] usb 1-1: Starting data EP @0000000076cfa7cb
[ 337.502444] usb 1-1: Starting data EP @000000009c0f52e0
[ 337.502854] usb 1-1: Starting sync EP @00000000efebfc96
[ 337.502949] usb 1-1: Starting data EP @0000000076cfa7cb
[ 337.678431] usb 1-1: Starting data EP @000000009c0f52e0
[ 337.678861] usb 1-1: Starting sync EP @00000000efebfc96
[ 337.678964] usb 1-1: Starting data EP @0000000076cfa7cb
[ 337.854411] usb 1-1: Starting data EP @000000009c0f52e0
[ 337.854757] usb 1-1: Starting sync EP @00000000efebfc96
[ 337.854814] usb 1-1: Starting data EP @0000000076cfa7cb
But uh. Idk. I mean if I didn't test that before patching I'd probably assume mixed i/o configs are just not supposed to work because like... I don't really see any use case for that realistically. tbh I don't really see any reason to launch interface with less than max available inputs/outputs in general as long as it works properly with full i/o... I believe raw ALSA and pulseaudio do 10/10 at 48kHz just because in such config they can map channels to 7.1 system dictionary more easily. That's the only reasoning I can see behind that.
For me it basically works. I'll test for few days again to search for some audible side effects/crackling etc but I guess I tested most of it already.
The only side effect I see is that sometimes Scarlett just crashes physically and disconnects when JACK is restarting it to change sample rate but it kinda also happened randomly before patching so I guess that's just how this unit operates sometimes. Also it's rare and switching it off/on solves the problem so w.e.
Code: Select all
2020-03-23T10:37:33.823824+01:00 linux-a7l6 kernel: [ 837.387140] usb 1-1: setting usb interface 2:1
2020-03-23T10:37:33.823837+01:00 linux-a7l6 kernel: [ 837.387142] usb 1-1: Re-using EP 81 in iface 2,1 @000000008c495897
2020-03-23T10:37:33.823838+01:00 linux-a7l6 kernel: [ 837.387433] usb 1-1: Setting params for ep #81 (type 0, 12 urbs), ret=0
2020-03-23T10:37:33.823838+01:00 linux-a7l6 kernel: [ 837.387777] usb 1-1: setting usb interface 1:1
2020-03-23T10:37:33.823838+01:00 linux-a7l6 kernel: [ 837.387778] usb 1-1: Re-using EP 1 in iface 1,1 @00000000683d7406
2020-03-23T10:37:33.823839+01:00 linux-a7l6 kernel: [ 837.387779] usb 1-1: Re-using EP 81 in iface 2,1 @000000008c495897
2020-03-23T10:37:33.823866+01:00 linux-a7l6 kernel: [ 837.387982] usb 1-1: Setting params for ep #1 (type 0, 12 urbs), ret=0
2020-03-23T10:37:33.823867+01:00 linux-a7l6 kernel: [ 837.387983] usb 1-1: match_endpoint_audioformats: (fmt @000000000c0318a1) score 2
2020-03-23T10:37:33.823868+01:00 linux-a7l6 kernel: [ 837.387984] usb 1-1: match_endpoint_audioformats: (fmt @00000000dfbd255e) score 1
2020-03-23T10:37:33.823869+01:00 linux-a7l6 kernel: [ 837.387984] usb 1-1: match_endpoint_audioformats: (fmt @000000002ca408d6) score 1
2020-03-23T10:37:33.823869+01:00 linux-a7l6 kernel: [ 837.387991] usb 1-1: Setting params for ep #81 (type 0, 12 urbs), ret=0
2020-03-23T10:37:33.823870+01:00 linux-a7l6 kernel: [ 837.387991] usb 1-1: Starting data EP @00000000683d7406
2020-03-23T10:37:33.823870+01:00 linux-a7l6 kernel: [ 837.388209] usb 1-1: Starting sync EP @000000008c495897
2020-03-23T10:37:33.823871+01:00 linux-a7l6 kernel: [ 837.389214] usb usb1-port1: disabled by hub (EMI?), re-enabling...
2020-03-23T10:37:33.823871+01:00 linux-a7l6 kernel: [ 837.389216] usb 1-1: USB disconnect, device number 6