Implicit feedback on BOSS GT-1, the saga continues...
I had thought that the recent implicit feedback changes were fully working on the BOSS GT-1, but it turns out that I just hadn't tested well enough.
Audio playback and capture works, but with periodic dropouts. I get the exact same behavior as I did with the quirk to completely disable implicit feedback. Without the implicit feedback, you get dropouts from clock drift - how bad probably varies from card to card. On mine it is every second or so.
If I switch playback feedback for the GT-1 to generic by doing "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old behavior, which is that playback completely fails to start.
With generic playback feedback, and using my previous patch to endpoint.c to avoid playback waiting on capture mentioned here:
https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.ht...
playback and capture work perfectly for me.
Hey Mike, did you catch the latest patch by Takashi Iwai for capture quirky devices?
You can find it here: https://patchwork.kernel.org/project/alsa-devel/patch/20210406113837.32041-1...
Em Qua, 7 de abr de 2021 16:55, Mike Oliphant oliphant@nostatic.org escreveu:
I had thought that the recent implicit feedback changes were fully working on the BOSS GT-1, but it turns out that I just hadn't tested well enough.
Audio playback and capture works, but with periodic dropouts. I get the exact same behavior as I did with the quirk to completely disable implicit feedback. Without the implicit feedback, you get dropouts from clock drift
- how bad probably varies from card to card. On mine it is every second or
so.
If I switch playback feedback for the GT-1 to generic by doing "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old behavior, which is that playback completely fails to start.
With generic playback feedback, and using my previous patch to endpoint.c to avoid playback waiting on capture mentioned here:
https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.ht...
playback and capture work perfectly for me.
Hi Geraldo - I don't have that patch applied, but it shouldn't make any behavioral difference - it just seems to be simplifying the code.
The issue is that the BOSS GT-1 *does* need implicit feedback on playback to avoid clock timing issues, and the current behavior is disabling that feedback.
Mike
On Wed, Apr 7, 2021 at 1:04 PM Geraldo Nascimento geraldogabriel@gmail.com wrote:
Hey Mike, did you catch the latest patch by Takashi Iwai for capture quirky devices?
You can find it here: https://patchwork.kernel.org/project/alsa-devel/patch/20210406113837.32041-1...
Em Qua, 7 de abr de 2021 16:55, Mike Oliphant oliphant@nostatic.org escreveu:
I had thought that the recent implicit feedback changes were fully working on the BOSS GT-1, but it turns out that I just hadn't tested well enough.
Audio playback and capture works, but with periodic dropouts. I get the exact same behavior as I did with the quirk to completely disable implicit feedback. Without the implicit feedback, you get dropouts from clock drift
- how bad probably varies from card to card. On mine it is every second or
so.
If I switch playback feedback for the GT-1 to generic by doing "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old behavior, which is that playback completely fails to start.
With generic playback feedback, and using my previous patch to endpoint.c to avoid playback waiting on capture mentioned here:
https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.ht...
playback and capture work perfectly for me.
Em Qua, 7 de abr de 2021 17:16, Mike Oliphant oliphant@nostatic.org escreveu:
Hi Geraldo - I don't have that patch applied, but it shouldn't make any behavioral difference - it just seems to be simplifying the code.
Point taken.
The issue is that the BOSS GT-1 *does* need implicit feedback on playback to avoid clock timing issues, and the current behavior is disabling that feedback.
Mike, would you mind posting some dyndbg logs for both the stock behaviour and your endpoint.c/generic quirk modified behaviour?
Just add snd_usb_audio.dyndbg=+p to your kernel options and please share the logs.
Mike
On Wed, Apr 7, 2021 at 1:04 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Hey Mike, did you catch the latest patch by Takashi Iwai for capture quirky devices?
You can find it here: https://patchwork.kernel.org/project/alsa-devel/patch/20210406113837.32041-1...
Em Qua, 7 de abr de 2021 16:55, Mike Oliphant oliphant@nostatic.org escreveu:
I had thought that the recent implicit feedback changes were fully working on the BOSS GT-1, but it turns out that I just hadn't tested well enough.
Audio playback and capture works, but with periodic dropouts. I get the exact same behavior as I did with the quirk to completely disable implicit feedback. Without the implicit feedback, you get dropouts from clock drift
- how bad probably varies from card to card. On mine it is every second
or so.
If I switch playback feedback for the GT-1 to generic by doing "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old behavior, which is that playback completely fails to start.
With generic playback feedback, and using my previous patch to endpoint.c to avoid playback waiting on capture mentioned here:
https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.ht...
playback and capture work perfectly for me.
Geraldo - here is the dmesg output when starting up jackd for capture/playback:
With my patch:
[ 136.734081] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 136.734088] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 136.734092] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 136.734233] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 136.734381] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 136.734388] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70480 [ 136.734394] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734466] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 136.734468] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 136.734471] usb 3-1.2: Reopened EP 0x8e (count 1) [ 136.734473] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 136.734605] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 136.734762] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 136.734774] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68400 [ 136.734781] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734830] usb 3-1.2: Starting data EP 0xd (running 0) [ 136.734873] usb 3-1.2: 12 URBs submitted for EP 0xd [ 136.734876] usb 3-1.2: Starting data EP 0x8e (running 0) [ 136.734906] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 136.740627] usb 3-1.2: Starting data EP 0x8e (running 1) [ 136.740634] usb 3-1.2: 2:1 Start Capture PCM [ 136.740635] usb 3-1.2: 1:1 Start Playback PCM
With the unpatched kernel:
[ 344.813203] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 344.813210] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 344.813213] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 344.813215] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 344.813217] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 344.813367] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 344.813494] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 344.813503] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70580 [ 344.813509] usb 3-1.2: Set up 12 URBS, ret=0 [ 344.813513] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 344.813587] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 344.813758] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 344.813765] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68500 [ 344.813770] usb 3-1.2: Set up 2 URBS, ret=0 [ 344.813858] usb 3-1.2: Reopened EP 0xd (count 1) [ 344.813883] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.813899] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.819499] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.819532] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.819535] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.819538] usb 3-1.2: 2:1 Start Capture PCM [ 344.819540] usb 3-1.2: 1:1 Start Playback PCM [ 344.820663] usb 3-1.2: Stopping data EP 0xd (running 2) [ 344.820688] usb 3-1.2: Stopping data EP 0x8e (running 1) [ 344.820693] usb 3-1.2: 2:1 Stop Capture PCM [ 344.820695] usb 3-1.2: Stopping data EP 0xd (running 1) [ 344.820697] usb 3-1.2: 1:1 Stop Playback PCM [ 344.833799] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.833852] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.833867] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.833888] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.833890] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.833891] usb 3-1.2: 2:1 Start Capture PCM [ 344.833893] usb 3-1.2: 1:1 Start Playback PCM
On Wed, Apr 7, 2021 at 1:30 PM Geraldo Nascimento geraldogabriel@gmail.com wrote:
Em Qua, 7 de abr de 2021 17:16, Mike Oliphant oliphant@nostatic.org escreveu:
Hi Geraldo - I don't have that patch applied, but it shouldn't make any behavioral difference - it just seems to be simplifying the code.
Point taken.
The issue is that the BOSS GT-1 *does* need implicit feedback on playback to avoid clock timing issues, and the current behavior is disabling that feedback.
Mike, would you mind posting some dyndbg logs for both the stock behaviour and your endpoint.c/generic quirk modified behaviour?
Just add snd_usb_audio.dyndbg=+p to your kernel options and please share the logs.
Mike
On Wed, Apr 7, 2021 at 1:04 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Hey Mike, did you catch the latest patch by Takashi Iwai for capture quirky devices?
You can find it here: https://patchwork.kernel.org/project/alsa-devel/patch/20210406113837.32041-1...
Em Qua, 7 de abr de 2021 16:55, Mike Oliphant oliphant@nostatic.org escreveu:
I had thought that the recent implicit feedback changes were fully working on the BOSS GT-1, but it turns out that I just hadn't tested well enough.
Audio playback and capture works, but with periodic dropouts. I get the exact same behavior as I did with the quirk to completely disable implicit feedback. Without the implicit feedback, you get dropouts from clock drift
- how bad probably varies from card to card. On mine it is every second
or so.
If I switch playback feedback for the GT-1 to generic by doing "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old behavior, which is that playback completely fails to start.
With generic playback feedback, and using my previous patch to endpoint.c to avoid playback waiting on capture mentioned here:
https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.ht...
playback and capture work perfectly for me.
Thanks, Mike, one thing I can tell you right off the bat is that if you turn implicit feedback sync on for both endpoints at the same time like you mentioned, without your workaround inside endpoint.c, they most likely will stall because they would both be waiting for each other to start.
Have you tried engaging the generic implicit feedback sync just for the playback, thereby commenting out the capture implicit feedback entries, and re-enabling snd_usb_endpoint_implicit_feedback_sink(ep) inside endpoint.c? Does playback still fail to start?
If you choose to perform this simple test please share with us the test's dyndbg logs right from the moment you turn on the device, not just after you start jackd.
Sorry for the endless do-this, do-that. Such is the pace of teledebugging
Em Qua, 7 de abr de 2021 21:38, Mike Oliphant oliphant@nostatic.org escreveu:
Geraldo - here is the dmesg output when starting up jackd for capture/playback:
With my patch:
[ 136.734081] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 136.734088] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 136.734092] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 136.734233] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 136.734381] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 136.734388] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70480 [ 136.734394] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734466] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 136.734468] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 136.734471] usb 3-1.2: Reopened EP 0x8e (count 1) [ 136.734473] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 136.734605] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 136.734762] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 136.734774] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68400 [ 136.734781] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734830] usb 3-1.2: Starting data EP 0xd (running 0) [ 136.734873] usb 3-1.2: 12 URBs submitted for EP 0xd [ 136.734876] usb 3-1.2: Starting data EP 0x8e (running 0) [ 136.734906] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 136.740627] usb 3-1.2: Starting data EP 0x8e (running 1) [ 136.740634] usb 3-1.2: 2:1 Start Capture PCM [ 136.740635] usb 3-1.2: 1:1 Start Playback PCM
With the unpatched kernel:
[ 344.813203] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 344.813210] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 344.813213] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 344.813215] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 344.813217] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 344.813367] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 344.813494] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 344.813503] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70580 [ 344.813509] usb 3-1.2: Set up 12 URBS, ret=0 [ 344.813513] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 344.813587] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 344.813758] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 344.813765] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68500 [ 344.813770] usb 3-1.2: Set up 2 URBS, ret=0 [ 344.813858] usb 3-1.2: Reopened EP 0xd (count 1) [ 344.813883] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.813899] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.819499] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.819532] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.819535] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.819538] usb 3-1.2: 2:1 Start Capture PCM [ 344.819540] usb 3-1.2: 1:1 Start Playback PCM [ 344.820663] usb 3-1.2: Stopping data EP 0xd (running 2) [ 344.820688] usb 3-1.2: Stopping data EP 0x8e (running 1) [ 344.820693] usb 3-1.2: 2:1 Stop Capture PCM [ 344.820695] usb 3-1.2: Stopping data EP 0xd (running 1) [ 344.820697] usb 3-1.2: 1:1 Stop Playback PCM [ 344.833799] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.833852] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.833867] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.833888] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.833890] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.833891] usb 3-1.2: 2:1 Start Capture PCM [ 344.833893] usb 3-1.2: 1:1 Start Playback PCM
On Wed, Apr 7, 2021 at 1:30 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Em Qua, 7 de abr de 2021 17:16, Mike Oliphant oliphant@nostatic.org escreveu:
Hi Geraldo - I don't have that patch applied, but it shouldn't make any behavioral difference - it just seems to be simplifying the code.
Point taken.
The issue is that the BOSS GT-1 *does* need implicit feedback on playback to avoid clock timing issues, and the current behavior is disabling that feedback.
Mike, would you mind posting some dyndbg logs for both the stock behaviour and your endpoint.c/generic quirk modified behaviour?
Just add snd_usb_audio.dyndbg=+p to your kernel options and please share the logs.
Mike
On Wed, Apr 7, 2021 at 1:04 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Hey Mike, did you catch the latest patch by Takashi Iwai for capture quirky devices?
You can find it here: https://patchwork.kernel.org/project/alsa-devel/patch/20210406113837.32041-1...
Em Qua, 7 de abr de 2021 16:55, Mike Oliphant oliphant@nostatic.org escreveu:
I had thought that the recent implicit feedback changes were fully working on the BOSS GT-1, but it turns out that I just hadn't tested well enough.
Audio playback and capture works, but with periodic dropouts. I get the exact same behavior as I did with the quirk to completely disable implicit feedback. Without the implicit feedback, you get dropouts from clock drift
- how bad probably varies from card to card. On mine it is every
second or so.
If I switch playback feedback for the GT-1 to generic by doing "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old behavior, which is that playback completely fails to start.
With generic playback feedback, and using my previous patch to endpoint.c to avoid playback waiting on capture mentioned here:
https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.ht...
playback and capture work perfectly for me.
Hi Geraldo - I had the same thought and I have tried enabling playback feedback while turning off capture feedback without my endpoint patch. It doesn't work - at least not on the GT-1. Playback/capture fails to start.
Speaking of testing, if you (or anyone else following this discussion) have one of these Roland/BOSS devices, it would be great if you could try testing with playback feedback enabled and my endpoint.c workaround.
Mike
On Wed, Apr 7, 2021 at 7:21 PM Geraldo Nascimento geraldogabriel@gmail.com wrote:
Thanks, Mike, one thing I can tell you right off the bat is that if you turn implicit feedback sync on for both endpoints at the same time like you mentioned, without your workaround inside endpoint.c, they most likely will stall because they would both be waiting for each other to start.
Have you tried engaging the generic implicit feedback sync just for the playback, thereby commenting out the capture implicit feedback entries, and re-enabling snd_usb_endpoint_implicit_feedback_sink(ep) inside endpoint.c? Does playback still fail to start?
If you choose to perform this simple test please share with us the test's dyndbg logs right from the moment you turn on the device, not just after you start jackd.
Sorry for the endless do-this, do-that. Such is the pace of teledebugging
Em Qua, 7 de abr de 2021 21:38, Mike Oliphant oliphant@nostatic.org escreveu:
Geraldo - here is the dmesg output when starting up jackd for capture/playback:
With my patch:
[ 136.734081] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 136.734088] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 136.734092] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 136.734233] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 136.734381] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 136.734388] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70480 [ 136.734394] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734466] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 136.734468] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 136.734471] usb 3-1.2: Reopened EP 0x8e (count 1) [ 136.734473] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 136.734605] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 136.734762] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 136.734774] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68400 [ 136.734781] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734830] usb 3-1.2: Starting data EP 0xd (running 0) [ 136.734873] usb 3-1.2: 12 URBs submitted for EP 0xd [ 136.734876] usb 3-1.2: Starting data EP 0x8e (running 0) [ 136.734906] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 136.740627] usb 3-1.2: Starting data EP 0x8e (running 1) [ 136.740634] usb 3-1.2: 2:1 Start Capture PCM [ 136.740635] usb 3-1.2: 1:1 Start Playback PCM
With the unpatched kernel:
[ 344.813203] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 344.813210] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 344.813213] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 344.813215] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 344.813217] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 344.813367] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 344.813494] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 344.813503] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70580 [ 344.813509] usb 3-1.2: Set up 12 URBS, ret=0 [ 344.813513] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 344.813587] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 344.813758] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 344.813765] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68500 [ 344.813770] usb 3-1.2: Set up 2 URBS, ret=0 [ 344.813858] usb 3-1.2: Reopened EP 0xd (count 1) [ 344.813883] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.813899] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.819499] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.819532] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.819535] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.819538] usb 3-1.2: 2:1 Start Capture PCM [ 344.819540] usb 3-1.2: 1:1 Start Playback PCM [ 344.820663] usb 3-1.2: Stopping data EP 0xd (running 2) [ 344.820688] usb 3-1.2: Stopping data EP 0x8e (running 1) [ 344.820693] usb 3-1.2: 2:1 Stop Capture PCM [ 344.820695] usb 3-1.2: Stopping data EP 0xd (running 1) [ 344.820697] usb 3-1.2: 1:1 Stop Playback PCM [ 344.833799] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.833852] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.833867] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.833888] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.833890] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.833891] usb 3-1.2: 2:1 Start Capture PCM [ 344.833893] usb 3-1.2: 1:1 Start Playback PCM
On Wed, Apr 7, 2021 at 1:30 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Em Qua, 7 de abr de 2021 17:16, Mike Oliphant oliphant@nostatic.org escreveu:
Hi Geraldo - I don't have that patch applied, but it shouldn't make any behavioral difference - it just seems to be simplifying the code.
Point taken.
The issue is that the BOSS GT-1 *does* need implicit feedback on playback to avoid clock timing issues, and the current behavior is disabling that feedback.
Mike, would you mind posting some dyndbg logs for both the stock behaviour and your endpoint.c/generic quirk modified behaviour?
Just add snd_usb_audio.dyndbg=+p to your kernel options and please share the logs.
Mike
On Wed, Apr 7, 2021 at 1:04 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Hey Mike, did you catch the latest patch by Takashi Iwai for capture quirky devices?
You can find it here: https://patchwork.kernel.org/project/alsa-devel/patch/20210406113837.32041-1...
Em Qua, 7 de abr de 2021 16:55, Mike Oliphant oliphant@nostatic.org escreveu:
I had thought that the recent implicit feedback changes were fully working on the BOSS GT-1, but it turns out that I just hadn't tested well enough.
Audio playback and capture works, but with periodic dropouts. I get the exact same behavior as I did with the quirk to completely disable implicit feedback. Without the implicit feedback, you get dropouts from clock drift
- how bad probably varies from card to card. On mine it is every
second or so.
If I switch playback feedback for the GT-1 to generic by doing "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old behavior, which is that playback completely fails to start.
With generic playback feedback, and using my previous patch to endpoint.c to avoid playback waiting on capture mentioned here:
https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.ht...
playback and capture work perfectly for me.
That sounds like a good test. I'm building it with the patch you posted earlier today, except pertaining to my Roland Boutique D-05 ID. It will take a while before I have the result, though. Also, that "snd_usb_audio.dyndbg=+p" is just a kernel boot (not build) option, correct?: I hope so, or I'll have to start the build over yet again. ;)
On Wed, Apr 7, 2021 at 9:48 PM Mike Oliphant oliphant@nostatic.org wrote:
Hi Geraldo - I had the same thought and I have tried enabling playback feedback while turning off capture feedback without my endpoint patch. It doesn't work - at least not on the GT-1. Playback/capture fails to start.
Speaking of testing, if you (or anyone else following this discussion) have one of these Roland/BOSS devices, it would be great if you could try testing with playback feedback enabled and my endpoint.c workaround.
Mike
On Wed, Apr 7, 2021 at 7:21 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Thanks, Mike, one thing I can tell you right off the bat is that if you turn implicit feedback sync on for both endpoints at the same time like
you
mentioned, without your workaround inside endpoint.c, they most likely
will
stall because they would both be waiting for each other to start.
Have you tried engaging the generic implicit feedback sync just for the playback, thereby commenting out the capture implicit feedback entries,
and
re-enabling snd_usb_endpoint_implicit_feedback_sink(ep) inside
endpoint.c?
Does playback still fail to start?
If you choose to perform this simple test please share with us the test's dyndbg logs right from the moment you turn on the device, not just after you start jackd.
Sorry for the endless do-this, do-that. Such is the pace of teledebugging
Em Qua, 7 de abr de 2021 21:38, Mike Oliphant oliphant@nostatic.org escreveu:
Geraldo - here is the dmesg output when starting up jackd for capture/playback:
With my patch:
[ 136.734081] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 136.734088] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 136.734092] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 136.734233] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 136.734381] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 136.734388] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70480 [ 136.734394] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734466] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 136.734468] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 136.734471] usb 3-1.2: Reopened EP 0x8e (count 1) [ 136.734473] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 136.734605] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 136.734762] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 136.734774] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68400 [ 136.734781] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734830] usb 3-1.2: Starting data EP 0xd (running 0) [ 136.734873] usb 3-1.2: 12 URBs submitted for EP 0xd [ 136.734876] usb 3-1.2: Starting data EP 0x8e (running 0) [ 136.734906] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 136.740627] usb 3-1.2: Starting data EP 0x8e (running 1) [ 136.740634] usb 3-1.2: 2:1 Start Capture PCM [ 136.740635] usb 3-1.2: 1:1 Start Playback PCM
With the unpatched kernel:
[ 344.813203] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 344.813210] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 344.813213] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 344.813215] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 344.813217] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 344.813367] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 344.813494] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 344.813503] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70580 [ 344.813509] usb 3-1.2: Set up 12 URBS, ret=0 [ 344.813513] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 344.813587] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 344.813758] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 344.813765] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68500 [ 344.813770] usb 3-1.2: Set up 2 URBS, ret=0 [ 344.813858] usb 3-1.2: Reopened EP 0xd (count 1) [ 344.813883] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.813899] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.819499] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.819532] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.819535] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.819538] usb 3-1.2: 2:1 Start Capture PCM [ 344.819540] usb 3-1.2: 1:1 Start Playback PCM [ 344.820663] usb 3-1.2: Stopping data EP 0xd (running 2) [ 344.820688] usb 3-1.2: Stopping data EP 0x8e (running 1) [ 344.820693] usb 3-1.2: 2:1 Stop Capture PCM [ 344.820695] usb 3-1.2: Stopping data EP 0xd (running 1) [ 344.820697] usb 3-1.2: 1:1 Stop Playback PCM [ 344.833799] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.833852] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.833867] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.833888] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.833890] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.833891] usb 3-1.2: 2:1 Start Capture PCM [ 344.833893] usb 3-1.2: 1:1 Start Playback PCM
On Wed, Apr 7, 2021 at 1:30 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Em Qua, 7 de abr de 2021 17:16, Mike Oliphant oliphant@nostatic.org escreveu:
Hi Geraldo - I don't have that patch applied, but it shouldn't make
any
behavioral difference - it just seems to be simplifying the code.
Point taken.
The issue is that the BOSS GT-1 *does* need implicit feedback on playback to avoid clock timing issues, and the current behavior is disabling that feedback.
Mike, would you mind posting some dyndbg logs for both the stock behaviour and your endpoint.c/generic quirk modified behaviour?
Just add snd_usb_audio.dyndbg=+p to your kernel options and please
share
the logs.
Mike
On Wed, Apr 7, 2021 at 1:04 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Hey Mike, did you catch the latest patch by Takashi Iwai for capture quirky devices?
You can find it here:
https://patchwork.kernel.org/project/alsa-devel/patch/20210406113837.32041-1...
Em Qua, 7 de abr de 2021 16:55, Mike Oliphant <oliphant@nostatic.org
escreveu:
> I had thought that the recent implicit feedback changes were fully > working > on the BOSS GT-1, but it turns out that I just hadn't tested well > enough. > > Audio playback and capture works, but with periodic dropouts. I get > the > exact same behavior as I did with the quirk to completely disable > implicit > feedback. Without the implicit feedback, you get dropouts from clock > drift > - how bad probably varies from card to card. On mine it is every > second or > so. > > If I switch playback feedback for the GT-1 to generic by doing > "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old > behavior, > which is that playback completely fails to start. > > With generic playback feedback, and using my previous patch to > endpoint.c > to avoid playback waiting on capture mentioned here: > > >
https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.ht...
> > playback and capture work perfectly for me. >
Oh, nevermind about the dyndbg, a quick search shows it's a kernel module option (modprobe.d) for my case: https://www.kernel.org/doc/html/v4.15/admin-guide/dynamic-debug-howto.html
On Wed, Apr 7, 2021 at 10:08 PM Lucas jaffa225man@gmail.com wrote:
That sounds like a good test. I'm building it with the patch you posted earlier today, except pertaining to my Roland Boutique D-05 ID. It will take a while before I have the result, though. Also, that "snd_usb_audio.dyndbg=+p" is just a kernel boot (not build) option, correct?: I hope so, or I'll have to start the build over yet again. ;)
On Wed, Apr 7, 2021 at 9:48 PM Mike Oliphant oliphant@nostatic.org wrote:
Hi Geraldo - I had the same thought and I have tried enabling playback feedback while turning off capture feedback without my endpoint patch. It doesn't work - at least not on the GT-1. Playback/capture fails to start.
Speaking of testing, if you (or anyone else following this discussion) have one of these Roland/BOSS devices, it would be great if you could try testing with playback feedback enabled and my endpoint.c workaround.
Mike
On Wed, Apr 7, 2021 at 7:21 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Thanks, Mike, one thing I can tell you right off the bat is that if you turn implicit feedback sync on for both endpoints at the same time like
you
mentioned, without your workaround inside endpoint.c, they most likely
will
stall because they would both be waiting for each other to start.
Have you tried engaging the generic implicit feedback sync just for the playback, thereby commenting out the capture implicit feedback entries,
and
re-enabling snd_usb_endpoint_implicit_feedback_sink(ep) inside
endpoint.c?
Does playback still fail to start?
If you choose to perform this simple test please share with us the
test's
dyndbg logs right from the moment you turn on the device, not just after you start jackd.
Sorry for the endless do-this, do-that. Such is the pace of
teledebugging
Em Qua, 7 de abr de 2021 21:38, Mike Oliphant oliphant@nostatic.org escreveu:
Geraldo - here is the dmesg output when starting up jackd for capture/playback:
With my patch:
[ 136.734081] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 136.734088] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 136.734092] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 136.734233] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 136.734381] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 136.734388] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70480 [ 136.734394] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734466] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 136.734468] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 136.734471] usb 3-1.2: Reopened EP 0x8e (count 1) [ 136.734473] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 136.734605] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 136.734762] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 136.734774] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68400 [ 136.734781] usb 3-1.2: Set up 12 URBS, ret=0 [ 136.734830] usb 3-1.2: Starting data EP 0xd (running 0) [ 136.734873] usb 3-1.2: 12 URBs submitted for EP 0xd [ 136.734876] usb 3-1.2: Starting data EP 0x8e (running 0) [ 136.734906] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 136.740627] usb 3-1.2: Starting data EP 0x8e (running 1) [ 136.740634] usb 3-1.2: 2:1 Start Capture PCM [ 136.740635] usb 3-1.2: 1:1 Start Playback PCM
With the unpatched kernel:
[ 344.813203] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0 [ 344.813210] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=1 [ 344.813213] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0 [ 344.813215] usb 3-1.2: channels=2, rate=44100, format=S32_LE, period_bytes=256, periods=2, implicit_fb=0 [ 344.813217] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e [ 344.813367] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e [ 344.813494] usb 3-1.2: 2:1 Set sample rate 44100, clock 0 [ 344.813503] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70580 [ 344.813509] usb 3-1.2: Set up 12 URBS, ret=0 [ 344.813513] usb 3-1.2: Setting usb interface 1:0 for EP 0xd [ 344.813587] usb 3-1.2: Setting usb interface 1:1 for EP 0xd [ 344.813758] usb 3-1.2: 1:1 Set sample rate 44100, clock 0 [ 344.813765] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68500 [ 344.813770] usb 3-1.2: Set up 2 URBS, ret=0 [ 344.813858] usb 3-1.2: Reopened EP 0xd (count 1) [ 344.813883] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.813899] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.819499] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.819532] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.819535] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.819538] usb 3-1.2: 2:1 Start Capture PCM [ 344.819540] usb 3-1.2: 1:1 Start Playback PCM [ 344.820663] usb 3-1.2: Stopping data EP 0xd (running 2) [ 344.820688] usb 3-1.2: Stopping data EP 0x8e (running 1) [ 344.820693] usb 3-1.2: 2:1 Stop Capture PCM [ 344.820695] usb 3-1.2: Stopping data EP 0xd (running 1) [ 344.820697] usb 3-1.2: 1:1 Stop Playback PCM [ 344.833799] usb 3-1.2: Starting data EP 0xd (running 0) [ 344.833852] usb 3-1.2: 2 URBs submitted for EP 0xd [ 344.833867] usb 3-1.2: Starting data EP 0x8e (running 0) [ 344.833888] usb 3-1.2: 12 URBs submitted for EP 0x8e [ 344.833890] usb 3-1.2: Starting data EP 0xd (running 1) [ 344.833891] usb 3-1.2: 2:1 Start Capture PCM [ 344.833893] usb 3-1.2: 1:1 Start Playback PCM
On Wed, Apr 7, 2021 at 1:30 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
Em Qua, 7 de abr de 2021 17:16, Mike Oliphant oliphant@nostatic.org escreveu:
Hi Geraldo - I don't have that patch applied, but it shouldn't make
any
behavioral difference - it just seems to be simplifying the code.
Point taken.
The issue is that the BOSS GT-1 *does* need implicit feedback on playback to avoid clock timing issues, and the current behavior is disabling that feedback.
Mike, would you mind posting some dyndbg logs for both the stock behaviour and your endpoint.c/generic quirk modified behaviour?
Just add snd_usb_audio.dyndbg=+p to your kernel options and please
share
the logs.
Mike
On Wed, Apr 7, 2021 at 1:04 PM Geraldo Nascimento < geraldogabriel@gmail.com> wrote:
> Hey Mike, did you catch the latest patch by Takashi Iwai for capture > quirky devices? > > You can find it here: >
https://patchwork.kernel.org/project/alsa-devel/patch/20210406113837.32041-1...
> > Em Qua, 7 de abr de 2021 16:55, Mike Oliphant <
oliphant@nostatic.org>
> escreveu: > >> I had thought that the recent implicit feedback changes were fully >> working >> on the BOSS GT-1, but it turns out that I just hadn't tested well >> enough. >> >> Audio playback and capture works, but with periodic dropouts. I get >> the >> exact same behavior as I did with the quirk to completely disable >> implicit >> feedback. Without the implicit feedback, you get dropouts from
clock
>> drift >> - how bad probably varies from card to card. On mine it is every >> second or >> so. >> >> If I switch playback feedback for the GT-1 to generic by doing >> "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old >> behavior, >> which is that playback completely fails to start. >> >> With generic playback feedback, and using my previous patch to >> endpoint.c >> to avoid playback waiting on capture mentioned here: >> >> >>
https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.ht...
>> >> playback and capture work perfectly for me. >> >
-- Protect your digital freedom and privacy, eliminate DRM, learn more at http://www.defectivebydesign.org/what_is_drm On a related note, also see https://www.fsf.org/campaigns/surveillance
I didn't notice anything wrong when I added my Roland device IDs to your patch's method. Its information can be found here, but I really doubt it applies to your issue, other than Takashi Iwai's simplified capture-quirk-only table patch (which Geraldo already mentioned):
https://bugzilla.kernel.org/show_bug.cgi?id=212519
Since I built my patch upon your previous patch, is there anything I can do to test it on my devices for you?
Of course, I did have some tiny clicks when testing the Roland Boutique D-05... Could that be the same thing you're experiencing on the BOSS G-1? I describe it there as "little quiet occasional clicks sounding something like dust on an LP record's play".
Hi Lucas,
These are the changes I have made for the GT-1. Note that I also disabled the capture implicit feedback since it does not seem to be needed (although it still works for me if it is enabled).
If you think about it, it makes sense that playback is using capture for implicit feedback, and not vice versa.
Mike
---
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c index 102d53515..99d8b50d4 100644 --- a/sound/usb/endpoint.c +++ b/sound/usb/endpoint.c @@ -1375,7 +1375,7 @@ int snd_usb_endpoint_start(struct snd_usb_endpoint *ep) if (!ep_state_update(ep, EP_STATE_STOPPED, EP_STATE_RUNNING)) goto __error;
- if (snd_usb_endpoint_implicit_feedback_sink(ep)) { + if (false) { //snd_usb_endpoint_implicit_feedback_sink(ep)) { for (i = 0; i < ep->nurbs; i++) { struct snd_urb_ctx *ctx = ep->urb + i; list_add_tail(&ctx->ready_list, &ep->ready_playback_urbs); diff --git a/sound/usb/implicit.c b/sound/usb/implicit.c index 11a85e66a..ee4243421 100644 --- a/sound/usb/implicit.c +++ b/sound/usb/implicit.c @@ -75,7 +75,7 @@ static const struct snd_usb_implicit_fb_match playback_implicit_fb_quirks[] = { IMPLICIT_FB_SKIP_DEV(0x0582, 0x0171), /* BOSS RC-505 */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x0185), /* BOSS GP-10 */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x0189), /* BOSS GT-100v2 */ - IMPLICIT_FB_SKIP_DEV(0x0582, 0x01d6), /* BOSS GT-1 */ + IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6), /* BOSS GT-1 */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x01d8), /* BOSS Katana */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x01e5), /* BOSS GT-001 */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x0203), /* BOSS AD-10 */ @@ -89,7 +89,7 @@ static const struct snd_usb_implicit_fb_match capture_implicit_fb_quirks[] = { IMPLICIT_FB_FIXED_DEV(0x0582, 0x0171, 0x0d, 0x01), /* BOSS RC-505 */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x0185, 0x0d, 0x01), /* BOSS GP-10 */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x0189, 0x0d, 0x01), /* BOSS GT-100v2 */ - IMPLICIT_FB_FIXED_DEV(0x0582, 0x01d6, 0x0d, 0x01), /* BOSS GT-1 */ +// IMPLICIT_FB_FIXED_DEV(0x0582, 0x01d6, 0x0d, 0x01), /* BOSS GT-1 */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x01d8, 0x0d, 0x01), /* BOSS Katana */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x01e5, 0x0d, 0x01), /* BOSS GT-001 */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x0203, 0x0d, 0x01), /* BOSS AD-10 */
On Wed, Apr 7, 2021 at 1:18 PM Lucas jaffa225man@gmail.com wrote:
I didn't notice anything wrong when I added my Roland device IDs to your patch's method. Its information can be found here, but I really doubt it applies to your issue, other than Takashi Iwai's simplified capture-quirk-only table patch (which Geraldo already mentioned):
https://bugzilla.kernel.org/show_bug.cgi?id=212519
Since I built my patch upon your previous patch, is there anything I can do to test it on my devices for you?
Lucas - yes, the issue that occurs is that you get sporadic small pops or clicks in the audio stream.
Mike
On Wed, Apr 7, 2021 at 1:24 PM Mike Oliphant oliphant@nostatic.org wrote:
Hi Lucas,
These are the changes I have made for the GT-1. Note that I also disabled the capture implicit feedback since it does not seem to be needed (although it still works for me if it is enabled).
If you think about it, it makes sense that playback is using capture for implicit feedback, and not vice versa.
Mike
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c index 102d53515..99d8b50d4 100644 --- a/sound/usb/endpoint.c +++ b/sound/usb/endpoint.c @@ -1375,7 +1375,7 @@ int snd_usb_endpoint_start(struct snd_usb_endpoint *ep) if (!ep_state_update(ep, EP_STATE_STOPPED, EP_STATE_RUNNING)) goto __error;
if (snd_usb_endpoint_implicit_feedback_sink(ep)) {
if (false) { //snd_usb_endpoint_implicit_feedback_sink(ep)) { for (i = 0; i < ep->nurbs; i++) { struct snd_urb_ctx *ctx = ep->urb + i; list_add_tail(&ctx->ready_list,
&ep->ready_playback_urbs); diff --git a/sound/usb/implicit.c b/sound/usb/implicit.c index 11a85e66a..ee4243421 100644 --- a/sound/usb/implicit.c +++ b/sound/usb/implicit.c @@ -75,7 +75,7 @@ static const struct snd_usb_implicit_fb_match playback_implicit_fb_quirks[] = { IMPLICIT_FB_SKIP_DEV(0x0582, 0x0171), /* BOSS RC-505 */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x0185), /* BOSS GP-10 */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x0189), /* BOSS GT-100v2 */
IMPLICIT_FB_SKIP_DEV(0x0582, 0x01d6), /* BOSS GT-1 */
IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6), /* BOSS GT-1 */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x01d8), /* BOSS Katana */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x01e5), /* BOSS GT-001 */ IMPLICIT_FB_SKIP_DEV(0x0582, 0x0203), /* BOSS AD-10 */
@@ -89,7 +89,7 @@ static const struct snd_usb_implicit_fb_match capture_implicit_fb_quirks[] = { IMPLICIT_FB_FIXED_DEV(0x0582, 0x0171, 0x0d, 0x01), /* BOSS RC-505 */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x0185, 0x0d, 0x01), /* BOSS GP-10 */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x0189, 0x0d, 0x01), /* BOSS GT-100v2 */
IMPLICIT_FB_FIXED_DEV(0x0582, 0x01d6, 0x0d, 0x01), /* BOSS GT-1 */
+// IMPLICIT_FB_FIXED_DEV(0x0582, 0x01d6, 0x0d, 0x01), /* BOSS GT-1 */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x01d8, 0x0d, 0x01), /* BOSS Katana */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x01e5, 0x0d, 0x01), /* BOSS GT-001 */ IMPLICIT_FB_FIXED_DEV(0x0582, 0x0203, 0x0d, 0x01), /* BOSS AD-10 */
On Wed, Apr 7, 2021 at 1:18 PM Lucas jaffa225man@gmail.com wrote:
I didn't notice anything wrong when I added my Roland device IDs to your patch's method. Its information can be found here, but I really doubt it applies to your issue, other than Takashi Iwai's simplified capture-quirk-only table patch (which Geraldo already mentioned):
https://bugzilla.kernel.org/show_bug.cgi?id=212519
Since I built my patch upon your previous patch, is there anything I can do to test it on my devices for you?
participants (3)
-
Geraldo Nascimento
-
Lucas
-
Mike Oliphant