Focusrite Scarlett 18i20 2nd Gen mixer driver

Talk about your MIDI interfaces, microphones, keyboards...

Moderators: khz, MattKingUSA

geoffrey
Established Member
Posts: 21
Joined: Mon Jul 30, 2018 2:08 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Postby geoffrey » Sun Apr 14, 2019 3:23 am

Jorin wrote:
geoffrey wrote:[...]

Outputs here: https://gist.github.com/jorins/46bce342 ... 2feacd7243
[...]

I don't see any significant difference between your usbmon capture and mine, except when yours fails and mine gets a response, although interestingly your capture has error -2 (ENOENT) instead of -110 (ETIMEDOUT) like before:

Code: Select all

ffff969fb4880300 1865259336 S Co:3:009:0 s 21 02 0000 0005 0010 16 = 00000000 00000000 00000000 00000000
ffff969fb4880300 1865259448 C Co:3:009:0 0 16 >
ffff969fb4880300 1865259454 S Ci:3:009:0 s a1 03 0000 0005 0010 16 <
ffff969fb4880300 1870412618 C Ci:3:009:0 -2 0
vs.

Code: Select all

ffff967c9361b0c0 933637178 S Co:092:00 s 21 02 0000 0005 0010 16 = 00000000 00000000 00000000 00000000
ffff967c9361b0c0 933637197 C Co:092:00 0 16 >
ffff967c9361b0c0 933637204 S Ci:092:00 s a1 03 0000 0005 0010 16 <
ffff967c9361b0c0 933637238 C Ci:092:00 0 16 = 00000000 00000000 00000000 00000000

My corresponding lsusb & usbmon output is available at https://gist.github.com/geoffreybennett ... 07687efc6f if you'd like to look and compare. I also included the contents of /sys/kernel/debug/usb/devices; how does that compare to yours?

Any chance you can capture the same while booting a Windows VM with the Focusrite driver so we can see what happens differently with that?

macramole
Posts: 2
Joined: Sat Nov 10, 2018 5:35 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Postby macramole » Mon Apr 15, 2019 3:55 am

Working good on Linux Mint 19.1

Had some problems with the kernel (no DKMS modules, no NVIDIA drivers) but the Scarlett driver was working perfect, alsamixer showing all the faders.

Thanks for this !

geoffrey
Established Member
Posts: 21
Joined: Mon Jul 30, 2018 2:08 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Postby geoffrey » Mon Apr 15, 2019 8:18 am

macramole wrote:Working good on Linux Mint 19.1

Had some problems with the kernel (no DKMS modules, no NVIDIA drivers) but the Scarlett driver was working perfect, alsamixer showing all the faders.

Thanks for this !

Great! Thank you for testing! Can you confirm if all the faders and switches do the right things for you too?

macramole
Posts: 2
Joined: Sat Nov 10, 2018 5:35 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Postby macramole » Tue Apr 16, 2019 4:00 am

geoffrey wrote:
macramole wrote:Working good on Linux Mint 19.1

Had some problems with the kernel (no DKMS modules, no NVIDIA drivers) but the Scarlett driver was working perfect, alsamixer showing all the faders.

Thanks for this !

Great! Thank you for testing! Can you confirm if all the faders and switches do the right things for you too?


I tried quite a few and everything was working as expected, it wasn't an exhaustive test though. I'd love to have some more time and code a GUI, maybe in a couple of months ! Thanks for your time is great to have better linux support for this gear

geoffrey
Established Member
Posts: 21
Joined: Mon Jul 30, 2018 2:08 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Postby geoffrey » Tue Apr 16, 2019 6:54 am

macramole wrote:
geoffrey wrote:
macramole wrote:Working good on Linux Mint 19.1

Had some problems with the kernel (no DKMS modules, no NVIDIA drivers) but the Scarlett driver was working perfect, alsamixer showing all the faders.

Thanks for this !

Great! Thank you for testing! Can you confirm if all the faders and switches do the right things for you too?

I tried quite a few and everything was working as expected, it wasn't an exhaustive test though. I'd love to have some more time and code a GUI, maybe in a couple of months ! Thanks for your time is great to have better linux support for this gear

Thanks again, I appreciate the feedback. If anyone else has tested and can confirm what's working/not working, that will be helpful.

porfyros
Established Member
Posts: 3
Joined: Mon Dec 17, 2018 9:34 pm

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Postby porfyros » Wed Apr 17, 2019 8:12 pm

Hi geoffrey,

Many thanks for your effort!

I am testing on Debian 9.8. I built a kernel based on your code and booted successfully into the system. I 'm afraid I didn't have any luck yet.

After booting, I do "alsamixer -cUSB" and I don't see any fader. When I do "lsusb -v -d 1235:8201" I get:
https://gist.github.com/porfyros/0ec786 ... 5c686dc5bd

Any ideas ?

Jorin
Established Member
Posts: 3
Joined: Fri Apr 12, 2019 5:44 pm

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Postby Jorin » Thu Apr 18, 2019 10:46 am

geoffrey wrote:
Jorin wrote:
geoffrey wrote:[...]

Outputs here: https://gist.github.com/jorins/46bce342 ... 2feacd7243
[...]

[...]

My corresponding lsusb & usbmon output is available at https://gist.github.com/geoffreybennett ... 07687efc6f if you'd like to look and compare. I also included the contents of /sys/kernel/debug/usb/devices; how does that compare to yours?

Any chance you can capture the same while booting a Windows VM with the Focusrite driver so we can see what happens differently with that?


Hey! Been a bit busy with work so I haven't had time to reply as that's a bit of a tall order. Unfortunately I also had to format my Linux partition, and with that went the kernel. I could maybe continue testing next week, as I'll have more time then and will be able to test on my laptop, which is already quite well set up for virtualisation. Here's the interface as seen in my /sys/kernel/debug/usb/devices anyhow, though running kernel 4.19.32-1-MANJARO. The only difference other than the bus and serial number seems to be asterisks at the start of a few lines.

Code: Select all

T:  Bus=03 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  2
P:  Vendor=1235 ProdID=8201 Rev= 4.3b
S:  Manufacturer=Focusrite
S:  Product=Scarlett 18i20 USB
S:  SerialNumber=02004377
C:* #Ifs= 6 Cfg#= 1 Atr=c0 MxPwr=  0mA
A:  FirstIf#= 0 IfCount= 3 Cls=01(audio) Sub=00 Prot=20
I:* If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=20 Driver=snd-usb-audio
I:  If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
I:* If#= 1 Alt= 1 #EPs= 2 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
E:  Ad=01(O) Atr=05(Isoc) MxPS= 560 Ivl=125us
E:  Ad=81(I) Atr=11(Isoc) MxPS=   4 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
E:  Ad=01(O) Atr=05(Isoc) MxPS= 832 Ivl=125us
E:  Ad=81(I) Atr=11(Isoc) MxPS=   4 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
E:  Ad=01(O) Atr=05(Isoc) MxPS=1000 Ivl=125us
E:  Ad=81(I) Atr=11(Isoc) MxPS=   4 Ivl=1ms
I:  If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
I:* If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
E:  Ad=82(I) Atr=25(Isoc) MxPS= 504 Ivl=125us
I:  If#= 2 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
E:  Ad=82(I) Atr=05(Isoc) MxPS= 728 Ivl=125us
I:  If#= 2 Alt= 3 #EPs= 1 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
E:  Ad=82(I) Atr=05(Isoc) MxPS=1000 Ivl=125us
I:* If#= 3 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:* If#= 4 Alt= 0 #EPs= 2 Cls=01(audio) Sub=03 Prot=00 Driver=snd-usb-audio
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 5 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=10 Driver=(none)
E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=500us
C:  #Ifs= 6 Cfg#= 1 Atr=c0 MxPwr=  0mA
A:  FirstIf#= 0 IfCount= 3 Cls=01(audio) Sub=00 Prot=20
I:  If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=20 Driver=
I:  If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=
I:  If#= 1 Alt= 1 #EPs= 2 Cls=01(audio) Sub=02 Prot=20 Driver=
E:  Ad=01(O) Atr=05(Isoc) MxPS= 560 Ivl=125us
E:  Ad=81(I) Atr=11(Isoc) MxPS=   4 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=01(audio) Sub=02 Prot=20 Driver=
E:  Ad=01(O) Atr=05(Isoc) MxPS= 832 Ivl=125us
E:  Ad=81(I) Atr=11(Isoc) MxPS=   4 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=01(audio) Sub=02 Prot=20 Driver=
E:  Ad=01(O) Atr=05(Isoc) MxPS=1000 Ivl=125us
E:  Ad=81(I) Atr=11(Isoc) MxPS=   4 Ivl=1ms
I:  If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=
I:  If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=20 Driver=
E:  Ad=82(I) Atr=25(Isoc) MxPS= 504 Ivl=125us
I:  If#= 2 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=20 Driver=
E:  Ad=82(I) Atr=05(Isoc) MxPS= 728 Ivl=125us
I:  If#= 2 Alt= 3 #EPs= 1 Cls=01(audio) Sub=02 Prot=20 Driver=
E:  Ad=82(I) Atr=05(Isoc) MxPS=1000 Ivl=125us
I:  If#= 3 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=
I:  If#= 4 Alt= 0 #EPs= 2 Cls=01(audio) Sub=03 Prot=00 Driver=
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 5 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=10 Driver=
E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=500us
metal bassist

geoffrey
Established Member
Posts: 21
Joined: Mon Jul 30, 2018 2:08 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Postby geoffrey » Thu Apr 18, 2019 3:31 pm

porfyros wrote:Hi geoffrey,

Many thanks for your effort!

I am testing on Debian 9.8. I built a kernel based on your code and booted successfully into the system. I 'm afraid I didn't have any luck yet.

After booting, I do "alsamixer -cUSB" and I don't see any fader. When I do "lsusb -v -d 1235:8201" I get:
https://gist.github.com/porfyros/0ec786 ... 5c686dc5bd

Any ideas ?

Hi Porfyros, thank you for giving it a go and sending your feedback. Here are some questions which will help narrow down what's happening:

Does audio in/out still work even though the faders haven't appeared?

Can you send through the output of dmesg as well as 'amixer -cUSB'?

Can you capture the output of "usbmon" as per my message to Jorin above: “You can capture USB bus traffic by running "usbmon -fu -s 10000 | grep -v 'Z[io]:'"...”

Also, if you can, could you edit the sound/usb/mixer_scarlett_gen2.c file, snd_scarlett_gen2_controls_create() function and insert some lines like:

Code: Select all

snd_printk(KERN_ERR "Scarlett test 1\n");

to check how far into that function it gets (FYI, you can use "make M=sound/usb modules" to only recompile that module).

Thanks, Geoffrey.

porfyros
Established Member
Posts: 3
Joined: Mon Dec 17, 2018 9:34 pm

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Postby porfyros » Thu Apr 18, 2019 9:30 pm

Hi geoffrey,

I stand corrected and happily report that I have a working setup! So we have a working case for Debian 9.8.

I probably did something wrong when I made the initial configuration for compiling. I retried after your pointers and I can now see all the inputs/outputs!

Next step is to figure out how to use it!

Many thanks!!!

I intend to check the GUIs, I wonder if anybody had any luck trying them out.


Return to “Computer Related Hardware”

Who is online

Users browsing this forum: No registered users and 1 guest