USB Control Transfer question

I’m working on a driver for a USB device that requires control transfers for many of the operations. This device has a single interface and a single pipe.

My question has to do with WDF and access to the default control transfer capability. I’ve tried using WdfUsbTargetDeviceSendControlTransferSynchronously(), but when I watch the USB analyzer trace, it’s sending the request to EP1, (instead of EP0) which results in orphaned requests.

I’m refactoring to try WdfUsbTargetPipeSendUrbSynchronously() on EP0 in hopes of getting the control transfers working.

Am I missing something, or is there no explicit way to access the default control transfer endpoint in WDF?

You are missing something, that is the correct API to use. Something must not be correct with your device, if the API were not correctly implemented a ton of drivers would not work.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@razerzone.com
Sent: Wednesday, November 09, 2011 4:24 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] USB Control Transfer question

I’m working on a driver for a USB device that requires control transfers for many of the operations. This device has a single interface and a single pipe.

My question has to do with WDF and access to the default control transfer capability. I’ve tried using WdfUsbTargetDeviceSendControlTransferSynchronously(), but when I watch the USB analyzer trace, it’s sending the request to EP1, (instead of EP0) which results in orphaned requests.

I’m refactoring to try WdfUsbTargetPipeSendUrbSynchronously() on EP0 in hopes of getting the control transfers working.

Am I missing something, or is there no explicit way to access the default control transfer endpoint in WDF?


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer