Focusrite Scarlett 18i20 Gen 3

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

Moderators: MattKingUSA, khz

User avatar
sadko4u
Established Member
Posts: 986
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 359 times

Re: Focusrite Scarlett 18i20 Gen 3

Post by sadko4u »

I have an issue with faders. They work very slow or block the client application. I'm trying to figure out what's happening but probably I need help.
LSP (Linux Studio Plugins) Developer and Maintainer.
User avatar
sadko4u
Established Member
Posts: 986
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 359 times

Re: Focusrite Scarlett 18i20 Gen 3

Post by sadko4u »

I'm getting the infinite loop of the following messages:
[ 2802.720004] usb 3-2: mixer_interrupt: ustatus=0, actual_length=8
[ 2802.720005] usb 3-2: mixer_interrupt: data=1
[ 2802.720006] usb 3-2: snd_ctl_notify: mask=1, idx=0
[ 2802.720007] usb 3-2: snd_ctl_notify: mask=1, idx=1
[ 2802.720136] usb 3-2: mutex_unlock(usb_mutex)
[ 2802.720156] usb 3-2: mutex_lock(usb_mutex)
[ 2802.720157] usb 3-2: scarlett2_fill_request_header
[ 2802.720158] usb 3-2: scarlett2_usb_tx
[ 2802.720509] usb 3-2: scarlett2_usb_rx
[ 2802.720880] usb 3-2: mixer_interrupt: ustatus=0, actual_length=8
[ 2802.720882] usb 3-2: mixer_interrupt: data=1
[ 2802.720882] usb 3-2: snd_ctl_notify: mask=1, idx=0
[ 2802.720884] usb 3-2: snd_ctl_notify: mask=1, idx=1
[ 2802.721013] usb 3-2: mutex_unlock(usb_mutex)
[ 2802.721034] usb 3-2: mutex_lock(usb_mutex)
[ 2802.721035] usb 3-2: scarlett2_fill_request_header
[ 2802.721036] usb 3-2: scarlett2_usb_tx
[ 2802.721384] usb 3-2: scarlett2_usb_rx
[ 2802.721753] usb 3-2: mixer_interrupt: ustatus=0, actual_length=8
[ 2802.721754] usb 3-2: mixer_interrupt: data=1
[ 2802.721754] usb 3-2: snd_ctl_notify: mask=1, idx=0
[ 2802.721755] usb 3-2: snd_ctl_notify: mask=1, idx=1
[ 2802.721887] usb 3-2: mutex_unlock(usb_mutex)
[ 2802.721894] usb 3-2: mutex_lock(usb_mutex)
[ 2802.721895] usb 3-2: scarlett2_fill_request_header
[ 2802.721896] usb 3-2: scarlett2_usb_tx
[ 2802.722261] usb 3-2: scarlett2_usb_rx
LSP (Linux Studio Plugins) Developer and Maintainer.
User avatar
sadko4u
Established Member
Posts: 986
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 359 times

Re: Focusrite Scarlett 18i20 Gen 3

Post by sadko4u »

Found the case of the problem.
Working on additional patches and improvments for the mixer.
LSP (Linux Studio Plugins) Developer and Maintainer.
User avatar
sadko4u
Established Member
Posts: 986
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 359 times

Re: Focusrite Scarlett 18i20 Gen 3

Post by sadko4u »

I've done set of changes to the Gen3 driver which significantly improves the work of the driver. Here's pull request to @geoffrey's repository:
https://github.com/geoffreybennett/scarlett-gen2/pull/1

Here's the full description:
This set of patches enhances support of Focusrite Scarlett 18i20 Gen3 and other Gen3 devices.

The list of changes:
* Fixed bug that moved clients (like alsamixer) into infinite loop when changing any control in the UI.
* Added proper INST button controlling and synchronization with audio device.
* Added proper PAD button controlling and synchronization with audio device.
* Added software 48V phantom power switching support.
* Implemented proper ALT button synchronization with audio device.
* Implemented TALKBACK button support and synchronization with device.
* Added myself to the list of authors.

So there are no buttons left on the 18i20 device (except power button) that can not be enabled by software. Also software now properly handles all manual button presses and triggers client mixer software to update.
LSP (Linux Studio Plugins) Developer and Maintainer.
tkcomposer
Established Member
Posts: 12
Joined: Wed Feb 05, 2020 4:44 am

Re: Focusrite Scarlett 18i20 Gen 3

Post by tkcomposer »

clovis wrote: Wed Sep 09, 2020 4:03 pm Hi tkcomposer!

Sorry I'm really late in my reply. On my side I'm able to change volumes, mixes, pads...
Would you like to share your patched code so that I compare with mine?
Sorry for the very late reply. Somehow I missed your message.

I have since used the improvement by @sadko4u (see his pull request) and it's been working very well.

I'm attaching the patch I created by diff'ing the final target (patched onto geoffrey) against vanilla 5.9.6.
Attachments
focusrite-vanilla-5.9.6.patch.7z
patch for sadko4u's improvement against 5.9.6
(18.26 KiB) Downloaded 116 times
Ika
Established Member
Posts: 4
Joined: Fri Apr 17, 2020 5:59 pm

Re: Focusrite Scarlett 18i20 Gen 3

Post by Ika »

I managed to compile kernel 5.9.8 with this merged patch and I'm happy to say my 18i20 works flawlessly running on it. The volume knobs are finally working, the alt/dim/mute buttons work too, the audio stutter is gone and I can control the device using alsamixer (including all the buttons and the "air" function).

Thank you so much for your amazing work. Please let me know if there's any way I can assist in testing your patch further. I hope we can get this patch into mainline soon!
User avatar
sadko4u
Established Member
Posts: 986
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 359 times

Re: Focusrite Scarlett 18i20 Gen 3

Post by sadko4u »

I still need to do some job. Sadly but this weekend I had no time.
Anyway, there are still not implemented things:
- mute support for each output
- saving routing to the software configuration space
- changing colors of leds for 8i6 device
- and some other tunings.

So you can observe changes by subscribing comments to my pull request to geoffrey's repository.
LSP (Linux Studio Plugins) Developer and Maintainer.
kraus
Established Member
Posts: 11
Joined: Mon Aug 10, 2020 8:12 pm
Has thanked: 2 times

Re: Focusrite Scarlett 18i20 Gen 3

Post by kraus »

Hey everyone!

I can't believe it's been so long since I checked in on this thread. Glad to see there's been progress made!

If it's not too much trouble, could someone fill me in on what all needs to be done for me to try this out? It looks like there's been even more work done on this since last October and I want to make sure I'm not missing any recent changes.

Oh wait, I just saw the post in the other thread with the link on how to install:
https://github.com/sadko4u/focusrite-scarlett-backports

Will any of those patches work for the low-latency kernel?

So far I'm tracking three different Forum topic threads, all related to this same driver being worked on:
viewtopic.php?f=6&t=20661 (this one, Focusrite Scarlett 18i20 Gen 3)
viewtopic.php?f=6&t=19975 (Focusrite Scarlett 6i6 and 18i8 2nd Gen mixer driver)
viewtopic.php?f=6&t=20669 (Focusrite Scarlett Gen 3 4i4 (and others))

Am I missing any?
wolftune
Established Member
Posts: 1350
Joined: Fri Feb 24, 2012 7:40 pm
Location: Portland, OR
Been thanked: 2 times
Contact:

Re: Focusrite Scarlett 18i20 Gen 3

Post by wolftune »

I just got an 18i8 3rd gen and wanting to get it working. I can record and get line outputs, but the Monitor knob does nothing and the headphones don't work.

If those issues were resolved, I could probably just manage as is, even without the inst/pad/air/mixing features. Is there a way for me to just get the Monitor knob to work and get headphone outputs without building a kernel?

Assuming I go ahead and build the kernel based on https://github.com/sadko4u/focusrite-scarlett-backports
Can someone help guide me to the process? I've never done this before.

I'm on KDE Neon (Ubuntu 20.04) and interested in using low-latency kernel. I'd like as much as possible to just get the 18i8 working while otherwise being as close as I can to a supported, bug-tested Ubuntu kernel (whether hwe or not).
Aaron Wolf
Music teacher, scholar
http://wolftune.com
Post Reply