[alsa-devel] Implicit feedback solution for Boss GT-1 and maybe other devices
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
On Thursday, 23 January 2020 10:06:58 GMT Mike Oliphant wrote:
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.
Hi Mike,
In my original investigations (which you referenced) this was the conclusion I was starting to reach, but real-world events meant I didn't have the time to follow up on it, so I'm grateful that you have.
In the kernel.org bugzilla report you also mention that you have a potential fix. I would be willing to test this, subject to time constraints (in other words it may or may not take me some time to get around to testing this).
Feel free to contact me directly to send me a patch (best email address is user kamilner on the same domain used to send this email).
For reference, I have a GT-1, a GT-001, and a 1st gen Katana I can test with.
Regards,
Keith
participants (2)
-
Keith A. Milner
-
Mike Oliphant