Closed kdoren closed 3 years ago
You don't need to build a whole kernel - you could just use the stock raspberrypi pi kernel packages, build and copy the new kernel modules into /lib/modules/5.10.../updates, run depmod and reboot. You can switch back to the old usb sound modules as shipped by the raspberrypi folks, by removing the new ones in /lib/.../updates, run depmod -a
and reboot. You can switch back and forth the different version of kernel modules this way, by copying / removing your new ones into the updates directory, depmod and reboot.
Since there is no indication that your jack setup works with the as-shipped raspberrypi kernel packages, I am going to close this now. You should first try to fix problem with your jack setup without using the code here.
I build my own kernels to get different kernel configs (low-latency PREEMPT, and 1000Hz timers. Same jack config works for other USB interfaces. I have previously had same jack config work with scarlett using patches from sadko4u's backports repo. So while I can't rule it out, I don't think problem is jack config.
Are you sure 5.12 files should be compatible with 5.10?
Get your setup to work with the as-shipped raspberrypi kernel packages first.
There are many hundreds of people using my kernel builds for jack audio with USB interfaces on raspberry pi. Are you sure 5.12 sound/usb files should be compatible with 5.10?
I have a raspberrypi right in front of me. It should build 6 *.ko's. You should copy all 6 into .../updates, although the two important ones are snd-usb-audio.ko and snd-usbmidi-lib.ko.
Now, please go and start from the as-shipped raspberrypi kernel packages and fix your jack usage problem first, before attempting to use the code here.
See https://github.com/Focusrite-Scarlett-on-Linux/sound-usb-kernel-module/commit/70e8914c49b8c9bd16e71a2fae967738bed0406b possibly, but I am not convinced your problem is that - that's accompanied by piles of kernel messages and stalls, and a lot more visible that just "my jack setup does not work".
Hello, I compiled v5.12-sound-master f68c4999761eff8f12951cdff74ccd4bb2dc41d6 against debian 5.10.0-13-amd64 kernel, for a scarlett solo gen 3, now alsamixer can see all the controls but the sound card doesn't shows up under pulseaudio so no output is usable, is it a known bug?
Avoid indirections like pulseaudio when you try to debug. Get it work with aplay/arecord first.
I disabled/stopped pulseaudio, aplay sees the sound card but I'm unable to output any audio with any device listed by aplay -L
usbstream:CARD=PCH
HDA Intel PCH
USB Stream Output
hw:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
Direct hardware device without any conversions
plughw:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
Hardware device with all software conversions
default:CARD=USB
Scarlett Solo USB, USB Audio
Default Audio Device
sysdefault:CARD=USB
Scarlett Solo USB, USB Audio
Default Audio Device
front:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
Front output / input
surround21:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=USB,DEV=0
Scarlett Solo USB, USB Audio
Direct sample mixing device
usbstream:CARD=USB
Scarlett Solo USB
USB Stream Output
audacity can't see the sound scarlett sound card but only the internal one
alsamixer can see the scarlett usb card
in the kernel dmesg I see this error, could it be related ?
[ 16.374426] snd_usbmidi_lib: loading out-of-tree module taints kernel.
[ 16.425968] snd_usbmidi_lib: module verification failed: signature and/or required key missing - tainting kernel
[ 16.623591] usb 1-8: Focusrite Scarlett Gen 2/3 Mixer Driver enabled pid=0x8211
[ 16.624424] usbcore: registered new interface driver snd-usb-audio
Thanks very much for your work on this.
I tried making a 5.10.46 kernel (for raspberry pi) using the files from branch v5.12-sound-master (I simply replaced all the files under sound/usb/ with the ones here.
The kernel build succeeded, and qasmixer presented the controls (for 6i6 gen2 and 18i20 gen3).
However, jack audio was not able to open an alsa driver for scarlett devices (it could to other devices). So it seems that there is something in the 5.12 scarlett code that is incompatible with 5,10. Or maybe I need to replace more files than just the ones under sound/usb.
Do you have any suggestions as to what needs to change to backport to 5.10? or best way to debug?
Thanks, Kevin