This article describes six USB 2.0 issues and their respective causes. The issues fall into one of the following categories:
- Functionality that is not supported by Windows 2000 universal serial bus (USB) drivers or hardware design.
- A limitation imposed by Windows 2000 USB or hardware design.
For each issue described in the "Symptoms" section of this article, see the corresponding item in the "Cause" section:
- Selective suspend. This is a new feature introduced in Microsoft Windows XP and Windows Server 2003. With this feature, host controllers can idle out, even with device (that support selective suspend in their drivers) connected to that controller. The USB Enhanced Host Controller Interface (EHCI) driver stack on Windows 2000 does not support selective suspend.
- Idle EHCI controller. The USBehci.sys file does not clear the run bit on an idle EHCI controller. This is not supported in Windows 2000. This feature is only implemented in Windows XP, and helps reduce power consumption on idle host controllers, therefore improving battery life on USB EHCI-based mobile systems.
- Code 28. Sometimes Device Manager shows Code 28 even for a properly working device.
- Start, resume, and suspend. The time it takes to start, to resume from hibernation, and to suspend on Windows 2000 is not as fast as on Windows XP. Various improvements have been made in the Windows XP operating systems to improve resume time on a global basis.
- Port sharing results in Unknown Device message. One of the main issues that you can experience when you share a port between two host controllers is the appearance of an Unknown device message. This occurs in the Device Manager after resume from hibernation. To resolve this issue, in Device Manager, scan for hardware changes.
- Port sharing results in Unsafe Removal message. Another issue that occurs when you share a port between two host controllers is the appearance of an Unsafe Removal dialog box. This can occur when you resume from suspend or hibernation, and because the EHCI controller chirps all ports on a resume from S3/S4. This forces a full/low speed device to momentarily jump over to the EHCI controller before returning to the companion controller. This jumping between controllers causes the Unsafe Removal dialog box. You can address this issue by attaching a USB 2.0 hub between the root port and the device.
For some issues, individual resolutions have been added to the description of the cause.
This behavior is by design. Redesign of hardware or advanced software available in future operating systems can address some of these features.