Windows 95 USB Patch for Host Controllers

Windows 95 did not originally ship with Universal Serial Bus (USB) support, requiring subsequent software updates to interface with the evolving hardware standard. This article details the specific patches released by Microsoft—chiefly the USB Supplement (USBSUPP.EXE) and the follow-up USBUPD2.EXE update—that implemented the Windows 95 USB stack and addressed compatibility issues with newer Open Host Controller Interface (OHCI) and Universal Host Controller Interface (UHCI) hardware.

The Introduction of the USB Stack: USBSUPP.EXE

The retail release of Windows 95 (version 4.00.950) and OEM Service Release 1 (OSR1) contained no native USB architecture. Microsoft first introduced USB capabilities to the operating system through the USB Supplement to OSR2, distributed as the package USBSUPP.EXE.

Installing USBSUPP.EXE on Windows 95 OSR 2.0 upgraded the operating system to Windows 95 OSR 2.1. This package installed:

  • A basic Windows Driver Model (WDM) subsystem (NTKERN.VXD).
  • Core USB class and hub drivers (USBD.SYS and USBHUB.SYS).
  • Host controller drivers for UHCI (UHCD.SYS) and OHCI (OPENHCI.SYS).

Updating the Stack for Newer Controllers: USBUPD2.EXE

While USBSUPP.EXE established the initial stack, early implementations struggled with timing issues, enumeration bugs, and incompatibilities on newer motherboard chipsets and PCI-to-USB add-in cards.

To fix these host controller compatibility issues, Microsoft issued the USBUPD2.EXE patch (associated with Microsoft Knowledge Base article Q181664).

USBUPD2.EXE updated the original driver files installed by USBSUPP.EXE, specifically targeting:

  • Host Controller Stability: Resolved enumeration failures on newer OHCI and UHCI host controllers.
  • Controller Handoff: Corrected power management and suspend/resume states that caused USB controllers to stop responding.
  • Driver Revisions: Deployed updated builds of OPENHCI.SYS, UHCD.SYS, and USBHUB.SYS to handle non-compliant controller hardware and advanced PCI steering implementations.

Prerequisites and Hardware Constraints

To utilize the USB stack and its subsequent updates on Windows 95, specific prerequisites must be met:

  • Base Version: The system must run Windows 95 OSR 2.0 (version 4.00.950 B) or higher. The patches will not install or function on original retail Windows 95 or OSR 1.
  • Installation Order: USBSUPP.EXE must be applied first to deploy the underlying WDM and USB subsystems before USBUPD2.EXE can be applied to update the controller binaries.
  • Specification Limit: The Windows 95 USB stack is architecturally limited to the USB 1.1 standard. It does not natively support Enhanced Host Controller Interface (EHCI) controllers for USB 2.0 high-speed operations.