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: evgeni, jerker.gustafson, p.bernth, szszoke.code, tiwai
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

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:
- 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]
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.

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.