IMPLICIT_FB_GENERIC_DEV(0x1397, 0x0507),
This should have been enough for ALSA to pick-up the implicit feedback mode. Weird...
I tried it once again to confirm. It doesn't work (choppy audio and "Implicit Feedback Mode: No" as per /proc/asound/card1/stream0). FYI, this is what I did:
# modprobe -r snd_usb_audio $ make prepare modules_prepare && make M=sound/usb modules &&\ sudo make M=sound modules_install # modprobe snd_usb_audio
BOTH is a quirk for some BOSS devices and at least one Pioneer device, don't worry I'm pretty sure your device doesn't need it.
FIXED just means we specify the implicit fb sync ep hardcoded, which is obviously a bit bad but it's there because generic matching doesn't always work.
Thank you. This confirms my guess. Still no idea why the Scarlett workaround I saw somewhere uses the capture endpoint in playback_implicit_fb_quirks (I don't remember the details, but has copied the link; we can look at it later if you are interested).
Could you please provide the dyndbg of both working and non-working cases (without implicit_fb=1)? The documentation for doing so is here https://www.kernel.org/doc/html/latest/admin-guide/dynamic-debug-howto.html
Please set snd-usb-audio.dyndbg=+p either at boot time or via debugfs before connecting your USB device, then plug it in.
PFA. I'm yet to figure out my way around debugfs, so I copied dmesg. Just noticed that `Creating new sync endpoint #84` is there when the module is loaded without `implicit_fb=1`. Also, both capture and playback endpoints report `implicit_fb=0` in the log when the module is loaded without `implicit_fb=1`, while there is a difference when the module is loaded with `implicit_fb=1`.
Thank you,