Focusrite Scarlett Gen 3 4i4 (and others)

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

Moderators: MattKingUSA, khz

alex
Established Member
Posts: 6
Joined: Fri May 08, 2020 5:13 am

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by alex »

GuitarNoob wrote:
Wed May 13, 2020 1:46 am
I did get it out of MSD mode. I first tried to using the method in the docs but it didn't seem to work so IIRC I just held down the 48v button for about 15 seconds while powering it on.
Can confirm this worked on my 3rd Gen 18i8 too. Thanks!

n473
Posts: 1
Joined: Thu Jun 04, 2020 6:16 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by n473 »

Nice thread guys! I just ordered a focusrite 4i4 since the presonous audiobox usb 96 i bought had a faulty phantom power toggle and there wasn't much else available anymore :shock:

Sounds like the main feature I may need is the switching between mic and instrument for the front preamps. I have a bit of experience debugging in linux and am no noob to jackd / linux audio so happy to help troubleshoot any effort at control software :)

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

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by geoffrey »

Hi all,

Thank you for your patience :). I have uploaded source code for a Gen 3 4i4 driver to github:

Branch: https://github.com/geoffreybennett/scar ... rlett-gen3

Commit: https://github.com/geoffreybennett/scar ... 276a1c76b9

There's maybe support for the Gen 3 8i6 in there too, but it is untested.

I would like to add support for the Gen 3 18i8 and Gen 3 18i20 as well but need more assistance from someone who has one and can do usbmon dumps while using the Focusrite Control software.

Huge thanks goes to Laurent Debricon who sent me a Gen 3 4i4 so I could develop the driver. Without his donation, this driver wouldn't have happened.

If you don't want to build the kernel from source yourself to test this, I'll upload RPM and deb packages once they've finished building.

As is the case for the Gen 2 driver, you need to enable the driver at module load time with the "device_setup=1" option to insmod/modprobe. In /etc/modprobe.d/scarlett.conf, something like one of these lines should do it:

Code: Select all

options snd_usb_audio device_setup=1,1,1,1
options snd_usb_audio vid=0x1235 pid=0x8212 device_setup=1
The Gen 3 driver supports the same mixing/routing functionality as the Gen 2 driver, plus it supports enabling/disabling the Gen 3-only "Air" and MSD modes. Enabling MSD mode seems to me to be something that you would never want to do, so once you disable it the control gets hidden (use device_setup=3 if you really want to make it reappear).

Regards,
Geoffrey.

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

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by geoffrey »

Precompiled RPM and deb packages with Gen 3 4i4 support are on github now:
https://github.com/geoffreybennett/scar ... g/v5.7.1s1

Code: Select all

[root@fedora ~]# uname -a
Linux fedora 5.7.1s1+ #44 SMP Wed Jun 10 01:27:30 ACST 2020 x86_64 x86_64 x86_64 GNU/Linux
root@ubuntu-1810:~# uname -a
Linux ubuntu-1810 5.7.1s1+ #8 SMP Tue Jun 9 13:24:21 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

clovis
Established Member
Posts: 3
Joined: Tue May 05, 2020 3:41 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by clovis »

geoffrey wrote:
Tue Jun 09, 2020 3:34 pm
I would like to add support for the Gen 3 18i8 and Gen 3 18i20 as well but need more assistance from someone who has one and can do usbmon dumps while using the Focusrite Control software.
Hi Geoffrey,

Your work seems to be exactly what I need! Thanks!
I can help you with 18i20 Gen 3 device if you want, feel free to contact me to explain your requirement.

Regards,
Clovis.

assapan
Posts: 1
Joined: Wed Jun 10, 2020 11:16 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by assapan »

geoffrey wrote:
Tue Jun 09, 2020 7:45 pm
Precompiled RPM and deb packages with Gen 3 4i4 support are on github now:
https://github.com/geoffreybennett/scar ... g/v5.7.1s1
Awesome job, Geoffrey! :D

I am currently in the process of moving from Windows10 to UbuntuStudio because I was struggling to tune my i7 Asus 16GB Windows10 for optimal PianoteQ latency and performance with my Focusrite Scarlett 4i4 3rd gen. Just installed dual boot UbuntuStudio 20.04, and with no tweaking, latency/performance got an immediate substancial quantum leap with a standalone PianoteQ. I am very happy.

As next step, I am trying to get familiar with ALSA and Jack to get a more complex setup, and realized there is no official support, and started googling to get more info, and finally landed on this forum and found your driver!
Now I would be happy to deploy your driver on my system, but honestly I not an expert in Linux/Ubuntu field of compiling drivers: I attempted to download the sources from the Git repository, then I understood it's glued into 5.7.1s1 kernel code, so basically I am lost on what should I do because my UbuntuStudio 20.04 system has a different kernel:

Code: Select all

beatless@mydaw:~# uname -a
Linux mydaw 5.4.0-37-lowlatency #41-Ubuntu SMP PREEMPT Wed Jun 3 19:52:07 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
:|

I attempted having a look in forums of the board, but havent found (yet) someting relevant.... so:
Is it possible to use your driver with a different kernel?
If not, is there any hint on which is the suggested path to proceed? Should I upgrade the UbuntuStudio kernel, maybe installing your DEB package? Or should I move to another distro?
Thanks!
Last edited by assapan on Thu Jun 11, 2020 10:40 am, edited 1 time in total.

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

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by geoffrey »

Hi assapan,
assapan wrote:
Thu Jun 11, 2020 10:37 am
Now I would be happy to deploy your driver on my system, but honestly I not an expert in Linux/Ubuntu field of compiling drivers: I attempted to download the sources from the Git repository, then I understood it's glued into 5.7.1s1 kernel code, so basically I am lost on what should I do because my UbuntuStudio 20.04 system has a different kernel:

Code: Select all

beatless@mydaw:~# uname -a
Linux mydaw 5.4.0-37-lowlatency #41-Ubuntu SMP PREEMPT Wed Jun 3 19:52:07 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
:|

I attempted having a look in forums of the board, but havent found (yet) someting relevant.... so:
Is it possible to use your driver with a different kernel?
It should work with any recent kernel, but it's part of the snd-usb-audio.ko kernel module and you need to recompile that with updated mixer_quirks.c and mixer_scarlett_gen2.c files. If you haven't compiled a kernel before, then compiling just the driver and installing it into your existing kernel is going to be a more difficult job for you than compiling an entire new kernel (this is just IMO; I'm no expert on compiling kernels either :D).
assapan wrote:
Thu Jun 11, 2020 10:37 am
If not, is there any hint on which is the suggested path to proceed? Should I upgrade the UbuntuStudio kernel, maybe installing your DEB package? Or should I move to another distro?
Thanks!
I would suggest trying to install my deb package. It should work on UbuntuStudio because I built the deb on Ubuntu, but do note:
  • I only know enough about Ubuntu to be able to build the deb package and install it to make sure it boots (I run Fedora on my desktop), so if it breaks your system I won't have any idea on how to fix it (i.e. make sure you have a backup of your system first)
  • the kernel I built isn't a low-latency preempt kernel so audio performance might not be as good as your current kernel
  • this is the first public testing of this Gen 3 4i4 driver, so it might not work at all, and the user interface (alsamixer) is really sucky
Good luck, and please let me know if you try it what happens!

Thanks,
Geoffrey.

nigeldodd
Established Member
Posts: 13
Joined: Thu Oct 05, 2017 6:43 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by nigeldodd »

This is just to report that the 2i2 version 3 on Ubuntu Studio 20.04 works out of the box. It is a huge improvement over the performance of the soundcard built in to the motherboard. I am just mentioning this because I had doubts before buying it and I could not find confirmation that it would work well.

Of course I am very grateful for knowledgeable people who write drivers in order to use the full functionality. I am not using such a driver. The 2i2 doesn't have a midi capability. I use a midi to usb lead to connect directly to the linux box and fiddling about with the buffer size has brought the latency down to 50ms which seems to give an instant response when a key is pressed.

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

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by geoffrey »

nigeldodd wrote:
Fri Jun 19, 2020 9:41 am
This is just to report that the 2i2 version 3 on Ubuntu Studio 20.04 works out of the box. It is a huge improvement over the performance of the soundcard built in to the motherboard. I am just mentioning this because I had doubts before buying it and I could not find confirmation that it would work well.

Of course I am very grateful for knowledgeable people who write drivers in order to use the full functionality. I am not using such a driver. The 2i2 doesn't have a midi capability. I use a midi to usb lead to connect directly to the linux box and fiddling about with the buffer size has brought the latency down to 50ms which seems to give an instant response when a key is pressed.
Hi Nigel,

Thanks for the report!

I don't suppose you happen to have taken a look at the Focusrite Control software? I'm curious if there is any functionality enabled by it in the current version for the 2i2.

The website says Focusrite Control is required for the 3rd Gen Scarlett Solo and 2i2 devices. The manual says it's needed in order to use sample rates over 48KHz. The FC user guide says "software control is limited in these models ... additional software controlled features will become available in the future". I'm wondering if there's any reason for me to try adding Solo/2i2 support to my driver. Doesn't seem worth it if the only thing it can do is enable/disable MSD mode :D.

Thanks,
Geoffrey.

Ika
Established Member
Posts: 3
Joined: Fri Apr 17, 2020 5:59 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by Ika »

Hi, first real post on the forum! First of all let me offer a quick thank you for the work done on this message board. I was about to return my Scarlett 18i20 because of numerous issues on Linux until I found out about people here working to smooth out the main ones I'm having. Please keep up your work, the new line of Scarletts is some really good and popular hardware, a lot of people using Linux will benefit from eventual full support.

Initially I was having problems with MSD mode (the trick to override it from the device's manual didn't work for me), but I tried a few combinations of buttons pushed down on power-on until something clicked and MSD mode is no longer plaguing me with its links to registration and useless drivers. I also had a problem with crackling audio that I solved by compiling a realtime kernel with a patch from this thread: viewtopic.php?f=6&t=21163. Right now the device is very much usable and sounds great both as an everyday use sound interface and for multi track recording with Ardour, though it only seems to work in jack mode, running Ardour with ALSA backend crashes it.

One thing I haven't seen addressed anywhere are some of the buttons and knobs on the device itself, as some of them don't work like I expected. For example the Monitor knob doesn't seem to be doing anything, the device stays at full volume all the time and the only way to make it quieter is through software (which scared the bejesus out of me a few times when it blasted me with very loud music a few times). The ALT, DIM, and MUTE buttons light up some LED-s but don't seem to have any real effect.

Please let me know if I can assist in improving Linux support for this device. I'm not a great programmer but I do Linux sysadmin stuff for a living.

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

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by geoffrey »

Hi Ika! Welcome!
Ika wrote:
Sun Jun 21, 2020 10:00 am
One thing I haven't seen addressed anywhere are some of the buttons and knobs on the device itself, as some of them don't work like I expected. For example the Monitor knob doesn't seem to be doing anything, the device stays at full volume all the time and the only way to make it quieter is through software (which scared the bejesus out of me a few times when it blasted me with very loud music a few times). The ALT, DIM, and MUTE buttons light up some LED-s but don't seem to have any real effect.
I think I can help with this! If you are game (and have backups!), please try the code at https://github.com/geoffreybennett/scar ... s/v5.7.4s1 (source and RPM/deb binaries available there).

If it works, it adds support for all the Gen 3 interfaces with software-controllable features: 4i4, 8i6, 18i8, and 18i20.

Your particular issue with the monitor/mute/dim knobs/buttons not doing anything is (I'm guessing) because the Monitor Control is set to "None". See page 29 of the Focusrite Control Scarlett 3rd Gen User Guide under "Monitor Controls". Although it says by default the monitor control adjusts the level at monitor outputs 1 and 2, the behaviour you describe is consistent with the Monitor Control being set to None.

If my driver works, then you'll be able to use alsamixer to make this change in Linux rather than loading up the Focusrite Control software. Change the Line Out Volume Control switches from "SW" to "HW" and the knobs and buttons should adjust those selected outputs as you'd expect.

Regards,
Geoffrey.

nigeldodd
Established Member
Posts: 13
Joined: Thu Oct 05, 2017 6:43 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by nigeldodd »

geoffrey wrote:
Fri Jun 19, 2020 10:32 am
nigeldodd wrote:
Fri Jun 19, 2020 9:41 am
This is just to report that the 2i2 version 3 on Ubuntu Studio 20.04 works out of the box. It is a huge improvement over the performance of the soundcard built in to the motherboard. I am just mentioning this because I had doubts before buying it and I could not find confirmation that it would work well.

Of course I am very grateful for knowledgeable people who write drivers in order to use the full functionality. I am not using such a driver. The 2i2 doesn't have a midi capability. I use a midi to usb lead to connect directly to the linux box and fiddling about with the buffer size has brought the latency down to 50ms which seems to give an instant response when a key is pressed.
Hi Nigel,

Thanks for the report!

I don't suppose you happen to have taken a look at the Focusrite Control software? I'm curious if there is any functionality enabled by it in the current version for the 2i2.

The website says Focusrite Control is required for the 3rd Gen Scarlett Solo and 2i2 devices. The manual says it's needed in order to use sample rates over 48KHz. The FC user guide says "software control is limited in these models ... additional software controlled features will become available in the future". I'm wondering if there's any reason for me to try adding Solo/2i2 support to my driver. Doesn't seem worth it if the only thing it can do is enable/disable MSD mode :D.

Thanks,
Geoffrey.
I am trying to do as Geoffrey asks, since he has gone to the trouble to write a driver. I don't want to break a working system though and I do need some help as to precisely what I need to install. I am running Ubuntu Studio 20.04. Which of the files in https://github.com/geoffreybennett/scar ... s/v5.7.4s1 do I need to download? How do I install the driver, please?

GuitarNoob
Established Member
Posts: 4
Joined: Thu May 07, 2020 11:32 am

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by GuitarNoob »

Just wanted to give a status update. I built a kernel (5.7.4-Focusrite_testing) on arch using the driver files provided by Geoffery, fired up alsamixer and I can see all channels of my 18i8. I can also change the inst, air, and pad options in alsamixer.

User avatar
bluebell
Established Member
Posts: 1348
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland & Frankfurt, Germany

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by bluebell »

GuitarNoob wrote:
Mon Jun 22, 2020 1:47 am
Just wanted to give a status update. I built a kernel (5.7.4-Focusrite_testing) on arch using the driver files provided by Geoffery, fired up alsamixer and I can see all channels of my 18i8. I can also change the inst, air, and pad options in alsamixer.
Wow, that's good news.
Linux – MOTU UltraLite AVB – Qtractor – https://soundcloud.com/suedwestlicht

bobby.calamari
Established Member
Posts: 16
Joined: Fri Apr 21, 2017 10:52 am

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by bobby.calamari »

Wow, this thread has moved on a lot since I last looked.
As I said earlier, I have a 3rd Gen 18i8 and would be pleased to help however I can, but I don't know what a 'usbmon dump' is... is there a guide to doing this kind of thing?
I would certainly welcome a deb... the only thing I've ever built from source is SuperCollider, which has very clear instructions.

I'd like to repeat my offer to buy geoffrey a virtual beer - or meal out.

Cheers

Post Reply