Answered usbport and zero length packet

  • Monday, April 16, 2012 7:48 AM
     
     

    Hi,

    In the USB 2.0 (5.6.4) spec written: 

    "An isochronous IN endpoint must return a zero-length packet whenever data is requested at a faster interval
    than the specified interval and data is not available."

    The question: 

    In case of zero-length packet received from the device, would the usbport driver try to receive the same packet again, or there would be a "hole" in the client URB buffer?

All Replies

  • Tuesday, April 17, 2012 6:42 AM
     
     Answered
    Yuri D wrote:
    >
    >In the USB 2.0 (5.6.4) spec written: 
    >
    >"An isochronous IN endpoint must return a zero-length packet whenever
    >data is requested at a faster interval than the specified interval
    >and data is not available."
    >
    >The question: 
    >
    >In case of zero-length packet received from the device, would the
    >usbport driver try to receive the same packet again, or there
    >would be a "hole" in the client URB buffer?
     
    There will be a hole.  Each packet in an isochronous URB corresponds
    exactly to one scheduling interval.  If your device misses one, the packet
    will contain 0 bytes and an error code.
    --
    Tim Roberts, timr@probo.com
    Providenza & Boekelheide, Inc.
     

    Tim Roberts, VC++ MVP Providenza & Boekelheide, Inc.
  • Tuesday, April 17, 2012 6:47 AM
     
     

    Tim,

    Thanks a lot for an answer!