Are you exposing other usb functions other than a modem? Each one of the functions you expose will send down a select config to your driver. It is your responsibility in your generic parent driver to
1 present config descriptor that only contains the functions for a particular child. Basically you have to create a config descriptor per child you enumerate
2 when receiving the select config from the child, convert that to a select interface so that the child’s select config does not mess up the state of all of the other functions
You do not receive wait wake irps in a kmdf driver. I also think you are going about usb ss backwards. Each of your children need to register for idle, you notify them to go idle and once everyone is off, only then do you register for idle with the hub driver.
Both of these tasks are *not* easy, you have a few weeks of work ahead of you and then a lot of testing.
d
tiny phone keyboard + fat thumbs = you do the muth
-----Original Message-----
From: xxxxx@gmail.com
Sent: Tuesday, February 09, 2010 6:24 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Problem with USB composite bus driver.
Hi Doron,
Doron Holan wrote:
>Are you handling the various select confit/select interface calls in your driver? Or is the driver you are >sending all of the urbs to translating the select configs into select interfaces?
I did not understand what you said. You meant selecting interfaces in composite driver. (The same way i did in upper driver(Modem driver))?
In My composite driver i am forwarding all the requests which i got in default queue to the lower driver i.e. usb hub.
I have one more doubt. It is related to selective suspend and remote wake up in composite driver.
i could able to put my composite driver and child driver (Modem Driver )in to sleep state by sending IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION to the parent driver (USB hub) and handling its call back routine.
But When i tried to wake up my driver its getting hung. As i have not handled IRP_MN_WAIT_WAKE yet.
actually i could not find IRP_MN_WAIT_WAKE in a default queue of composite driver.
Where can i receive this irp?
Amit
—
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