Hey Alan, Thanks a lot for looking at the traces!
> > What's interesting to see is that for most failed requests the first data > > transaction follows within less than 500 microseconds after the SETUP > > transaction. It's not always the case, but it definitely seems to help > > trigger the problem. > > The same thing is true for most of the successful transfers as well, so > I'm not sure what to make of it. If I compare the stalled GetMin requests to the successful ones, it seems that the successful ones take longer (generally more than 1 ms). Can you point me to some successful requests where the time difference is less than 500 us? > Incidentally, the trace shows that quite often the device responding to > PING with ACK even though it's not ready to accept any data. That happens > lots and lots of times. It looks like another bug. We're aware of that, although we don't think it's a bug. From what I've been told (I haven't done any research on that myself), the USB specification does not say anything about this. Although it's admittedly a little odd, that by itself does not cause any problems and the behavior on Windows is the same. > The same sort of thing happens with those failed commands. There's a long > period where the devices waffles back and forth, sometimes sending ACK, > sometimes NAK, until eventually it sends STALL. Why doesn't it send STALL > right away if it thinks the protocol has been violated? The reason for that is that the ACKs are returned by the USB cell without the firmware being involved in the first place. The STALLs are returned later in the interrupt handler. We know of one problem with this particular ASIC where it loses certain interrupts and that's very likely what we're seeing here, too. > The real question is why does the device work under Windows. To answer > that will require looking at traces made with a Windows host. That's indeed what we're trying to find out. I've uploaded a Windows trace to the FTP server. It covers plugging of the device, streaming, and setting parameters like brightness, pretty much the same thing that leads to stalled requests on Linux. Cheers, Martin ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel