On Wed, 24 Oct 2018, Jonathan Liu wrote: > > Both too much information and too little. Instead, let's see the > > device's entry in /sys/kernel/debug/usb/devices, copied at a time while > > the test is running. That will omit a lot of irrelevant information > > and will indicate which of all the possible device settings is the one > > actually in use. > > > > T: Bus=01 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 > D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 > P: Vendor=2a39 ProdID=3fb0 Rev= 0.01 > S: Manufacturer=RME > S: Product=Babyface Pro (71964099) > S: SerialNumber=EF72ADBCCECA4C8 > C:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=100mA > A: FirstIf#= 0 IfCount= 4 Cls=01(audio) Sub=00 Prot=20 > I:* If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=20 Driver=snd-usb-audio This is the control interface; it is not directly involved. > I: If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio > I:* If#= 1 Alt= 1 #EPs= 2 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio > E: Ad=03(O) Atr=05(Isoc) MxPS= 150 Ivl=125us > E: Ad=83(I) Atr=11(Isoc) MxPS= 4 Ivl=1ms This is one of the interfaces in use; it handles playback data (i.e., data sent to the device). The maxpacket size is 150 bytes, which is 25 frames at 3 bytes/sample and 2 channels. The interval is 125 us, giving a maximum throughput of 200 frames/ms, comfortably larger than the bandwidth being used (48 frames/ms). > I: If#= 1 Alt= 2 #EPs= 2 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio > E: Ad=03(O) Atr=05(Isoc) MxPS= 900 Ivl=125us > E: Ad=83(I) Atr=11(Isoc) MxPS= 4 Ivl=1ms > I: If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio > I: If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio > E: Ad=84(I) Atr=05(Isoc) MxPS= 900 Ivl=125us > I:* If#= 2 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio > E: Ad=84(I) Atr=05(Isoc) MxPS= 150 Ivl=125us This is the other interface being used for audio data; it handles the record direction. Parameters are the same as for playback. > I:* If#= 3 Alt= 0 #EPs= 2 Cls=01(audio) Sub=03 Prot=00 Driver=snd-usb-audio > E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms > E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I don't know what this interface is for. It's probably not directly relevant to the issue. > > If you want to get a better idea for exactly what is happening at the > > USB level, you can collect a usbmon trace while running a test. Also, > > it wouldn't hurt to see the values of max_packs_per_urb, urb_packs, > > max_packs_per_period, urbs_per_period, ep->max_urb_frames, and > > ep->nurbs from data_ep_set_params() in the audio driver. > > Maybe in a few weeks. I suspect the additional latency is mainly in > the playback direction. That seems likely, especially in the light of Takashi's comments. Alan Stern _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel