Tech Support > Microsoft Windows > Drivers > Suspend /Resume doesn't work with the 2.0 hostcontroller
Suspend /Resume doesn't work with the 2.0 hostcontroller
Posted by Madhukar on September 3rd, 2003


Hi,


We have USB to Serial port converter. We have written
windows-2000/XP WDM driver for that device.

The 2000/XP WDM driver is working fine with all the serial
port applications.

When we receive PowerDeviceD1,PowerDeviceD2 or
PowerDeviceD3 we are stopping the all the USB
transactions. And configuring the device (Setting the
registers and starting the USB transsactions) when the we
receive PowerDeviceD0.

When the systems comes out of the standby mode, my device
(Application) works fine with the
1.1 hostcontroller.

But the same thing is not happenning with the 2.0
hostcontroller. i.e My device doesn't work
when system comes out of standby mode.

I Debugged this issue and I found that VendorCommands (For
Configureing the device registers) and Usb Bulk requests
are failing when we are processing the PowerDeviceD0. That
is why device is not working properly.

The status of the URB when the USB Bulk or Vendor requests
failed:
URB status is 0x80000300 with VIA2.0 Hostcontroller
URB status is 0xc0000005 with NEC2.0 Hostcontroller


Does anyone have any idea why this not work?


Thanks in advance
B. Madhukar Reddy


Posted by Alexander Grigoriev on September 3rd, 2003


You need to wait until your Vendor Command is completed before proceeding
with going to D2/D3.

I've seen that XP USB host drivers even stop USB operations in low power
pending state (that is after QUERY_POWER/SystemPower),
which is absolutely wrong power policy. So you better stop sending your
Vendor requests on QUERY_POWER request.


"Madhukar" <madhukar@moschip.com> wrote in message
news:083f01c371ed$29b1eca0$a401280a@phx.gbl...