IOUSBHostPipe - Unable to enqueue IO

Hi. I'm hitting an error when attempting to enqueue IO on a IOUSBHostPipe.

The error info is:
code=268435459, description=<Unable to enqueue IO.>

I'm not sure what that error means or how to address it.

I'm trying to communicate through a USB Bluetooth dongle. I've done the following:
  • Instantiated a device using IOUSBHostDevice with a service specifying the USB Dongle.

  • I've set the configuration (there's only one) as the active configuration.

  • I've claimed all four interfaces for the active configuration.

  • I've cycled through the endpoints for each interface and used copyPipeWithAddress:error: to copy the pipe.

  • I've stored those pipes in a dictionary keyed by the endpoint address.

I'm hitting the error when attempting to read from the pipe as such:
Code Block
[pipe enqueueIORequestWithData:data completionTimeout:0.0 error:&error completionHandler:^(IOReturn status, NSUInteger bytesTransferred) {
    NSLog(@"<submit_bulk_transfer> Read completed, status=%d, bytes transfered=%lu", status, bytesTransferred);
   }]


Any guidance on how to address this issue? Thanks.

IOUSBHostPipe - Unable to enqueue IO
 
 
Q