Em Sex, 9 de abr de 2021 13:47, Mike Oliphant <oliphant@xxxxxxxxxxxx> escreveu: > Hi Lucas, > > Your observation that the Roland D-05 still needs the capture feedback > made me try some more testing, and I think the GT-1 actually is the same. > > I use my device with jackd running for both capture/playback at the same > time. This works for me without capture feedback enabled. But, it turns out > that just doing an "arecord" without playback fails. Enabling the capture > feedback makes capture also work without playback (and everything else > still works perfectly). > Mike, you were incredibly lucky to have posted this patch in a window where Lucas saw it and was able to test it. It will save you countless hours. It makes little sense however that arecord should fail when used alone. I'm not an USB know-it-all but by my logic if you're not using the playback how in Earth is the code getting feedback from it? Can you see what I mean? My suggestion is that you check the dyndbg logs to see if the capture quirk isn't just forcing your device into duplex-mode. Maybe these devices aren't meant to operate outside duplex, it's hard to say, their behaviour is esoteric to say the least. I mention this because your lsusb -v is quite clear in that the implicit feedback endpoint is the capture one. > > Given this, I agree that it seems likely that most, if not all, of these > Roland devices work the same way. It would be great to get more devices > tested, though. > > As to an actual patch, I think it is probably best left to Takashi to > decide if he is comfortable with making a change to > snd_usb_endpoint_start() in endpoint.c, and if so, how he wants to make it > conditional for devices - whether an ID check in endpoint.c, or a flag on > feedback setup, or some other way. > Mike, remember that any criticism from me is always meant to be constructive and to improve the quality of your patch. I do encourage you to submit your patch to Takashi Iwai when you are confident that is polished enough for mainlining. If he decides to change everything you coded it's his decision and there's little we can do, but the point is always to make the regular users' life a little easier with devices that just work under Linux. Thanks, Geraldo > Mike > > On Thu, Apr 8, 2021 at 9:55 PM Lucas <jaffa225man@xxxxxxxxx> wrote: > >> Geraldo, you've made testing kernel patches for me quite easy, so thanks >> to you! And I'm happy to report that your patch, which I manually applied >> because I forgot to remove the "if (false)" change, is working perfectly! >> I am now able to use the, minimally mentioned, Takashi UA-101 MIDI patch >> with the UA-101 set to USB 1.1 mode, on the same kernel that has perfectly >> clean Boutique D-05 playback. The Takashi UA-101 patch is here: >> https://bugzilla.kernel.org/show_bug.cgi?id=212477, just in case there's >> curiosity. :) >> >> It seems to me, that since the UA-101 in (USB 1.1 mode) isn't compatible >> with the "if (false)" endpoint.c method, it would have to be matched for >> exclusion, assuming we would ever be able to more simply match with >> Roland's/BOSS' Vendor ID of 0x0582. I still think that would be the >> ultimate patch because, as far as I'm aware, all new Roland/BOSS devices >> use minimally-differing forms of this implicit feedback quirk. >> >> Thanks. again, for everything Mike, Geraldo, & Takashi! >> >> Lucas >> >