Bug 195223

Summary: Boss Katana - USB audio interface not working [snd-usb-audio]
Product: Drivers Reporter: beanow
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: NEW ---    
Severity: normal CC: alexander, andriy.trotsenko, chrism, evgeni, jerker.gustafson, jnlaia, oliphant, p.bernth, rauldipeas, szszoke.code, tiwai, traderboy
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.4.0 (Ubuntu generic) Tree: Mainline
Regression: No
Attachments: alsa-info.sh output
aplay --dump-hw-params and arecord --dump-hw-params
speaker-test with plughw: and hw: addressing
Verbose aplay attempt of /dev/zero
lsusb -vvv of the device
Attempting to use the device to Jack
KATANA-100 block diagram
/proc/asound/KATANA/stream0

Description beanow 2017-04-02 14:51:17 UTC
Created attachment 255705 [details]
alsa-info.sh output

While the USB audio interface does seem to be detected. Trying to speaker-test or aplay to the interface produces no sound and times out with I/O errors.

aplay: pcm_write:1940: write error: Input/output error


The HW parameters detected under Linux also do not match up with the product description in the manual, or how it shows up with the official drivers under Windows 10.

Parameters under Windows 10:
- 3 Duplex MIDI ports (KATANA, KATANA DAW CTRL, KATANA CTRL)
- 2 Duplex PCM devices, 2 channels 44.1khz 16/24 bits (PRIMARY, SECONDARY)

Parameters under Linux:
- 3 Duplex MIDI ports (KATANA 1, KATANA 2, KATANA 3)
- 1 Duplex PCM device, 4 channels 44.1khz 32 bits (KATANA)


It's ID is 0582:01d8 and the specific model I have is the Boss Katana 100W 1x12" combo amp. The Boss Katanas (Roland corp) are a fairly new device series (released Q4 2016). So please let me know how I could help resolve this issue and/or contribute to it's driver support in general.

I will attach verbose device details and the failing playback attempts.
Comment 1 beanow 2017-04-02 14:52:24 UTC
Created attachment 255707 [details]
aplay --dump-hw-params and arecord --dump-hw-params
Comment 2 beanow 2017-04-02 14:53:13 UTC
Created attachment 255709 [details]
speaker-test with plughw: and hw: addressing
Comment 3 beanow 2017-04-02 14:54:49 UTC
Created attachment 255711 [details]
Verbose aplay attempt of /dev/zero

Note that it takes 20s to time out with the error. While this should play back silence for 1s.
Comment 4 beanow 2017-04-02 14:57:09 UTC
Created attachment 255713 [details]
lsusb -vvv of the device

EP 13 OUT and EP 14 IN are the PCM endpoints.
Comment 5 beanow 2017-04-02 14:58:05 UTC
Created attachment 255715 [details]
Attempting to use the device to Jack
Comment 6 beanow 2017-04-02 15:09:05 UTC
Created attachment 255717 [details]
KATANA-100 block diagram

The owners manual can be found at https://www.boss.info/global/support/by_product/katana-100/owners_manuals/

This screenshot is a block diagram from the manual that helps conceptualize why 2x stereo duplex makes sense and 1x 4 channel duplex doesn't.
Comment 7 beanow 2017-04-02 15:12:05 UTC
Created attachment 255719 [details]
/proc/asound/KATANA/stream0
Comment 8 szszoke 2019-01-05 19:57:44 UTC
Since the v3 firmware was released, I tested again.

Boss KATANA 100 Firmware version: 3.01,
Linux Kernel version: 4.18 low latency.

The same issue still persists.
Comment 9 Peter Bernth 2019-06-11 00:55:42 UTC
Might be a shot in the dark, but people (including myself) have gotten several Boss/Roland devices working after patching and compiling the kernel ourself.

It seems that many of the products from Boss/Roland use the exact same type of “IN/END points handling”. I don’t have the katana myself and aren’t able to test it. But I would start looking into it and read this thread. It’s full of useful information.

https://linuxmusicians.com/viewtopic.php?f=6&t=17180&p=107252#p107252
Comment 10 szszoke 2019-06-12 20:34:22 UTC
Thanks for the pointer! I was able to make my Katana work under Ubuntu 18.10 running the 4.18.0 kernel by adding this to sound/usb/pcm.c:355

>       case USB_ID(0x0582, 0x01d8):
>               return 0;

With these changes, I was able to record and play back through my amp with Jack. Thanks for the tip!
Comment 11 Peter Bernth 2019-06-13 07:07:34 UTC
(In reply to szszoke from comment #10)
> Thanks for the pointer! I was able to make my Katana work under Ubuntu 18.10
> running the 4.18.0 kernel by adding this to sound/usb/pcm.c:355
> 
> >       case USB_ID(0x0582, 0x01d8):
> >               return 0;
> 
> With these changes, I was able to record and play back through my amp with
> Jack. Thanks for the tip!

You’re welcome. I suspected it was the same problem. We need more focus on this. Back at kernel 3.10 Roland/Boss devices was working perfectly fine out of the box. I know several people had tried reporting these errors, but apparently pro audio is not a high priority. I recommend compiling as module because it is much much faster than compiling full kernel every time you update. I use rolling release distros and update kernel often.
Comment 12 szszoke 2019-06-13 07:36:59 UTC
I ended up doing exactly that.
Comment 13 Takashi Iwai 2019-06-13 09:26:25 UTC
Could either of you just submit the fix patch?  I'd happily apply the fix.
Comment 14 szszoke 2019-06-13 09:39:36 UTC
I can, but there are some things to consider:
1. This workaround works for multiple devices, but we need to hard-code the the USB identifiers.
2. According to the person who discovered this fix, it's a dirty hack that just hides the real problem

I will reach out to the original author and maybe he can explain this better.
Comment 15 beanow 2019-08-04 16:24:46 UTC
Any new information on what could get this from a hack to a suitable patch?
Comment 16 szszoke 2019-08-10 19:33:12 UTC
I wrote in on the forum thread but I got no response so far.
Comment 17 szszoke 2019-10-07 16:01:14 UTC
I was thinking and hack or not, other devices are using this technique already, so I don't see why couldn't we use it for the Katana.

Takashi Iwai, if your offer still stands, I would like to help with submitting a fix.
Comment 18 szszoke 2019-10-11 17:31:04 UTC
I submitted a small patch with the fix.
Comment 19 Raul Dipeas 2019-11-25 03:15:30 UTC
(In reply to szszoke from comment #18)
> I submitted a small patch with the fix.

I have an issue with M-Audio C400, it's not recognized by JACK on Ubuntu(all versions) after this patch was submitted.

It's appear with no controls on ALSA mixer.
Comment 20 szszoke 2019-11-25 07:05:54 UTC
Can you post the output of lsusb? This patch should only affect devices that have this USB vendor and product ID: 0582:01d8.
Comment 21 Raul Dipeas 2019-11-25 07:08:33 UTC
(In reply to szszoke from comment #20)
> Can you post the output of lsusb? This patch should only affect devices that
> have this USB vendor and product ID: 0582:01d8.

This is my device:

Bus 001 Device 002: ID 0763:2030 Midiman
Comment 22 szszoke 2019-11-25 07:16:02 UTC
Your device should not be affected by the patch that was submitted to make the KATANA amps work, but you can try and undo this change: https://github.com/torvalds/linux/commit/7571b6a17fcc5e4f6903f065a82d0e38011346ed

This is the only change that was submitted.

Let me know if you need help with compiling the kernel.
Comment 23 Raul Dipeas 2019-11-25 07:24:51 UTC
(In reply to szszoke from comment #22)
> Your device should not be affected by the patch that was submitted to make
> the KATANA amps work, but you can try and undo this change:
> https://github.com/torvalds/linux/commit/
> 7571b6a17fcc5e4f6903f065a82d0e38011346ed
> 
> This is the only change that was submitted.
> 
> Let me know if you need help with compiling the kernel.

I really don't know if this patch affected me, but after the release of the kernel with this patch, i'm getting this error, maybe something else has causing this.

I'm using XanMod kernel, version 5.3.8, in any version above, i'm getting this error.

I'm trying with Liquorix too, last version working is 5.3.0-10-1.

Even with last Ubuntu mainline kernel, 5.4.0, it happen.

Can you help-me anyway?
Comment 24 Raul Dipeas 2019-11-25 10:20:27 UTC
I recompiled the kernel without this patch for KATANA but still get the issue.

I had tried with XanMod 5.3.8.
Comment 25 traderboy 2019-12-27 22:45:13 UTC
Would it be possible to have the fix also applied for other Boss devices?
Mine is a GT-001 and on USB it reports ID 0582:01e5 Roland Corp.
So currently I keep on compiling the fix for snd-usb-audio myself to make it work.
Thank you in advance.
Comment 26 szszoke 2019-12-27 22:47:22 UTC
Yes, in fact I'm working on a patch that would make the SY-300 synth pedal work with this exact method.
Comment 27 traderboy 2019-12-27 22:49:50 UTC
Thanks again for your efforts and I am looking forward to it.
Comment 28 Mike Oliphant 2019-12-28 22:52:02 UTC
I just wanted to add that the Boss GT-1 (which is different from the GT-001) has this problem as well.

Boss GT-1 USB ID: 0582:01d6

Without the fix, recording and playback are not possible. With the fix, recording and playback work, although I'm getting frequent sample dropouts. Still, working with dropouts is better than not working at all.
Comment 29 Mike Oliphant 2020-01-23 17:36:02 UTC
I now have what I believe is a better fix, at least for the GT-1. I have implicit feedback working, rather than just being disabled (which is what the previous Katana patch does). I now get perfectly solid capture/playback with no dropouts.

I plan to submit a patch, but I suspect this fix will work for other Boss devices (Katana, GT-001, etc.), so I'd like to cover them if it does.

If you have a Boss device with this issue and are set up to recompile your kernel, drop me an email.
Comment 30 Chris McDonough 2020-05-14 22:26:03 UTC
(In reply to Mike Oliphant from comment #29)
> If you have a Boss device with this issue and are set up to recompile your
> kernel, drop me an email.

Hi Mike, I have an RC-202 and I'm set up to recompile, if you want to post the patches somewhere.
Comment 31 Mike Oliphant 2020-05-15 15:39:55 UTC
Hi Chris - I did a write-up on the process here:

http://blog.nostatic.org/2020/01/getting-boss-gt-1-effects-processor-to.html