[alsa-devel] Implicit feedback solution for Boss GT-1 and maybe other devices

Mike Oliphant oliphant at nostatic.org
Thu Jan 23 19:06:58 CET 2020


I received a very helpful email response to my previous thread about trying
to get the Boss GT-1 pedalboard working reliably, and as a result I now
have a working solution.

The issue seems to be that the GT-1 does not send any capture data until it
gets some playback data first.

This block in the "snd_usb_endpoint_start()" function in endpoint.c:

  "if (snd_usb_endpoint_implicit_feedback_sink(ep)) { ... }"

causes the system to wait to send output until some capture urbs are
received.

As a result, both sides end up waiting on the other, and nothing happens.

Simply commenting out that "if" block makes the GT-1 work perfectly with
implicit feedback enabled.

I plan to submit a patch for this after I do a bit of legwork to see if the
fix works for other recent Boss devices (Katana, other GT devices, etc.).
Perhaps making the relevant "if" block conditional on a flag, with a USB_ID
switch statement to set the flag? Any feedback would be welcome.

Thanks,

Mike


More information about the Alsa-devel mailing list