Bug fix + better support of 18i20 Gen3 device #1
Conversation
|
We're moving forward. Now talkback function can be assigned to each output of the internal mixer. |
…-controlled elements
|
Hi, I am willing to test these patches soon, is this branch worth trying or should I wait for for more commits? |
This branch is still in progress but I always check what I commit and try to not commit half-working functions. |
|
Latest changes: now mixer state is persistent, the driver handles software configuration area of device and configures the mixer when the device is connected to USB port. |
|
@mchodzikiewicz I've tried to apply this PR as a patch (as of today 16 of October) to 5.9.0, but looks like there are too many differences already
So looks like we should either use old kernel or wait until it finished and updated to the new versions. |
|
@skobkin |
|
@skobkin |
No. Maybe that's the source of the problem.
Should I apply it AFTER applying changes from the original repo or directly to the 5.9.0 sources? BTW, Thanks! |
I am sure that's the source of problem.
This patch I've specially done for 5.9.0 kernel. I've made it by manually applying all necessary changes and taking the diff with original source, so it may be applied directly. |
Thanks! I'll try to test it soon! |
|
@sadko4u Hi :) Did quick test of the patch. First it didn't work at all and printed this message in the
I did that and added new config file in the
Good things:
Bad things: I think that something related to interface configuration is broken. Quite interesting result. If you have a suggestion about how I can fix it (on non-patched kernel), I'll be grateful. Thanks for the work anyway and good luck with finishing and merging upstream. |
This still has not been checked by me. I believe there's something missing in the configuration of the device. Anyway, I'll check the input when end up with routing settings.
Which one? The hardware VU-meter which is on the device or the software one?
Currentlly have no idea. Seems really that I've something missed when configuring the device. |
The hardware one. But software indicators also shows nothing (input and output both looks broken). Maybe routing is broken, or something like that. I'm not too familiar with low-level details.
If you want, I can provide a video of how it behaves and any logs (in the Telegram probably?) later. |
Well actually I took this occasion to upgrade my system to its next release (Linux Mint 20, which is Ubuntu 20.04 based) |
Yes, you can do a pull-request to my repository and I'll add the corresponding patch for the kernel. |
|
@sadko4u Now everything seems to work - thank you! |
This is the result of that driver is not following the ALSA parameter naming feature. Probably I'll fix it when I will polish the driver. Currently that's true. The development is still in progress since there are still a couple of things that is required to be implemented. I'll continue my job at the end of week. |
|
Hi all! This change adds mute controls to Analogue, S/PDIF and ADAT outputs. Anyway, you can test mutes now but remember: if you'll restart the driver, the routing of muted channels may be broken. |
|
Hi @sadko4u, sorry for the delay, but I finally tested your debug driver: Is anyone here using PulseAudio? I don't know if this is a driver-related issue: I'm trying to get logs from pulseaudio, but this seems a bit complicated, since it automatically restarts when I kill it and it doesn't want to read my config that should enable debug output ... |
Okay, I'll continue the development ASAP. There were couple of things I was required to do. Now I'm more free and can resume the work. |
Hello folks. Does this driver work for 2i2 gen3? |
|
@andmarti1424 |
|
@sadko4u Thank you for your reply. I have a question about the use of this driver though. Would this enable the routing, so each output (headphone output as well) can be set up, to mix between playback and input signals?? Thanks!! |
2i2 doesn't support routing. It has no internal mixer/router at all. The only things that can be controlled are several buttons like pad/air and phantom power. And I believe that not all of them. For this purpose I need a more proper protocol dump than I have currently. |
|
@sadko4u Actually I do not have an 2i2 yet. Was planning on getting one and that was why I was asking that. I though the Linksrite control app allowed to control the mix between playback and input, in the monitor output. This is not the case then? If thats the case.. what a bummer. thank you again! |
|
The best support you'll get if you buy 18i20 device :). Since I'm the owner of 18i20 and can guarantee that most of functions fork for it. |
@sadko4u what about 4i4 3rd Gen..? Is the mix and routing supported with this patch? Thanks! |
Yes, 4i4 should be supported but I didn't test it. So be ready to take dumps from device :). |
|
Now I managed to get logs from pulseaudio - I tried to play a test sound, and diffed the logs ...
Now I can do almost everything and still have sound. Except when I now turn off the device, kill the pulseaudio daemon and turn it on again, I seem to have the same problem as at 1. But now it can change the sample_spec and uses a input channel 3 (line 68). After line 119 it hangs again a few seconds ... When I now do |
- Added 'Mute' switches for all non-PCM outputs. - Added 'Mute' switches for all mixer lines. - Added gain halos control for 18i8 gen3 device. - Driver code refactoring and prettifying. - Signal routing is now fully persistent (at least for 18i20).
|
Hi folks! I've just updated the device driver. The routing, probably the hardest part of the driver, is now working nice for 18i20 device.
|
- Line/Inst switches support - Air switches support - 48V phantom power switch support - Direct monitor switching support - Retain 48V support - Gain halos custom colors support
I have no device to test. If you're ready to test, then you need to apply kernel patches from this repository and try it: |
|
Hello again,
I'm neither a fan of pulseaudio, but I feared the trouble of replacing it ;) Now I discovered another problem when trying to record something using the newest version of the driver (e9428f6): After writing the first lines here I wanted to look up what is available, and suddenly all options are present o.O |
|
Hi, Since I use Ubuntu 20.10 I helped myself with https://phoenixnap.com/kb/build-linux-kernel (up until 'sudo make install', which also updates bootloader) to download, patch and build the kernel. When I restarted I was out of video driver. I had to uninstall nvidia proprietary drivers, cleaned them following https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#removing-cuda-tk-and-driver (Ubuntu section). Then restart, reinstall them, and restart I had proper video driver working again. Regarding the Scarlett 18i20 driver I was hoping it would work... And it does ! I can now see a lot of options when doing 'alsamixer' in the terminal:
Every Dim, Air, Instrument button works, hw and sf. Do you have a date in mind when it will be available in mainstream kernel ? Thank you for the patch it works great. |
|
@Pauldb8 Anyway, I believe it will be ready when I end up with 18i8 device and talkback feature. |


This set of patches enhances support of Focusrite Scarlett 18i20 Gen3 and other Gen3 devices.
The list of changes:
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.