Scarlett 18i20 gen 3 Linux - Crackling Audio
Moderators: MattKingUSA, khz
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
Be assured, I can go down on light CPU track. I was testing with a heavy VST track.
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
@puleglot I know it's probably a lot to ask for, but would it be maybe possible to port this patch (in current version) back to my before mentioned kernel 4.6? I tried to pull off probably the most ridiculously overcomplicated workaround one could come up with to get this running on 4.6 - means I created headless Arch Linux VirtualBox VM with Scarlett 18i20 USB passthrough and patched kernel 5.4 to launch NetJACK1 here and pass audio using NetJACK from host with kernel 4.6 to VM with patched kernel 5.4 controlling soundcard.
Unfortunately my devious plan failed miserably since:
1) for some apparent reason device doesn't want to run at 96kHz in VM at all and frankly it looks like emulated USB driver bandwidth issue because it doesn't work even without patch (something that worked on every bare metal I tested) and when using EHCI VM controller it doesn't work even at 48 kHz.
2) NetJACK1 is apparently also flawed and seems to struggle with transporting anything above 6/6 channel in normal network and 8/8 when using 9k jumbo frames. I could reach 10/10 only because it's virtual loopback network so I could set insane MTU like 32k which are not supported by any real hardware.
3) since it's VM I'm getting a lot of netruns which are NetJACK equivalents of XRUNs since virtualized networking is quite unpredictable and unstable latency-wise. And I can't set JACK here to RT-PRIO since setting VirtualBox to RT FIFO is absolutely utterly terrible idea which in 9 out of 10 cases ends up with CPU hard lockup or kernel panic after few hours of use on average.
So I guess I'll rather do everything to get this running on 4.6.
this is my pcm.c file:
https://pastebin.com/9PGC6AxH
quirks-table.h:
https://pastebin.com/kzz2whBs
It doesn't even need to be full fix, I'll be fine even with interface working only in 48 kHz as long as it doesn't crackle at least (so just that first part of patch).
Unfortunately my devious plan failed miserably since:
1) for some apparent reason device doesn't want to run at 96kHz in VM at all and frankly it looks like emulated USB driver bandwidth issue because it doesn't work even without patch (something that worked on every bare metal I tested) and when using EHCI VM controller it doesn't work even at 48 kHz.
2) NetJACK1 is apparently also flawed and seems to struggle with transporting anything above 6/6 channel in normal network and 8/8 when using 9k jumbo frames. I could reach 10/10 only because it's virtual loopback network so I could set insane MTU like 32k which are not supported by any real hardware.
3) since it's VM I'm getting a lot of netruns which are NetJACK equivalents of XRUNs since virtualized networking is quite unpredictable and unstable latency-wise. And I can't set JACK here to RT-PRIO since setting VirtualBox to RT FIFO is absolutely utterly terrible idea which in 9 out of 10 cases ends up with CPU hard lockup or kernel panic after few hours of use on average.
So I guess I'll rather do everything to get this running on 4.6.
this is my pcm.c file:
https://pastebin.com/9PGC6AxH
quirks-table.h:
https://pastebin.com/kzz2whBs
It doesn't even need to be full fix, I'll be fine even with interface working only in 48 kHz as long as it doesn't crackle at least (so just that first part of patch).
-
- Established Member
- Posts: 135
- Joined: Thu Jan 23, 2020 3:14 pm
- Has thanked: 3 times
- Been thanked: 13 times
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
Completely untested:
Code: Select all
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index 44d178ee9177..32c70e136cfb 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -314,6 +314,7 @@ static int search_roland_implicit_fb(struct usb_device *dev, int ifnum,
}
static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
+ struct audioformat *fmt,
struct usb_device *dev,
struct usb_interface_descriptor *altsd,
unsigned int attr)
@@ -348,6 +349,15 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
alts = &iface->altsetting[1];
goto add_sync_ep;
+ case USB_ID(0x1235, 0x8215): /* Focusrite Scarlett 18i20 3rd Gen */
+ ep = 0x81;
+ iface = usb_ifnum_to_if(dev, 2);
+ if (!iface || fmt->altset_idx == 0 ||
+ fmt->altset_idx >= iface->num_altsetting)
+ return -EINVAL;
+
+ alts = &iface->altsetting[fmt->altset_idx];
+ goto add_sync_ep;
}
if (attr == USB_ENDPOINT_SYNC_ASYNC &&
altsd->bInterfaceClass == USB_CLASS_VENDOR_SPEC &&
@@ -407,7 +417,7 @@ static int set_sync_endpoint(struct snd_usb_substream *subs,
subs->data_endpoint->sync_master = NULL;
}
- err = set_sync_ep_implicit_fb_quirk(subs, dev, altsd, attr);
+ err = set_sync_ep_implicit_fb_quirk(subs, fmt, dev, altsd, attr);
if (err < 0)
return err;
- skobkin
- Established Member
- Posts: 12
- Joined: Mon Apr 13, 2020 6:58 pm
- Location: Arkhangelsk, Russia
- Been thanked: 1 time
- Contact:
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
How complex?
I'm asking because you will get crackling even on Windows where it works like intended if you use small buffer size with many VST plugins. That's why it's a common practice to record on small buffer size to avoid latency problems and then edit using bigger value.
Maybe you also use too many plugins and your FX chain could be optimized?
I want to test your patches on my 18i20 gen3. As far as I understand I need to take second part of the old patch (quirks) and the latest patch which "must not crash the kernel". Am I correct?puleglot wrote: ↑Thu Mar 26, 2020 1:34 pm This is only needed for cards that support different set of sample rates in different modes, like 18i20 and probably 18i8. These sample rate constraints cannon be exposed in a standard UAC2 way, so Focusrite exposes them via non class compliant audio format descriptors that is currently not understood by the driver.
-
- Established Member
- Posts: 135
- Joined: Thu Jan 23, 2020 3:14 pm
- Has thanked: 3 times
- Been thanked: 13 times
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
Correct. But instead of an old patch against quirks-table.h please try the attached patch.
Update: attached patches were broken. Removed them.
Last edited by puleglot on Sat Apr 18, 2020 12:00 am, edited 2 times in total.
- skobkin
- Established Member
- Posts: 12
- Joined: Mon Apr 13, 2020 6:58 pm
- Location: Arkhangelsk, Russia
- Been thanked: 1 time
- Contact:
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
Ok. What about this part from the first two pages?
Code: Select all
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -365,6 +365,10 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
ep = 0x81;
ifnum = 2;
goto add_sync_ep_from_ifnum;
+ case USB_ID(0x1235, 0x8215): /* Focusrite Scarlett 18i20 3rd Gen */
+ ep = 0x81;
+ ifnum = 2;
+ goto add_sync_ep_from_ifnum;
As far as I understand this patch(es) must remove sound crackling. But I see that you're doing something with sample rate detection in the last patch, so I'm not sure what to test because I hadn't any problems with it.
// Also your last patch is not in -p1 format so it was needed to manually fix the paths to automatically apply it using package manager.
-
- Established Member
- Posts: 135
- Joined: Thu Jan 23, 2020 3:14 pm
- Has thanked: 3 times
- Been thanked: 13 times
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
Attached patch should fix crackling sound. Note that full duplex mode will work only with jack due to some limitations in the driver.skobkin wrote: ↑Thu Apr 16, 2020 11:59 am Also please tell me what to test. Because I didn't test anything of this thread before.
As far as I understand this patch(es) must remove sound crackling. But I see that you're doing something with sample rate detection in the last patch, so I'm not sure what to test because I hadn't any problems with it.
Rate detection fix is needed just to prevent user from selecting unsupported sample rate.
Ooops, fixed. Thanks.
- Attachments
-
- 18i20gen3_implicit_fb.txt
- Implicit feedback quirk for 18i3 3rd gen
- (1003 Bytes) Downloaded 97 times
- skobkin
- Established Member
- Posts: 12
- Joined: Mon Apr 13, 2020 6:58 pm
- Location: Arkhangelsk, Russia
- Been thanked: 1 time
- Contact:
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
So if I'm using PulseAudio right now there is nothing for me to improve in the current situation by these patches?
I was planning to check if wiring PulseAudio through Jack would work but hadn't much time to properly research it.
P.S. I can still check if these patches solve crackling for me.
But unfortunately I couldn't use them on a daily basis at least until I move to Jack+PulseAudio or until USB Audio driver is fixed in the kernel (which is not going to be soon as far as I understand).
Thanks for the info anyway!
-
- Established Member
- Posts: 135
- Joined: Thu Jan 23, 2020 3:14 pm
- Has thanked: 3 times
- Been thanked: 13 times
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
Well, at least playback will be glitch-free.
jackdbus is fairly easy to setup. In QjackCtl it's a matter of enabling two D-Bus-related options in Misc. tab.
-
- Established Member
- Posts: 135
- Joined: Thu Jan 23, 2020 3:14 pm
- Has thanked: 3 times
- Been thanked: 13 times
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
I removed old patches from this topic. If somebody is willing to test sample rate patch, please confirm that it works by providing contents of /proc/asound/USB/stream0 . Thanks!
- skobkin
- Established Member
- Posts: 12
- Joined: Mon Apr 13, 2020 6:58 pm
- Location: Arkhangelsk, Russia
- Been thanked: 1 time
- Contact:
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
Just applied both patches and tested how they're working.
1. Crackling fix.
Firstly I chose USB port which caused more crackling sounds of all. It sounded like that: https://yadi.sk/d/cmtr8sLIBasjxw
After applying both patches I rebooted and checked how it works. And playback worked perfectly. I didn't hear a single click in a minute.
For obvious reason (duplex is not working with this patch as @puleglot said) I can't provide a sample. But for me it sounds like crackling is completely gone.
2. Sample rate.
To be clear what exactly I applied to the kernel in case I've misunderstood @puleglot:
1. Crackling fix.
Note: earlier I discovered that I'm getting different amount of sound distortions when using different USB ports. And then I ended using the port which caused least crackling.
Firstly I chose USB port which caused more crackling sounds of all. It sounded like that: https://yadi.sk/d/cmtr8sLIBasjxw
After applying both patches I rebooted and checked how it works. And playback worked perfectly. I didn't hear a single click in a minute.
For obvious reason (duplex is not working with this patch as @puleglot said) I can't provide a sample. But for me it sounds like crackling is completely gone.
2. Sample rate.
Code: Select all
$ cat /proc/asound/USB/stream0
Focusrite Scarlett 18i20 USB at usb-0000:01:00.0-2, high speed : USB Audio
Playback:
Status: Running
Interface = 1
Altset = 3
Packet Size = 360
Momentary freq = 44100 Hz (0x5.8333)
Interface 1
Altset 1
Format: S32_LE
Channels: 20
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 1
Altset 2
Format: S32_LE
Channels: 18
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 1
Altset 3
Format: S32_LE
Channels: 10
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Capture:
Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 20
Endpoint: 1 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 2
Altset 2
Format: S32_LE
Channels: 18
Endpoint: 1 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 2
Altset 3
Format: S32_LE
Channels: 10
Endpoint: 1 IN (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Code: Select all
$ uname -a
Linux skobkin-pc 5.6.4-gentoo-skobkin #1 SMP Mon Apr 13 20:44:13 MSK 2020 x86_64 AMD Ryzen Threadripper 1950X 16-Core Processor AuthenticAMD GNU/Linux
Code: Select all
$ cat /etc/portage/patches/sys-kernel/gentoo-sources-5.6.4/*.patch
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index bd258f1ec2dd..4f6709dc8b9f 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -365,6 +365,10 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
ep = 0x81;
ifnum = 2;
goto add_sync_ep_from_ifnum;
+ case USB_ID(0x1235, 0x8215): /* Focusrite Scarlett 18i20 3rd Gen */
+ ep = 0x81;
+ ifnum = 2;
+ goto add_sync_ep_from_ifnum;
case USB_ID(0x0582, 0x01d8): /* BOSS Katana */
/* BOSS Katana amplifiers do not need quirks */
return 0;
@@ -387,10 +391,11 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
add_sync_ep_from_ifnum:
iface = usb_ifnum_to_if(dev, ifnum);
- if (!iface || iface->num_altsetting < 2)
+ if (!iface || subs->altset_idx == 0 ||
+ subs->altset_idx >= iface->num_altsetting)
return -EINVAL;
- alts = &iface->altsetting[1];
+ alts = &iface->altsetting[subs->altset_idx];
add_sync_ep:
subs->sync_endpoint = snd_usb_add_endpoint(subs->stream->chip,
diff --git a/sound/usb/format.c b/sound/usb/format.c
index d79db71305f6..6a6d35ed25e8 100644
--- a/sound/usb/format.c
+++ b/sound/usb/format.c
@@ -226,6 +226,52 @@ static int parse_audio_format_rates_v1(struct snd_usb_audio *chip, struct audiof
return 0;
}
+/*
+ * Some Focusrite devices supports a limited set of sampling rates per
+ * altsetting. Maximum rate is exposed in the last 4 bytes of Format Type
+ * descriptor.
+ */
+static bool focusrite_valid_sample_rate(struct snd_usb_audio *chip,
+ struct audioformat *fp,
+ unsigned int rate)
+{
+ struct usb_interface *iface;
+ struct usb_host_interface *alts;
+ struct uac_format_type_i_continuous_descriptor *fmt;
+ unsigned int max_rate;
+
+ iface = usb_ifnum_to_if(chip->dev, fp->iface);
+ if (!iface)
+ return true;
+
+ alts = &iface->altsetting[fp->altset_idx];
+ fmt = snd_usb_find_csint_desc(alts->extra, alts->extralen,
+ NULL, UAC_FORMAT_TYPE);
+ if (!fmt)
+ return true;
+
+ if (fmt->bLength == 10) {
+ max_rate = combine_quad((unsigned char *)&fmt[6]);
+
+ /* Validate max rate */
+ if (max_rate != 48000 &&
+ max_rate != 96000 &&
+ max_rate != 192000 &&
+ max_rate != 384000) {
+
+ usb_audio_info(chip,
+ "%u:%d : max rate validation error.\n",
+ fp->iface, fp->altsetting);
+
+ return true;
+ }
+
+ return rate <= max_rate;
+ }
+
+ return true;
+}
+
/*
* Helper function to walk the array of sample rate triplets reported by
* the device. The problem is that we need to parse whole array first to
@@ -262,6 +308,12 @@ static int parse_uac2_sample_rate_range(struct snd_usb_audio *chip,
}
for (rate = min; rate <= max; rate += res) {
+
+ /* Filter out invalid rates on Focusrite devices */
+ if (USB_ID_VENDOR(chip->usb_id) == 0x1235 &&
+ !focusrite_valid_sample_rate(chip, fp, rate))
+ goto skip_rate;
+
if (fp->rate_table)
fp->rate_table[nr_rates] = rate;
if (!fp->rate_min || rate < fp->rate_min)
@@ -276,6 +328,7 @@ static int parse_uac2_sample_rate_range(struct snd_usb_audio *chip,
break;
}
+skip_rate:
/* avoid endless loop */
if (res == 0)
break;
-
- Established Member
- Posts: 135
- Joined: Thu Jan 23, 2020 3:14 pm
- Has thanked: 3 times
- Been thanked: 13 times
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
@skobkin thanks for testing. Sample rate patch doesn't work unfortunately. Do you see messages like "max rate validation error" in dmesg?
- skobkin
- Established Member
- Posts: 12
- Joined: Mon Apr 13, 2020 6:58 pm
- Location: Arkhangelsk, Russia
- Been thanked: 1 time
- Contact:
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
Code: Select all
# lsusb | fgrep Focusrite
Bus 001 Device 002: ID 1235:8215 Focusrite-Novation Scarlett 18i20 USB
# journalctl -b -k | fgrep -A3 -B3 'max rate'
Apr 16 19:16:01 skobkin-pc kernel: hid-generic 0003:04B4:0510.0004: input,hidraw3: USB HID v1.11 Keyboard [HID Keyboard HID Keyboard] on usb-0000:08:00.3-4.2/input1
Apr 16 19:16:01 skobkin-pc kernel: Bluetooth: hci0: read Intel version: 370810225019140f35
Apr 16 19:16:01 skobkin-pc kernel: Bluetooth: hci0: Intel device is already patched. patch num: 35
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: usb 1-2: 1:1 : max rate validation error.
Apr 16 19:16:01 skobkin-pc kernel: EDAC amd64: F17h detected (node 0).
Apr 16 19:16:01 skobkin-pc kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Apr 16 19:16:01 skobkin-pc kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
--
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: F17h detected (node 0).
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Apr 16 19:16:02 skobkin-pc kernel: usb 3-4.3: new high-speed USB device number 4 using xhci_hcd
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: F17h detected (node 0).
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 1:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: F17h detected (node 0).
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:1 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: F17h detected (node 0).
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:2 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: F17h detected (node 0).
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: usb 1-2: 2:3 : max rate validation error.
Apr 16 19:16:02 skobkin-pc kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 440.82 Wed Apr 1 19:41:29 UTC 2020
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: F17h detected (node 0).
Apr 16 19:16:02 skobkin-pc kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
So glad I found this ! Thanks so much to all those involved. Any chance we can get these patches:
1. Into github for easy access.
2. Into the mainstream Linux kernel.
3. To include USB ID 1235:8213 - Focusrite Scarlett 8i6 (3rd Gen).
1. Into github for easy access.
2. Into the mainstream Linux kernel.
3. To include USB ID 1235:8213 - Focusrite Scarlett 8i6 (3rd Gen).
-
- Established Member
- Posts: 135
- Joined: Thu Jan 23, 2020 3:14 pm
- Has thanked: 3 times
- Been thanked: 13 times
Re: Scarlett 18i20 gen 3 Linux - Crackling Audio
@skobkin I've improved debug output. Could you try the new patch?
Update: attached patches were broken. Removed them.
Update: attached patches were broken. Removed them.
Last edited by puleglot on Sat Apr 18, 2020 12:01 am, edited 1 time in total.