Hello, First I found that this message was missing in user space. Then I did the following: - first I traced the packets within the user space and I found that a packet is missing from my drivers read mthod, - then I put debug messages into my kernel driver and I found that an input packet is missing from usb_bulk_msg(), - then I put debug messages into usb_api_blocking_completion() and I found that a input packet is missing, - then I started to use usbmon and I found that usbmon misses a packet exactly where I am missing it too, - then I plugged a PCI USB host controller card into this PC and this did not happen any more when I used it´s ports to plug in my device. Therefore I believe to know that this packet is dropped somwhere below my device driver code. Guenter Gebhardt -----Ursprüngliche Nachricht----- Von: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] Im Auftrag von Alan Stern Gesendet: Freitag, 20. November 2009 17:06 An: Günter Gebhardt Cc: linux-usb@xxxxxxxxxxxxxxx Betreff: Re: PROBLEM: usb core looses input packets Please format your email text to wrap after 72 columns or so. On Fri, 20 Nov 2009, Günter Gebhardt wrote: > Hello, > > I use the usb_bulk_msg() kernel function to write and read to and from > a USB device respectively. > Sometimes the usb_bulk_msg() is missing to deliver an incoming packet. How do you know? > This packet is seen however by an USB analyser (Beagle USB 480). A > fragment of the Beagle log is located in the attachment beagle.csv. > The packets in concern have the index number 1132287 and 1132325, > where the first is a device request and the latter is the missing > corresponding response. How do you know it is missing? > A measurement with usbmon shows that this very response is not > delivered by the host controller driver. The packet with index > d3196a40 in the attachments usbmon.txt (complete traffic) and > usbmon_filtered.txt (only the traffic with the device in concern) show > that the request is sent to device but the corresponding response is > never delivered. usbmon sometimes drops events. The response may very well have been received by usb_bulk_msg() even though it did not show up in the usbmon trace. The only way to tell for certain that it wasn't received is to have your driver print a log message before and after it calls usb_bulk_msg(). Alan Stern -- 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 -- 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