Focusrite Scarlett 18i20 2nd Gen mixer driver

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

Moderators: MattKingUSA, khz

Post Reply
geoffrey
Established Member
Posts: 250
Joined: Mon Jul 30, 2018 2:08 am
Has thanked: 33 times
Been thanked: 163 times

Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by geoffrey »

Hi all,

I'm working on a Focusrite Scarlett 18i20 2nd Gen mixer driver (update to the snd-usb-audio kernel module). So far I can:
- set analogue output volumes
- switch between analogue output volumes controlled by software or the hardware front panel knob
- set the volumes of the 18 inputs for each of the 10 mixes (180 faders!)
- set the sources for the 20 analogue outputs
- set the sources for the 18 PCM inputs
- set the sources for the 18 mixer inputs

Currently lacking at least:
- load/save of mixer state
- reading of current state (volume knob, mute and dim buttons, levels)

If there's anyone with one of these devices (must be an 18i20 2nd gen, USB ID 1235:8201) who is comfortable with make, rmmod, and insmod and wants to try this (alpha-quality) driver out and give me feedback, please send me a PM. Even better if you are familiar with kernel USB and/or ALSA development (I'm not, and I have some questions!).

Thanks,
Geoffrey.
alsamixer doesn't work very well with 180 faders
alsamixer doesn't work very well with 180 faders
Screenshot from 2018-08-11 00-01-25.png (5.7 KiB) Viewed 10016 times
trrichard
Established Member
Posts: 9
Joined: Thu Sep 07, 2017 6:51 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by trrichard »

Looks like I can't send PM's yet, I have and 18i8 and I'd be happy to help. Should be pretty similar with limited dimensionality on the output matrix.
geoffrey
Established Member
Posts: 250
Joined: Mon Jul 30, 2018 2:08 am
Has thanked: 33 times
Been thanked: 163 times

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by geoffrey »

trrichard wrote:Looks like I can't send PM's yet, I have and 18i8 and I'd be happy to help.
Here's my current code: https://nofile.io/f/v7e9Vxf6GbO/scarlett-gen2.tar.gz
Inside you'll find a tiny patch to a few files in sound/usb plus a new file to go in the same directory. What is working for me to build and test it is:
- make M=sound/usb
- "autospawn = no" in .config/pulse/client.conf
- pulseaudio -k
- killall pulseaudio alsactl
- rmmod snd_usb_audio
- insmod sound/usb/snd-usb-audio.ko
trrichard wrote:Should be pretty similar with limited dimensionality on the output matrix.
Yes, hopefully! There's changes that'd need to be made for the front panel buttons too, e.g. inst/pad are software controlled on the 18i8 vs. hardware buttons on the 18i20.

Since my previous post, I added support for reading the current state (volume knob, mute and dim buttons, levels) from the interface. Feedback from people who manage to get it working would be appreciated.
trrichard
Established Member
Posts: 9
Joined: Thu Sep 07, 2017 6:51 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by trrichard »

Looks like this is a fork of the Gen 1 code too.

Two questions:
1) Are you trying to keep backwards compatibility?
2) Can you give me a feeling for the major changes between v1 and v2?
trrichard
Established Member
Posts: 9
Joined: Thu Sep 07, 2017 6:51 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by trrichard »

Looks like it's missing a .h file from the tarball.
trrichard
Established Member
Posts: 9
Joined: Thu Sep 07, 2017 6:51 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by trrichard »

I'm assuming the .h file has just the single snd_scarlett_gen2_controls_create function for now.
trrichard
Established Member
Posts: 9
Joined: Thu Sep 07, 2017 6:51 am

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by trrichard »

Also, I did get it building against my 4.4 kernel. I have not started testing or probing it just yet
cornicis
Established Member
Posts: 3
Joined: Tue Oct 02, 2018 2:15 pm

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by cornicis »

Somehow I can't send you PMs geoffrey, but I have also a Scarlett 18i20 2nd Gen and some experience in software development (no kernel/alsa stuff but am motivated to dig deeper in it).

Unfortunately the link to your code from Aug 29th doesn't work anymore so I can't test it. Maybe you can upload it again?
ciolansteen
Established Member
Posts: 5
Joined: Fri Oct 26, 2018 8:22 pm

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by ciolansteen »

I'd also like to help. I have a 18i8 2nd Gen. So refreshing the download link would be amazing. Thanks :)
Andre
Established Member
Posts: 4
Joined: Wed Nov 07, 2018 6:18 pm

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by Andre »

I have a 18i20 2nd Generation, running on Linux (Debian stretch, kernel 4.9.47). I've patched the kernel, so the 18i20 is recognized.
Can you give me a link to the patch from august-29. ?
If you need more testing to be done, i'm willing to participate.
porfyros
Established Member
Posts: 5
Joined: Mon Dec 17, 2018 9:34 pm

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by porfyros »

Another one with Focusrite Scarlett 18i20 2nd Gen willing to participate and test!

I think brand new members cannot send PMs, so if possible an update to the patch would be great!
jth
Posts: 1
Joined: Wed Jan 16, 2019 9:21 pm

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by jth »

I've just purchased a 2nd generation 6i6 and would love to help (assuming the 2nd generation 6i6 behaves similarly to the 2nd generation 18i20). I've got a fair amount of Linux kernel experience (but never in ALSA) as well as access to a USB analyzer.

It appears the link to the source above is broken. Would it be possible to get an updated link?
Philotomy
Established Member
Posts: 61
Joined: Sun Apr 02, 2017 9:47 am
Has thanked: 7 times
Been thanked: 6 times

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by Philotomy »

I just bought and hooked up an 18i8 2nd gen (used a Mac to run the Focusrite mixer/config software), so I was really pleased to find this discussion. Is this driver still under development and is the source available?
My recordings on SoundCloud
Distro: Arch, DAW: Bitwig, Interface: Scarlett 18i8 Gen 2
geoffrey
Established Member
Posts: 250
Joined: Mon Jul 30, 2018 2:08 am
Has thanked: 33 times
Been thanked: 163 times

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by geoffrey »

Hi all, I'm so sorry for the delay! I thought no-one was interested because I logged in LinuxMusicians occasionally and there was never a notification that someone had posted to the thread. Is there a better platform that we can do this on?

I added the missing .h file to the tar and uploaded it to: https://nofile.io/f/huGXeK5h6ra/scarlett-gen2.tar.gz for anyone who wants to try it out now.

I've been using it for the past few months, to configure the zero-latency monitoring and it's also neat to be able to control the capture mux which I don't think the Focusrite Control software lets you do. This means that the ALSA PCM inputs can be assigned to the internal mixer outputs so then you can do a mix in hardware and the ALSA application only has to capture 2 channels.

I should mention that I have a problem where my interface stops outputting audio after long time of inactivity (like if I leave it on overnight). Not sure if that's a hardware fault, a Linux USB audio fault, or a fault caused by my patch. I haven't been motivated enough to investigate it yet, as it hasn't stopped working when I've actually been using it.
tseaver
Established Member
Posts: 391
Joined: Mon Mar 13, 2017 6:07 am
Has thanked: 10 times
Been thanked: 95 times

Re: Focusrite Scarlett 18i20 2nd Gen mixer driver

Post by tseaver »

@geoffrey:
Is there a better platform that we can do this on?
Since you will be doing collaboartive software development, you could create a Github repository for[1] those files (along with a LICENSE, README, etc.) Folks who want to collaborate with you on the drive can then create their own forks, submit pull requests to you, etc. Folks who just want the latest-and-greatest can download the zipfile from Github, along with downloading zipfiles for any tagged releases you make[2].

[1] https://help.github.com/en/articles/create-a-repo
[2] https://help.github.com/en/articles/about-releases
Ubuntu, Mixbus32C; acoustic blues / country / jazz
Post Reply