Focusrite Scarlett 6i6 and 18i8 2nd Gen mixer driver

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

Moderators: khz, MattKingUSA

User avatar
cjoke
Established Member
Posts: 14
Joined: Thu Jul 25, 2019 8:03 pm
Location: Norway
Contact:

Re: Focusrite Scarlett 6i6 and 18i8 2nd Gen mixer driver

Post by cjoke »

msil wrote:
Wed May 27, 2020 12:45 am
Bugeyed Earl wrote:
Sat May 02, 2020 3:23 am
Thanks for the suggestion, but there was one additional slider that moved off screen when I resized the window. Normally, I can see it.

One other point that I forgot to make about my troubleshooting - I've tried various kernels from 5.3.1 to 5.5.7, Ubuntu Studio, a couple of versions of Debian with updated kernels, and on 3 distinct computers with different architectures. The behavior seems identical on all, so that's why I suspect the interface is the issue.
For what it's worth, I also ran into your same issue and discovered that it was only happening on an older machine of mine (Core 2 Duo). I tested kernels from 5.4 to 5.7, alsamixer would not display the interface properly, and I would always see the following in the logs:

Code: Select all

Scarlett Gen 2 USB response result cmd 0 was -110
It was working fine with another machine of mine (i5 3rd gen) so I dd'd the OS from the working machine to the non-working one to rule out any differences in software and encountered the same issue. I have the same interface working fine on two different machines (Arch Linux and Ubuntu), both with newer CPUs (i5 3rd gen and i5 8th gen).

Maybe try your setup on a different machine to confirm this may be the case? Good luck!
I have a laptop where a xhci controller grabs the card (mixer works) and a PC where ehci controller grab the card (mixer dont work)

I installed ubuntu 20.04 and kernel Linux Innerpeace 5.4.0-31-lowlatency #35-Ubuntu SMP PREEMPT Thu May 7 22:51:24 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux with the same usbstick on both laptop and PC.

on PC usbdevice is connected to a HW usb3 input but invoke ehci usb2 controller instead, so my guess is that udev is kinda mess things up. I have tried to get help on ubuntuforum howto force xhci controller grab the device instead of letting the ehci controller get the job. I dont know it this helps , but I thought its worth trying :)

Heres link . https://askubuntu.com/questions/1243555 ... -want-xhci
Love, people, music, beer and lot of other stuff.

Bugeyed Earl
Established Member
Posts: 6
Joined: Sat Feb 22, 2020 3:53 pm

Re: Focusrite Scarlett 6i6 and 18i8 2nd Gen mixer driver

Post by Bugeyed Earl »

cjoke wrote:
Wed May 27, 2020 6:15 pm
I have a laptop where a xhci controller grabs the card (mixer works) and a PC where ehci controller grab the card (mixer dont work)

I installed ubuntu 20.04 and kernel Linux Innerpeace 5.4.0-31-lowlatency #35-Ubuntu SMP PREEMPT Thu May 7 22:51:24 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux with the same usbstick on both laptop and PC.

on PC usbdevice is connected to a HW usb3 input but invoke ehci usb2 controller instead, so my guess is that udev is kinda mess things up. I have tried to get help on ubuntuforum howto force xhci controller grab the device instead of letting the ehci controller get the job. I dont know it this helps , but I thought its worth trying :)

Heres link . https://askubuntu.com/questions/1243555 ... -want-xhci
That's a question I haven't considered, I assumed this interface was supported on USB 2 controllers in Linux. I know it works fine with that controller in Windows 10. Maybe my main computers belong in a museum (I don't have USB 3,) but I can't be the only one running older equipment.

I could get a cheap USB 3 PCI-E controller card for my desktop system, but I really want to make this thing work with my laptop (an old Thinkpad T410i) also.

Bugeyed Earl
Established Member
Posts: 6
Joined: Sat Feb 22, 2020 3:53 pm

Re: Focusrite Scarlett 6i6 and 18i8 2nd Gen mixer driver

Post by Bugeyed Earl »

msil wrote:
Wed May 27, 2020 12:45 am
For what it's worth, I also ran into your same issue and discovered that it was only happening on an older machine of mine (Core 2 Duo). I tested kernels from 5.4 to 5.7, alsamixer would not display the interface properly, and I would always see the following in the logs:

Code: Select all

Scarlett Gen 2 USB response result cmd 0 was -110
It was working fine with another machine of mine (i5 3rd gen) so I dd'd the OS from the working machine to the non-working one to rule out any differences in software and encountered the same issue. I have the same interface working fine on two different machines (Arch Linux and Ubuntu), both with newer CPUs (i5 3rd gen and i5 8th gen).

Maybe try your setup on a different machine to confirm this may be the case? Good luck!
I think we have a solution! I used my company's laptop (Core i7 8th gen) with a live boot Ubuntu Studio, and was successful for the first time:
alsamixer_01.png


My personal laptop is running a Core i3 1st gen, so it might be time to go shopping again...

Thanks again for the advice!
You do not have the required permissions to view the files attached to this post.

User avatar
cjoke
Established Member
Posts: 14
Joined: Thu Jul 25, 2019 8:03 pm
Location: Norway
Contact:

Re: Focusrite Scarlett 6i6 and 18i8 2nd Gen mixer driver

Post by cjoke »

Yea, I can confirm, I do hope it is not the cpu that cause this , since then I have to buy a new one, and that is not an option for me since I am poor.

On my PC : intel i7 950 (1th gen) DONT WORK!
lscpu | grep -i "model name"
Model name: Intel(R) Core(TM) i7 CPU 950 @ 3.07GHz

On laptop : intel i7-4600u (4th gen) where mixer driver WORKS!
lscpu | grep -i "model name"
Model name: Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz

I also did read from intel website about my 1th gen cpu, there is a bug towards ochi (usb1) and that is not fixed. maby it is something interferrence with sysfs and udev. I dunno, my knowledge is not that strong so I have given up this. I use laptop on livegigs, and can configure mixer from laptop if needed, and at my home studio I can boot windows and tweeks things from there.
Love, people, music, beer and lot of other stuff.

User avatar
cjoke
Established Member
Posts: 14
Joined: Thu Jul 25, 2019 8:03 pm
Location: Norway
Contact:

Re: Focusrite Scarlett 6i6 and 18i8 2nd Gen mixer driver

Post by cjoke »

Ok, here we go,

I have an Intel® Core™ i7-950 Processor 1st gen as I understand.

I got error message from dmesg with the internal usb inputs on mainboard :
user@host: lspci -nn
(02:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 03))

errormessage in dmesg :

Code: Select all

Scarlett Gen 2 USB response result cmd 0 was -110 
The "big" change

Scarlett mixerdriver in snd-usb-audio does now recognize my scarlett 18i20 2 gen internal mixer out of the box after plugged in a "new" pci usb card and connected the audiocard to the new device.

With the new cheap pci usb card :
user@host: lspci -nn
06:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller [1912:0015] (rev 02)

see the difference in the name of the chipset.

I havent looked further into this matter Im just happy to get it work without buying and upgrade for my computer with money I dont have.

Hope this will help others with the same problem.

I had a laptop where the mixerdriver did work and it used the xhci controller,
Since the mixerdriver worked on laptop with the xhci controller I tried to tweek udev on PC to load xhci controller aswell but with no luck mainboard it loaded ehci.

conclution : in my case mixerdriver works like a charm with the new usb-pci card and xhci-hcd driver .

Bus 11.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 2: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 480M
ID 1235:8201 Focusrite-Novation
|__ Port 2: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 480M
ID 1235:8201 Focusrite-Novation
|__ Port 2: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 480M
ID 1235:8201 Focusrite-Novation
|__ Port 2: Dev 2, If 3, Class=Audio, Driver=snd-usb-audio, 480M
ID 1235:8201 Focusrite-Novation
|__ Port 2: Dev 2, If 4, Class=Audio, Driver=snd-usb-audio, 480M
ID 1235:8201 Focusrite-Novation
|__ Port 2: Dev 2, If 5, Class=Vendor Specific Class, Driver=, 480M
ID 1235:8201 Focusrite-Novation
Love, people, music, beer and lot of other stuff.

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

Re: Focusrite Scarlett 6i6 and 18i8 2nd Gen mixer driver

Post by geoffrey »

cjoke! That's it! With your hint I can reproduce the problem now!

I first thought the issue was with older Scarlett hardware versions, but your testing showed that wasn't the case. So I thought the issue was with older PCs, but also no (kind of). The problem seems to be related to the type of USB host controller; whether it is using EHCI or xHCI.

I found an old laptop that has both USB 2 and 3 ports. The driver works when the Scarlett is plugged in to the USB 3 port which uses xHCI, but not when it's plugged in to the USB 2 port which uses EHCI:

Plugged in to the USB 2 port, the kernel outputs this message:

Code: Select all

Jun 15 21:38:17 kernel: usb 2-1.2: new high-speed USB device number 4 using ehci-pci
and the driver fails.

Plugged in to the USB 3 port, the kernel outputs this message:

Code: Select all

Jun 15 21:50:36 kernel: usb 3-1: new high-speed USB device number 8 using xhci_hcd
and the driver succeeds.

I don't know much about USB, but I wouldn't think that the Scarlett should be able to tell what sort of USB host controller it is plugged in to. Nevermind, I'm going to stare at usbmon output for a long time to see if I can figure this out. The official Focusrite drivers don't have this problem, so it must be possible to make it work!

User avatar
cjoke
Established Member
Posts: 14
Joined: Thu Jul 25, 2019 8:03 pm
Location: Norway
Contact:

Re: Focusrite Scarlett 6i6 and 18i8 2nd Gen mixer driver

Post by cjoke »

Thats awesome! :)

Im my case on both usb3 inputs on PCmainboard, usbcontroller loaded ehci driver. And I tried all combinations in bios , enable, disable, all configurations.

Here is my current status
cjoke@Innerpeace:~$ lsusb -t
/: Bus 12.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/: Bus 11.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 2: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 2, If 3, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 2, If 4, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 2: Dev 2, If 5, Class=Vendor Specific Class, Driver=, 480M
/: Bus 10.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
/: Bus 09.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 1: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
|__ Port 1: Dev 2, If 2, Class=Application Specific Interface, Driver=, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
|__ Port 5: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 2: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 5, If 2, Class=Human Interface Device, Driver=usbhid, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
|__ Port 3: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 3: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 3: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 3: Dev 2, If 3, Class=Audio, Driver=snd-usb-audio, 480M
uvcvideo is now connected to the usb3 input on PCmainboard the same input as the scarlett where connected before I got the new usb-pci card, and it also loads ehci-pci controller and its put the device on the same Bus (Bus 1) as scarlett aswell.

cjoke@Innerpeace:~$ lspci -nn | grep USB
00:1a.0 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4 [8086:3a37]
00:1a.1 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5 [8086:3a38]
00:1a.2 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6 [8086:3a39]
00:1a.7 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2 [8086:3a3c]
00:1d.0 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1 [8086:3a34]
00:1d.1 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2 [8086:3a35]
00:1d.2 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3 [8086:3a36]
00:1d.7 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1 [8086:3a3a]
02:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 03)
06:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller [1912:0015] (rev 02)

Further :

Shooting from the "hip" - My wild guess "with high developed wimen's intuition" is that the integrated USB3 inputs on PCmainboard NEC Corporation uPD720200 is backwards compilant usb3 and usb2. When a usb2 device is connected it loads the ehci controller.

I tried to blacklist ehci in modprobe.d dir, aswell I tried some udev rules to force xhci-hcd driver to load, I even played with setpci
from this little how to force echi instead of xhci https://www.systutorials.com/how-to-for ... in-linux/

AND

On the new usb-pci card I got Renesas Technology Corp. uPD720202 its usb3 only? where the only option it has is to load the backwards compilant xhci-hcd controller/driver?


You tell me , im guessing.

nb! I also tried to read this, but I got dizzy, I guess you @geoffrey find this more readable than me;)
https://www.beyondlogic.org/usbnutshell/usb5.shtml

Cheers :)
Love, people, music, beer and lot of other stuff.

Post Reply