В Чт, 02/07/2020 в 13:28 +0200, Pavel Hofman пишет:
Dne 29. 06. 20 v 17:08 Pavel Hofman napsal(a):
Dne 29. 06. 20 v 13:28 Pavel Hofman napsal(a):
Audio analyzer RTX6001 (XMOS-based) is using implicit feedback, yet the feedback is not used by the latest kernel 5.8 rc3 (i.e. already with the latest implicit-feedback patches).
Two analyzers on two different PCs are getting clicks in duplex- mode loobpack, one every 10 secs, the other one every 50 secs.
I am very sure the problem is identical to that for MOTU M2/4, Solid State Logic SSL2+, Fractal Audio Axe-Fx III etc. https://github.com/torvalds/linux/commit/e7585db1b0b5b4e4eb1967bb1472df308f7... . I will try the simple quirk, IMO it will work OK. BTW if I understand correctly all these devices use the XMOS.
However, I would like to ask, why a quirk for these devices is required. The comment explanation in this interesting patch https://lore.kernel.org/patchwork/patch/1174179/ talks about the same EP numbers, but in the different direction. 0x01 EP OUT + 0x81 EP IN implicit feedback data. All the devices mentioned above have this numbering, just the EP IN is in a different interface than the EP OUT. But please are there actually any duplex implicit feedback devices having EP OUT and implicit-feedback EP IN in the same interface? The explicit feedback EP IN is clear, they are in the same interface. E- MU 0404 USB has EP OUT + EP IN explicit feedback in interface 1, together, EP IN implicit feedback data in interface 2. My other soundcards, adaptive OUT and async IN again each in a different interface (though there is no feedback to solve).
Please is the requirement that EP OUT + EP IN implicit feedback data must be in the same interface really necessary? If such a requirement was dropped, IMO many devices could be removed from the existing set_sync_ep_implicit_fb_quirk and many devices would work out of the box, as they require no other quirk (unlike the MOTUs, but that's a different issue).
USB Audio Class specs are pretty clear about it: only one isochronous endpoint is allowed per interface. And it can be accompanied by the *explicit* feedback endpoint.
I have patches that implement autodetection of implicit feedback, but I need to clean them up and be careful not to break Scarlett 18i8/18i20 3rd Gen (these devices have 3 altsettings per interface and probably require some additional sample rates filtering, so that each sample rate uniquely match one single altsetting).