I just checked the most up to date Linux kernel and unfortunately the internal mixer of the 2nd generation Scarlett is not yet supported. I started reverse engineering the protocol some time ago in order to add this functionality to the Linux driver but this will definitely take some time.
As I need to change the internal mixer only rarely I just attach my 18i8 to a Windows system.
Hello there! Fellow 6i6 2nd gen user who is late to the party. I have set up the direct routing via the Focusrite Control in Windows. I am running Ardour on Mint and am using Cadence for managing JACK. So far things are going great except the monitoring. May I ask how you have that set up? It is my understanding that inputs 1&2 route directly to the headphone jack 1 and inputs 3&4 rout to the 2nd headphone jack. Am I mistaken?
@Arnd: “I started reverse engineering the protocol some time ago in order to add this functionality to the Linux driver but this will definitely take some time.”
Just a noob question: does your reverse engineering work concern also the “inst” and “pad” options of the front input?
Are those options related to the kernel, as well as the internal mixer?
If not is there any chance to have them available in any GNU/linux related sw, instead of having to go back to w… every time?
I’ve just purchased a 2nd generation 6i6 and am wondering if you’ve made any progress on reverse engineering the protocol? I’ve got access to a USB bus analyzer and some kernel driver experience (but no ALSA), so I’d be happy to help however it’d make sense.
It may be easier that you think. Back in 2013 I just ran MixControl on a Windows System inside VirtualBox on a Linux host, and used wireshark to monitor USB commands.
It took me about an hour to move each knob, slider, write down the URB, command, address. Documenting it all and writing a Python prototype script took another day or two, same for an initial a kernel driver.
…and then 3 years to get it upstream in vanilla Linux – most of that work was done by others, in particular Tobias Hoffmann and Chris Arges.
Note, that you do need to unload the ALSA driver to prototype (otherwise you get a “device resource busy”). If this wasn’t the case, the whole mixer-interface could be implemented in userspace.
Nice and kudos for looking into this! Better drive support is for Linux is needed for a variety of new[er] devices.
I don’t have a 2nd gen Scarlett myself, so I can’t help testing…
Curious. Is there a reason why you’ve created a new file mixer_scarlett_gen2.c is the interface significantly different from the 1st generation?
Hi, just leaving this here in case anyone is interested…
Just purchased a Focusrite Scarlett 8i6 3rd Generation audio interface… I can confirm basic functionality (record, playback, all hardware controls, headphone output and direct monitoring are working out of the box in ubuntu 20.04 (Linux kernel 5.4). Ardour is working fine with Alsa but not with jack however, but this is fine for my needs. alsamixer is not picking up the internal mixer (no settings), but I just made changes to the internal mixer in windows and then booted into linux afterwards and this worked.
I have some programming experience, so I could potentially be interested in having a go at coding an alsamixer patch for the gen 3 interfaces… however I would definitely need mentoring to get me up and going.