R: What is the status of the Bulk USB Power Code on Win2k

Hi Chris,

I am developing a USB driver using the Win2k bulk sample code as starting
skeleton for a Cypress-Anchor device.
At the moment I have not yet hibernated the system, my development system
doesn’t support this feature, but as soon as
the driver becomes stable and functional (I hope in a couple of weeks) I
will try to hibernate the driver on a laptop.
At the moment the only problem I have found is when, for any reason, the
device doesn’t complete staged READ IRPs (e.g.
the device f/w locks and doesn’t respond to IN usb packets)
In such a case terminating the application doesn’t complete the main READ
IRP, since no completion routine is set, and
consequently the staged IRPs queued to USBD are still alive. When I reset
the device I have a BSOD.
The workaround for this problem has been a completion routine for the main
IRP where I cancel the stages IRPs.
I will contact you when I will perform hibernation tests.

Best regards
Paolo

-----Messaggio Originale-----
Da: “Pane, Chris”
A: “NT Developers Interest List”
Data invio: mercoledì 10 gennaio 2001 18.20
Oggetto: [ntdev] What is the status of the Bulk USB Power Code on Win2k

> Has anyone gotten the Bulk USB power mgmt code in the Windows 2000 DDK to
> work properly. I have used this code in my driver and have been wrestling
> with it for about a week now, and I can get it to hibernate the system
fine
> but when I resume the system, it crashes when it tries to process the SET
> power IRP for the device. I have traced the crash to the power code
> processing the POwer IRPs
>
> I have been trying to learn how to do USB power mgmt by using this example
> and have also read Walter Oneys section on it and have become familiar
with
> the logic that is needed. It looks like the BulkUsb example is not
properly
> increasing power. According to Walters book, when increasing power, the
> driver should first pass the Set Power IRP down the stack before
requesting
> a Power IRP to send to its device. It then requests the Power IRP in the
> Completion routine. It looks like Bulk USB code does not do this in the
> correct order. It is doing almost the same thing for Power down that it
did
> for Power up.
>
> Is there something I should know about the supplied BulkUSB example. Is it
a
> correct sample of how to do Power Mgmt. Are there known bugs in it ?
>
> Thanks
>
>
> -Chris
>
> —
> You are currently subscribed to ntdev as: xxxxx@tin.it
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com