On Wed, Jul 10, 2013 at 12:30 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > If you use the bus analyzer at the same time, you could compare > microframe numbers. Ah, again, good suggestion. I'll get a usbmon trace in parallel to the Beagle. I'll have to move some stuff around though because I don't want to run the Beagle on the same system the em28xx device is connected to. > You're using 64 packets/URB, so each URB lasts 8 ms. In addition, you > have a pipeline of 5 URBs, for a total of 40 ms. That should be > plenty. Yeah, it felt pretty conservative. 64 packets/URB is what the Windows driver does, and I tried higher numbers of URBs (up to 12) with no change in behavior. > I don't see any problems in the usbmon trace, but they might not show > up there. In particular, the trace includes the status values only for > the first 5 packets in each URB. Does the driver encounter any packets > with a nonzero status? No. I added code to the driver to do a printk() on any error conditions (both at the URB level and at the isoc packet level), and the log has been clean. > It could be that you're facing some sort of hardware limitation of the > host controller. Can you try running the test on a computer with a > different brand of motherboard? Ruled that out already. I'm seeing the behavior on my 2010 MacBook Pro (Intel EHCI), a Dell XPS system (also Intel EHCI), and a TI 8147 Davinci embedded system (using the musb HCD), I've also tried three different Empia designs and they all exhibit the same behavior (em2820, em2861, em2883). Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html