PRB: CardBus USB Controller May Not Work After Resuming From Standby on Windows 9x (326617)



The information in this article applies to:

  • Microsoft Windows 98 Second Edition
  • Microsoft Windows 98

This article was previously published under Q326617

SYMPTOMS

After the system is resumed from being on standby, the following devices may not work:
  • An open host controller interface specification for universal serial bus (OpenHCI USB) controller that is implemented as a CardBus device.
  • Any USB devices that are attached to the controller.

CAUSE

Both the USB root hub and the OpenHCI host controller are designed to stay in the highest possible power state when the system is put into standby (assuming that no USB devices are armed as wake-up devices). However, the CardBus controller driver supports only the fully powered (D0) and the off (D3) power states if the CardBus card is not armed as a wake-up device.

As parent of the USB controller, the CardBus controller cannot go into a lower power state than its child, so it must go into D0 (fully powered) if the USB controller is in a power state higher than D3 (off). If the CardBus controller is never put into a lower power state than D0 during standby, the system assumes that the CardBus controller survived being on standby without any problems, and does not try to restore its device context to its pre-standby state.

In most cases, the CardBus controller does not go through standby without losing its device context, specifically the memory and I/O apertures that pass through I/O to devices behind the CardBus bridge. If the memory and I/O apertures on the CardBus controller are not restored after resuming from a standby, the OpenHCI driver cannot access the USB controller and does not work.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Modification Type:MinorLast Reviewed:12/21/2004
Keywords:kbprb kbUSB KB326617