Invalid PID sequence errors when using WdfUsbTargetDeviceSendControlTransferSynchronously() on USB audio device RRS feed

  • Question

  • I'm randomly getting "Invalid PID Sequence" errors on control transfers (from host to the device) using WdfUsbTargetDeviceSendControlTransferSynchronously() .  The commands are < EP0 max packet size and look valid on the wire.  I'm using a Beagle 480 protocol analyzer to capture a trace.  Most of the commands complete correctly and the device responds appropriately (via an interrupt EP read with a WDF continuous reader).  Sometimes, however,  the device gets in a state where the Beagle trace starts indicating an "I" (Invalid PID sequence)  error for each control transfer in the trace.

     Am I correct in assuming that the lower-level USBPORT driver (or somewhere thereabouts) would manage PID sequences and basic protocol housekeeping?  

    AFAIK, the WDF USB control transfer APIs provide no control over this.  I am suspect of device firmware but this firmware behaves correctly on another unnamed (mac) usb stack.  Anyone had similar issues?

    • Edited by Wade_Dawson Tuesday, April 26, 2016 3:19 AM
    Monday, April 25, 2016 6:25 PM

All replies

  • that is correct, this is handled in the core stack

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Tuesday, April 26, 2016 4:15 AM