|
From: Arun on 21 Apr 2008 09:29 Hi All: I have a strange problem with my USB Device/Driver. Ours is an NDIS-WDM driver. Normally Data traffic works fine. But sometimes we see that, the packet sent from the driver is not received by the H/W. We setup a completion routine and call IoCallDriver. Normally everything works fine. but sometimes what we see is that data transffered in not reached to the device and Completion Routine is also not getting called. Looks like, the data transferred in traped in the Host controller driver. Any Ideas on this? Regards Arun
From: chris.aseltine on 21 Apr 2008 15:11 On Apr 21, 8:29 am, Arun <A...(a)discussions.microsoft.com> wrote: > But sometimes we see that, the packet sent from the driver is not received > by the H/W. We setup a completion routine and call IoCallDriver. Normally > everything works fine. but sometimes what we see is that data transffered in > not reached to the device and Completion Routine is also not getting called. You haven't given any details about your device but I'm assuming you have a pair of bulk endpoints over which you exchange 802.3 frames. If you aren't getting your completion routine called on a bulk OUT transfer, it's because the device never ACKed all the data. Have you looked on the wire with a bus analyzer? I bet you'd see indefinite NAKing or other bus errors.
From: Arun on 21 Apr 2008 23:55 Hi Chris, As you assumed, I have a pair of Bulk endpoints. And Completion routine is not getting called on my BULK OUT Endpoint. This happens after a long run. I will try to setup protocol analyzer to see if it is indefinite NAK's or Bus Errors. Thanks Arun "chris.aseltine(a)gmail.com" wrote: > On Apr 21, 8:29 am, Arun <A...(a)discussions.microsoft.com> wrote: > > > But sometimes we see that, the packet sent from the driver is not received > > by the H/W. We setup a completion routine and call IoCallDriver. Normally > > everything works fine. but sometimes what we see is that data transffered in > > not reached to the device and Completion Routine is also not getting called. > > You haven't given any details about your device but I'm assuming you > have a pair of bulk endpoints over which you exchange 802.3 frames. > > If you aren't getting your completion routine called on a bulk OUT > transfer, it's because the device never ACKed all the data. Have you > looked on the wire with a bus analyzer? I bet you'd see indefinite > NAKing or other bus errors. >
|
Pages: 1 Prev: WDK 6001 Hash Next: NdisMRemoveMiniport not shutting down miniport |