Prev: Press Release Submission Tool for Windows-based Mobile Devices
Next: oemuni OEMTextOut doesn't hook
From: suresh on 20 Jul 2010 08:30 Hi, We have a usb composite device which has one mass storage interface and another as a network interface. We are developing a WDF driver (NDIS-USB) for the network interface. Immediately after WdfUsbTargetDeviceCreate if I break into the debugger and examine the newly created device, then I see that the Control Pipe Handle is NULL! Here is the actual output: -------- kd> !WDFUSBDEVICE 0x0000057f`fe5905f8 WDFUSBDEVICE 0000057ffe5905f8 ============================= Config descriptor fffffa80037216b0, device descriptor fffffa8001a6fb58 Control USBD_PIPE_HANDLE 0000000000000000 Num interfaces 1 device attached to a USBPORT serviced core stack USBDI Version 0x00000600, Supported USB Version 0x00000200 WDFUSBINTERFACE 0000057ffe56e8f8 Interface Number 0x01 Class 0xff, SubClass 0x00, Protocol 0x00 Alt Setting 0, Num Endpoints 2, Interface Desc fffffa80037216b9 -------- We also have another usb based ehternet device (which is not a composite device) whose driver doesn't have this problem. Actually this driver (WHQL certified) is only being ported for the composite device. The output at the same place using the working driver is: --------- kd> !WDFUSBDEVICE 0x0000057f`fc466478 WDFUSBDEVICE 0000057ffc466478 ============================= Config descriptor fffffa80036c3790, device descriptor fffffa8003b99cd8 Control USBD_PIPE_HANDLE fffffa8001ae5060 Num interfaces 1 device attached to a USBPORT serviced core stack USBDI Version 0x00000600, Supported USB Version 0x00000110 WDFUSBINTERFACE 0000057ffd829558 Interface Number 0x00 Class 0xff, SubClass 0x00, Protocol 0xff Alt Setting 0, Num Endpoints 3, Interface Desc fffffa80036c3799 --------- I am wondering if the composite device architecture has something to do with it, and if I missed any important step in the initialization. However this is actually just the start of device initialization. Some pointers will be of a great help. Regards, Suresh
From: Philip Ries [MSFT] on 20 Jul 2010 14:37 What version of Windows is this? Do control transfers actually work? I suspect there is actually nothing wrong here. suresh wrote: > Hi, > > We have a usb composite device which has one mass storage interface > and another as a network interface. We are developing a WDF driver > (NDIS-USB) for the network interface. > > Immediately after WdfUsbTargetDeviceCreate if I break into the > debugger and examine the newly created device, then I see that the > Control Pipe Handle is NULL! > Here is the actual output: > -------- > kd> !WDFUSBDEVICE 0x0000057f`fe5905f8 > > WDFUSBDEVICE 0000057ffe5905f8 > ============================= > Config descriptor fffffa80037216b0, device descriptor fffffa8001a6fb58 > Control USBD_PIPE_HANDLE 0000000000000000 > Num interfaces 1 > > device attached to a USBPORT serviced core stack > USBDI Version 0x00000600, Supported USB Version 0x00000200 > > WDFUSBINTERFACE 0000057ffe56e8f8 > Interface Number 0x01 Class 0xff, SubClass 0x00, Protocol 0x00 > Alt Setting 0, Num Endpoints 2, Interface Desc fffffa80037216b9 > -------- > > We also have another usb based ehternet device (which is not a > composite device) whose driver doesn't have this problem. Actually > this driver (WHQL certified) is only being ported for the composite > device. > The output at the same place using the working driver is: > --------- > kd> !WDFUSBDEVICE 0x0000057f`fc466478 > > WDFUSBDEVICE 0000057ffc466478 > ============================= > Config descriptor fffffa80036c3790, device descriptor fffffa8003b99cd8 > Control USBD_PIPE_HANDLE fffffa8001ae5060 > Num interfaces 1 > > device attached to a USBPORT serviced core stack > USBDI Version 0x00000600, Supported USB Version 0x00000110 > > WDFUSBINTERFACE 0000057ffd829558 > Interface Number 0x00 Class 0xff, SubClass 0x00, Protocol 0xff > Alt Setting 0, Num Endpoints 3, Interface Desc fffffa80036c3799 > --------- > > I am wondering if the composite device architecture has something to > do with it, and if I missed any important step in the initialization. > However this is actually just the start of device initialization. > > Some pointers will be of a great help. > > Regards, > Suresh >
From: suresh on 21 Jul 2010 01:36 Thanks for the response and sorry for not mentioning the platform earlier. It is Windows 7 64 bit with Intel 2 GHz 2 processors and 2 GB of RAM. Control transfers definately work because the other usb-ethernet device is working fine in this setup. We also have Windows XP installed in the same PC and there the WDM version of the driver works just fine whose WDF counterpart is failing on Windows 7. In fact the same WDM driver works on Windows 7 too, but we need a WDF driver for certification. Regards, Suresh On Jul 20, 11:37 pm, "Philip Ries [MSFT]" <phr...(a)microsoft.com> wrote: > What version of Windows is this? Do control transfers actually work? I > suspect there is actually nothing wrong here. > > > > suresh wrote: > > Hi, > > > We have a usb composite device which has one mass storage interface > > and another as a network interface. We are developing a WDF driver > > (NDIS-USB) for the network interface. > > > Immediately after WdfUsbTargetDeviceCreate if I break into the > > debugger and examine the newly created device, then I see that the > > Control Pipe Handle is NULL! > > Here is the actual output: > > -------- > > kd> !WDFUSBDEVICE 0x0000057f`fe5905f8 > > > WDFUSBDEVICE 0000057ffe5905f8 > > ============================= > > Config descriptor fffffa80037216b0, device descriptor fffffa8001a6fb58 > > Control USBD_PIPE_HANDLE 0000000000000000 > > Num interfaces 1 > > > device attached to a USBPORT serviced core stack > > USBDI Version 0x00000600, Supported USB Version 0x00000200 > > > WDFUSBINTERFACE 0000057ffe56e8f8 > > Interface Number 0x01 Class 0xff, SubClass 0x00, Protocol 0x00 > > Alt Setting 0, Num Endpoints 2, Interface Desc fffffa80037216b9 > > -------- > > > We also have another usb based ehternet device (which is not a > > composite device) whose driver doesn't have this problem. Actually > > this driver (WHQL certified) is only being ported for the composite > > device. > > The output at the same place using the working driver is: > > --------- > > kd> !WDFUSBDEVICE 0x0000057f`fc466478 > > > WDFUSBDEVICE 0000057ffc466478 > > ============================= > > Config descriptor fffffa80036c3790, device descriptor fffffa8003b99cd8 > > Control USBD_PIPE_HANDLE fffffa8001ae5060 > > Num interfaces 1 > > > device attached to a USBPORT serviced core stack > > USBDI Version 0x00000600, Supported USB Version 0x00000110 > > > WDFUSBINTERFACE 0000057ffd829558 > > Interface Number 0x00 Class 0xff, SubClass 0x00, Protocol 0xff > > Alt Setting 0, Num Endpoints 3, Interface Desc fffffa80036c3799 > > --------- > > > I am wondering if the composite device architecture has something to > > do with it, and if I missed any important step in the initialization. > > However this is actually just the start of device initialization. > > > Some pointers will be of a great help. > > > Regards, > > Suresh- Hide quoted text - > > - Show quoted text -
From: Tim Roberts on 21 Jul 2010 01:48 suresh <patil_suresh420(a)yahoo.com> wrote: > >We have a usb composite device which has one mass storage interface >and another as a network interface. We are developing a WDF driver >(NDIS-USB) for the network interface. > >Immediately after WdfUsbTargetDeviceCreate if I break into the >debugger and examine the newly created device, then I see that the >Control Pipe Handle is NULL! I suspect Philip is right. URBs that are destined for the default control endpoint do not need a pipe handle, so the fact that the structure doesn't contain one is irrelevant. -- Tim Roberts, timr(a)probo.com Providenza & Boekelheide, Inc.
|
Pages: 1 Prev: Press Release Submission Tool for Windows-based Mobile Devices Next: oemuni OEMTextOut doesn't hook |