Ignored USB-audio implicit feedback in kernel 5.8rc3

Alexander Tsoy alexander at tsoy.me
Tue Jul 7 12:34:15 CEST 2020


В Чт, 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/e7585db1b0b5b4e4eb1967bb1472df308f7ffcbf
> . 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).



More information about the Alsa-devel mailing list