Focusrite Scarlett Gen 3 4i4 (and others)

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

Moderators: MattKingUSA, khz

Post Reply
tkcomposer
Established Member
Posts: 12
Joined: Wed Feb 05, 2020 4:44 am

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

Post by tkcomposer »

@geoffrey, I'll post things specific to 18i20 gen 3 to this thread instead.
summers
Established Member
Posts: 5
Joined: Mon Mar 02, 2020 3:46 pm

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

Post by summers »

Just caught back up with this thread. Guess I should post the full lsusb for Gen3 2i2:

Code: Select all

Bus 001 Device 003: ID 1235:8210 Focusrite-Novation Scarlett 2i2 USB
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x1235 Focusrite-Novation
  idProduct          0x8210 
  bcdDevice            5.ff
  iManufacturer           1 Focusrite
  iProduct                3 Scarlett 2i2 USB
  iSerial                 2 Y8FMVM99921BC3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0126
    bNumInterfaces          5
    bConfigurationValue     1
    iConfiguration          9 Internal
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         3
      bFunctionClass          1 Audio
      bFunctionSubClass       0 
      bFunctionProtocol      32 
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol     32 
      iInterface              3 Scarlett 2i2 USB
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               2.00
        bCategory               8
        wTotalLength       0x0077
        bmControls           0x00
      AudioControl Interface Descriptor:
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype     10 (CLOCK_SOURCE)
        bClockID               41
        bmAttributes            3 Internal programmable clock 
        bmControls           0x07
          Clock Frequency Control (read/write)
          Clock Validity Control (read-only)
        bAssocTerminal          0
        iClockSource           10 USB Internal
      AudioControl Interface Descriptor:
        bLength                 8
        bDescriptorType        36
        bDescriptorSubtype     11 (CLOCK_SELECTOR)
        bClockID               40
        bNrInPins               1
        baCSourceID(0)         41
        bmControls           0x03
          Clock Selector Control (read/write)
        iClockSelector          8 Clock Source
      AudioControl Interface Descriptor:
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bCSourceID             40
        bNrChannels             2
        bmChannelConfig    0x00000000
        iChannelNames          15 Output 1
        bmControls         0x0000
        iTerminal               6 Scarlett 2i2 USB 
      AudioControl Interface Descriptor:
        bLength                18
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                10
        bSourceID               2
        bmaControls(0)     0x00000000
        bmaControls(1)     0x00000000
        bmaControls(2)     0x00000000
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            20
        wTerminalType      0x0301 Speaker
        bAssocTerminal          0
        bSourceID              10
        bCSourceID             40
        bmControls         0x0000
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                17
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Microphone
        bAssocTerminal          0
        bCSourceID             40
        bNrChannels             2
        bmChannelConfig    0x00000000
        iChannelNames          17 Input 1
        bmControls         0x0000
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                18
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                11
        bSourceID               1
        bmaControls(0)     0x00000000
        bmaControls(1)     0x00000000
        bmaControls(2)     0x00000000
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            22
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID              11
        bCSourceID             40
        bmControls         0x0000
        iTerminal               7 Scarlett 2i2 USB 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              4 Scarlett 2i2 USB 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              4 Scarlett 2i2 USB 
      AudioStreaming Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           2
        bmControls           0x04
          Valid Alternate Setting Control (read-only)
        bFormatType             1
        bmFormats          0x00000001
          PCM
        bNrChannels             2
        bmChannelConfig    0x00000000
        iChannelNames          15 Output 1
      AudioStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bSubslotSize            4
        bBitResolution         24
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes           13
          Transfer Type            Isochronous
          Synch Type               Synchronous
          Usage Type               Data
        wMaxPacketSize     0x00c8  1x 200 bytes
        bInterval               1
        AudioStreaming Endpoint Descriptor:
          bLength                 8
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bmControls           0x00
          bLockDelayUnits         1 Milliseconds
          wLockDelay         0x0200
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              5 Scarlett 2i2 USB 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol     32 
      iInterface              5 Scarlett 2i2 USB 
      AudioStreaming Interface Descriptor:
        bLength                16
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink          22
        bmControls           0x04
          Valid Alternate Setting Control (read-only)
        bFormatType             1
        bmFormats          0x00000001
          PCM
        bNrChannels             2
        bmChannelConfig    0x00000000
        iChannelNames          17 Input 1
      AudioStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bSubslotSize            4
        bBitResolution         24
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes           13
          Transfer Type            Isochronous
          Synch Type               Synchronous
          Usage Type               Data
        wMaxPacketSize     0x00c8  1x 200 bytes
        bInterval               1
        AudioStreaming Endpoint Descriptor:
          bLength                 8
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bmControls           0x00
          bLockDelayUnits         1 Milliseconds
          wLockDelay         0x0200
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol     32 
      iInterface             11 Focusrite Control
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              3 Scarlett 2i2 USB
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x0040
  bNumDeviceCaps          3
  Platform Device Capability:
    bLength                28
    bDescriptorType        16
    bDevCapabilityType      5
    bReserved               0
    PlatformCapabilityUUID    {d8dd60df-4589-4cc7-9cd2-659d9e648a9f}
    CapabilityData[0]    0x00
    CapabilityData[1]    0x00
    CapabilityData[2]    0x03
    CapabilityData[3]    0x06
    CapabilityData[4]    0x2e
    CapabilityData[5]    0x00
    CapabilityData[6]    0x02
    CapabilityData[7]    0x00
  Platform Device Capability:
    bLength                24
    bDescriptorType        16
    bDevCapabilityType      5
    bReserved               0
    PlatformCapabilityUUID    {3408b638-09a9-47a0-8bfd-a0768815b665}
      WebUSB:
        bcdVersion    1.00
        bVendorCode      1
        iLandingPage     1 https://api.focusrite-novation.com/register?method=usb&upn=Y8FMVM99921BC3
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000000
      (Missing must-be-set LPM bit!)
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)
Whats interesting from the rest of the thread is:

Code: Select all

      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes           13
          Transfer Type            Isochronous
          Synch Type               Synchronous
          Usage Type               Data
        wMaxPacketSize     0x00c8  1x 200 bytes
        bInterval               1
        AudioStreaming Endpoint Descriptor:
          bLength                 8
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bmControls           0x00
          bLockDelayUnits         1 Milliseconds
          wLockDelay         0x0200
So the synch type seems different from the other Gen 3 devices - seems a bit odd.

Anyway device works fine recording up 192kHz, which is what I mainly use it for. But few issues, I've only been able to set speeds 44.1kHz and 192kHz, and I haven't been able to use this as an output device.

Code: Select all

arecord -D hw:3,0 --dump-hw-params
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:3,0":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S32_LE
SUBFORMAT:  STD
SAMPLE_BITS: 32
FRAME_BITS: 64
CHANNELS: 2
RATE: [44100 192000]
PERIOD_TIME: [125 1486078)
PERIOD_SIZE: [8 65536]
PERIOD_BYTES: [64 524288]
PERIODS: [2 1024]
BUFFER_TIME: (83 2972155)
BUFFER_SIZE: [16 131072]
BUFFER_BYTES: [128 1048576]
TICK_TIME: ALL
--------------------
arecord: set_params:1343: Sample format non available
Available formats:
- S32_LE
Any ideas? Is this because I don't have a kernel driver for this particular device?

Edit: Scrub that I can't set the sample speed, actually can set it to 1,2,4 times 44.1Khz or 48kHz - but only those values. Not sure what was going wrong before ....
scj643
Posts: 2
Joined: Wed Aug 05, 2020 11:52 pm

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

Post by scj643 »

I have an 8i6. I applied the patch to my kernel but alsamixer only shows the clock source option.

This is the patch I used
0001-focusrite-gen3.txt
(36.92 KiB) Downloaded 136 times
I followed https://fedoraproject.org/wiki/Building ... ing_kernel and https://forum.level1techs.com/t/compile ... way/149242 to build the kernel

My kernel sources are patched.

I have the following in /etc/modprobe.d/scarlett.conf

Code: Select all

options snd_usb_audio device_setup=1,1,1,1
This is my kernel version

Code: Select all

Linux scj643-r8 5.7.13-202.local.fc32.x86_64 #1 SMP Wed Aug 5 17:41:01 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux
Using the prebuilt kernel works but then DKMS won't work because I don't have the kernel source packages.
Last edited by scj643 on Thu Aug 06, 2020 1:58 am, edited 1 time in total.
puleglot
Established Member
Posts: 135
Joined: Thu Jan 23, 2020 3:14 pm
Has thanked: 3 times
Been thanked: 13 times

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

Post by puleglot »

summers wrote: Sun Aug 02, 2020 11:19 am So the synch type seems different from the other Gen 3 devices - seems a bit odd.
This is in line with Gen 2 devices: only interfaces with digital I/O work in asynchronous mode.
ambicumber
Established Member
Posts: 82
Joined: Sun Apr 24, 2016 6:28 pm
Has thanked: 47 times
Been thanked: 15 times

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

Post by ambicumber »

Another Focusrite Scarlett 8i6 3rd gen user here. Inputs and outputs visible and usable in Catia/Claudia, however no attempts made at accessing internal mixer.
FluxTape
Established Member
Posts: 3
Joined: Wed Aug 26, 2020 1:18 pm
Has thanked: 1 time
Been thanked: 1 time

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

Post by FluxTape »

scj643 wrote: Thu Aug 06, 2020 12:11 am I have an 8i6. I applied the patch to my kernel but alsamixer only shows the clock source option.

This is the patch I used
0001-focusrite-gen3.txt

I followed https://fedoraproject.org/wiki/Building ... ing_kernel and https://forum.level1techs.com/t/compile ... way/149242 to build the kernel

My kernel sources are patched.

I have the following in /etc/modprobe.d/scarlett.conf

Code: Select all

options snd_usb_audio device_setup=1,1,1,1
This is my kernel version

Code: Select all

Linux scj643-r8 5.7.13-202.local.fc32.x86_64 #1 SMP Wed Aug 5 17:41:01 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux
Using the prebuilt kernel works but then DKMS won't work because I don't have the kernel source packages.
I also have an 8i6 and alsamixer is working for me. My scarlett.conf looks the same as yours. Are you sure you patched your kernel correctly? I'm using arch latest kernel, patched using the file you attached. However I removed lines 1 to 10 so that the file starts with

Code: Select all

 diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c 
and renamed the file to ".patch" instead of ".txt". Not sure if any of this matters however.
kraus
Established Member
Posts: 11
Joined: Mon Aug 10, 2020 8:12 pm
Has thanked: 2 times

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

Post by kraus »

Greetings! I've just recently read through this entire thread and noted as much as I could about it so I could slide in and join the conversation!

First, a brief summary: I started in Linux in November of last year with Ubuntu 18.04 as my sole OS, and have moved on through to 20.04. I've recently built a new computer on which I installed Ubuntu Studio 20.04 / XFCE / 5.4.0-45-lowlatency Kernel. I purchased a used Scarlett 18i20 in excellent condition on ebay in July and only discovered the whole proprietary audio server issue after I received it.

I'm happy to have come into this at a time where so much work has been done to make it compatible with Linux, but this poses me a challenge since I am not only still pretty darn new to Unix-style OSes (and even newer to Linux audio), but also familiarizing myself with a complex device through an OS which the manufacturer seems indifferent to if not downright hostile. :? I say this because when I attempted to contact Focusrite to ask some basic questions, the tech representative's tone and demeanor changed the moment I mentioned which OS I am on, and seemed determined to end the call as quickly as possible.

Since I barely installed Ubuntu Studio less than a week ago, I'm eager to help beta test the driver before I pack a bunch of data on my drive. I have not attempted to use geoffrey's driver because I remember him saying a potential incompatibility? How severe would the consequences be if the process doesn't work? Other than using modprobe I have absolutely no experience compiling a kernel.

I just wanted to mention an observation I made regarding MSD mode.
jhgoodwin wrote: Wed Apr 08, 2020 3:12 pm FYI, for those who would use a windows virtual machine if they could, Microsoft offers development virtual machines for free which is set with a time limit. They keep updating the VM image with a newer time limit:

https://developer.microsoft.com/en-us/w ... -machines/
I did exactly this, and since I am new to VirtualBox I had to install the Expansion Pack which enables USB accessibility. While I was doing so, something peculiar happened:

Screenshot_2020-09-03_15-28-36.png
Screenshot_2020-09-03_15-28-36.png (51.31 KiB) Viewed 20472 times

When I attempted to use USB 1.1 or 2.0, Focusrite's popup notification (in Windows 10) would inform me the device was in MSD mode. Also, Focusrite Control also would not recognize hardware attached. I had to set it to USB 3.0, and both of those problems went away. This is significant, because even though the device is USB 2.0, 3.0 had to be used for it to function properly in the VM.

Once this was fixed, I was able to toggle settings like normal in Focusrite Control (though there were two instances where the VM would stall, and/or Focusrite would suddenly no longer detect the hardware which forced me to restart the VM). I was able to configure what I needed, but there was an unfortunate drawback. Since the VM's audio playback was attempting to use Pulseaudio, I could not hear/test the effects of my configuration without first closing the VM and accessing the device in Ubuntu.

There's another issue that I'm not sure if I have a good handle on: Surround Sound

How can the 18i20 (or any other Scarlett device) be configured in Linux for Surround sound speaker setups? I use a quadraphonic 4.0 surround speaker system that I have happily used for over 20 years, but usually it's a simple matter of going into a sound options menu and telling the OS how many speakers I have. But, how to do this for a Scarlett?

On my old computer, using Ubuntu 20.04 with Gnome, using my on-board 7.1 sound card, Gnome had its own special menu for configuring speaker setups, much like Mac. Sound is routed through Pulse Audio, and it allowed me to select a speaker configuration I wanted through a drop-down menu. I could then test each speaker for sound. Ubuntu Studio with XFCE doesn't seem to have this menu, and pavucontrol doesn't either. Is there an equivalent function for XFCE?

This is what the Scarlett 18i20 3rd Gen User Guide has to say about surround sound:
Working with surround sound
Because the Scarlett 18i20 is equipped with ten line outputs, it is ideally suited for use when working in multichannel sound formats – LCRS, 5.1 surround or 7.1 surround, for example.

In order to route each channel to the correct output you will need to route the DAW outputs to the Line Outputs in Focusrite Control (e.g. DAW Output 1 > Line Output 1, DAW Output 2 > Line Output 2, etc.).

Windows users:
In Windows, surround sound can only be used in software supporting multichannel ASIO. In most cases this will be your DAW, and in general, DAWs capable of mixing in surround allow you to set the speaker mapping up in the DAW’s Audio Output Preferences or I/O Settings page.

Please see the User Manual (or Help files) for your DAW for guidance on setting up the outputs for surround mixing with the speaker configuration you wish to use.

Mac users:
On Macs, surround sound configuration can be done from all applications that support multichannel audio (DAWs & regular macOS Applications). To do this, go to: Applications > Utilities > Audio MIDI Setup > Scarlett 18i20 > Configure Speakers > Configuration > Select the desired configuration.

Screenshot_2020-09-03_15-54-21.png
Screenshot_2020-09-03_15-54-21.png (181.97 KiB) Viewed 20472 times
This leaves me wondering how surround sound speaker configurations would be handled in Linux? Would it depend on whether I'm using Pulseaudio, ALSA, or Jack? Would it be application-by-application like Windows, or the Gnome / Mac method with a global settings menu? Moreover, does this have to do with the driver geoffrey is creating?

Creating a Carla patchbay for Jack server reveals the number of inputs and outputs:

Screenshot_2020-09-03_16-08-31.png
Screenshot_2020-09-03_16-08-31.png (58.9 KiB) Viewed 20472 times

system > playback_1,2,3,4 would most likely be what a quad sound system would use. 5.1 surround would use 1-6, and 7.1 would use 1-8. Would this not mean that pulse_out would need a corresponding number outputs? (i.e.: front-left, front-right, rear-left, rear-right, and so on...) How would this happen? Would it need to be mapped through to the driver to pulse?

I've made this post long enough, so I'll leave it here for now. I'm hoping that geoffrey will eventually reappear in this thread so I can touch base with him and offer my help beta testing. Cheers!
Last edited by kraus on Thu Sep 03, 2020 11:28 pm, edited 2 times in total.
DneieSVb
Established Member
Posts: 5
Joined: Mon Sep 07, 2020 8:29 am

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

Post by DneieSVb »

Hi,

you can add a new Sink from Pulse to Jack with 6 channels with the following:

Code: Select all

pacmd load-module module-jack-sink sink_name=Surround client_name=Surround channels=6 connect=no
This adds a new output for Pulse to Jack with 6 Channels with Left, Right, Center, Surround Left and Right and LFE.
Replace the channels=6 with channels=8 and you got 7.1.

Best regards!
scj643
Posts: 2
Joined: Wed Aug 05, 2020 11:52 pm

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

Post by scj643 »

Someone probably already saw this but

Code: Select all

C:\Program Files\Focusrite\Focusrite Control\Server\Resources\Devices
contains XML files describing each device. This also includes information about changing the halo colors for different levels.
ngallaher
Posts: 2
Joined: Thu Sep 24, 2020 5:20 pm

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

Post by ngallaher »

@geoffrey What are the next steps for getting this into kernel mainline? Do you need more testers or any dev cleanup help?
seppoi
Posts: 1
Joined: Thu Sep 24, 2020 5:24 pm

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

Post by seppoi »

Sorry for lazy question but how can I find a patch for current linux kernel (e.g. 5.8.11)? I have a Scarlett 8i6 3rd gen. I see with 5.8.11 only the clock source selection in alsamixer. I tried with Ubuntu 20.04. I've got the playback and capture with Pulseaudio and JACK to work sometimes but not systematically. The inputs in front panel seem usually to stop working when I move the USB connection from MacBook to Linux computer, the signal level led stops flashing.

Edit: I found https://github.com/geoffreybennett/scarlett-gen2.git and branch for gen3. Also realised that there's need for module options. Is it enough to get patches from this onwards and rebase them for current kernel? I need for other purpose a fresh kernel.

Code: Select all

commit 5e36fc5688cd79410d9054b7de3816d33c649b48
Author: Geoffrey D. Bennett <g@netcraft.com.au>
Date:   Tue Jun 9 05:28:39 2020 +0930

    Add gen 3 support
Edit2: There were only two easy to fix rejects. I got the alsamixer and I can toggle the front LEDs!
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 Gen 3 4i4 (and others)

Post by sadko4u »

Is Focusrite Scarlett currently good enough to work with Laptop? I'm mostly interesting about 2nd gen and 3rd gen.
Since my old firewire laptop is too rare (more than 10 years old), I need to switch to new laptop and find a good card for rehearsals/concerts.
From Scarlett I mostly need 48 kHz sample rate and full control of the internal mixer. Had no issues with Saffire Pro 40 but firewire is DEAD, at least for laptops.
LSP (Linux Studio Plugins) Developer and Maintainer.
User avatar
bluebell
Established Member
Posts: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

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

Post by bluebell »

sadko4u wrote: Wed Sep 30, 2020 3:27 pm Is Focusrite Scarlett currently good enough to work with Laptop? I'm mostly interesting about 2nd gen and 3rd gen.
Since my old firewire laptop is too rare (more than 10 years old), I need to switch to new laptop and find a good card for rehearsals/concerts.
From Scarlett I mostly need 48 kHz sample rate and full control of the internal mixer. Had no issues with Saffire Pro 40 but firewire is DEAD, at least for laptops.
I have 1st Gen Scarletts 2i2 and 2nd Gen Scarletts 2i4. These run perfectly on my Linux notebook computer with Core i5.

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

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 Gen 3 4i4 (and others)

Post by sadko4u »

Today I've started new challenge with the following hardware configuration:
- ASUS TUF Gaming FX506II based on Ryzen 7 4800H.
- Focusrite Scarlett 18i20 gen3.
- OpenSUSE Leap 15.2 distribution.

Since there's a pretty old kernel (5.3.x), I'm thinking on back-porting changes from @geoffrey's repository: https://github.com/geoffreybennett/scarlett-gen2

So the personal question to @geoffrey is: I see set of branches there:
  • scarlett-gen2
  • scarlett-gen2-5.4
  • scarlett-gen3
What's the right way to combine all of them into single kernel patch? Is scarlett-gen3 branch enough to get support of both Gen2 and Gen3 devices?
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 Gen 3 4i4 (and others)

Post by sadko4u »

For openSUSE Leap 15.2 users, I've created backport of @geoffrey's driver to the 5.3.18 kernel which is currently used by openSUSE:

https://github.com/sadko4u/focusrite-scarlett-backports

My Focusrite Scarlett 18i20 seems to started working. But there are couple of questions. Hope @geoffrey will be back soon to discuss them.
LSP (Linux Studio Plugins) Developer and Maintainer.
Post Reply