isochronous support broken?
baldrick at free.fr
Mon Jan 23 07:36:46 EST 2006
> usb 4-1.4: reset full speed USB device using ehci_hcd and address 4
a bug fix for ehci + iso urbs bandwidth allocation just got posted to the
usb mailing list. So I suggest trying uhci instead (OK, I just saw that
you tried it).
> As you can see, the recv buffer has dropped but nothing has changed. Then I
> had the idea to remove ehci-hcd, and force it to use uhci-hcd for the USB 1.1
> device (I have no USB 2.x devices anyway). This was successful:
> I was able to bring pppd up over the interface. /proc/bus/usb/devices looks
> like this; only 79% utilisation.
What do you mean by "79% utilisation"?
> T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
> B: Alloc=710/900 us (79%), #Int= 2, #Iso= 4
> D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
> P: Vendor=0000 ProdID=0000 Rev= 2.06
> S: Manufacturer=Linux 188.8.131.52 uhci_hcd
> S: Product=UHCI Host Controller
> S: SerialNumber=0000:00:10.0
> C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
> I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
> E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255m
> My bandwidth is still locked to just under 500KB/s (4MBits). So either a) isoc
> isn't working or b) you need to do more than just switch from bulk to isoc to
> get 8Mbits from this device.
This is what I see. Using bulk I max out at a bit under 4 megabaud. With isoc
I max out at an even slower rate!
> The Windows workaround does not suggest this, but I suppose it is impossible to tell.
What is "the windows workaround"? (I don't have windows, which makes comparing with
windows a bit awkward for me).
> If it's a useful datapoint, I used to get sporadic errors and the USB LED
> would flash RED if the bandwidth was held close to 4Mbit for a long period of
> time. This no longer seems to happen with isoc, suggesting the bandwidth
> bottleneck has been lifted. However, I do not see the 6.6 megabits I've
> synced at.
Are you talking about linux or windows here? Can you get 6.6 mb with windows?
Anyway, I think it likely that there is something wrong with the driver. But it
could be a hardware limitation. Testing with windows should clear that up. If
you can do some experiments with windows, that would be great.
More information about the Usbatm