USB Device That Is Swapped During Hibernation May Not Function (323479)
The information in this article applies to:
- Microsoft Windows XP Professional
- Microsoft Windows XP Home Edition
This article was previously published under Q323479 SYMPTOMS If you have multiple universal serial bus (USB) devices connected to an external USB
hub, when you unplug a USB device during system hibernation and then plug another USB
device into the same USB port, the new USB device may not function.RESOLUTION
To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
322389 How to obtain the latest Windows XP service pack
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
MORE INFORMATIONWhen your computer resumes after hibernation, the USB hub driver
(Usbhub.sys) is responsible for restoring each USB device that is attached to the hub
back to the configuration that it had before hibernation. The hub driver does this
by determining whether each USB port that had a device attached before hibernation
still has a device attached after hibernation.
If the hub driver finds that a USB device
is still attached to the port, it allocates a USB address and assigns it to
the device. The hub driver then reads the device's USB device descriptor. If the
device descriptor does not match the device descriptor for the device that was
attached to the port before hibernation, the hub driver marks the
previously attached device object for removal. The hub driver also frees up the USB
address that is assigned to the device. However, the hub driver does not disable the USB port that the
device is attached to.
When the hub driver moves on to the next attached
USB device, the hub driver assigns it the same USB address that it had assigned to the previously attached
device because its USB address was freed. Because the port for that previously attached device
was never disabled, both devices then decode the same USB address. When
the hub driver tries to read the device descriptor for the next device, both
devices try to respond. This behavior results in bus contention.
This
problem may also affect devices that download their firmware from their device
drivers when they are initialized. This behavior occurs if such a device
reports a different vendor ID or product ID after the downloaded firmware is
initialized. When the system resumes from hibernation, this type of USB device
will have reverted to its default power-on state and will have reverted to its
original vendor ID and product ID. Windows interprets this change to mean that the device was swapped during hibernation.REFERENCESFor additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base: 816915 New file naming schema for Microsoft Windows software update packages
Modification Type: | Minor | Last Reviewed: | 9/27/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbBug kbfix kbQFE kbprb KB323479 |
---|
|