Difference between revisions of "USB Stack"

From ReactOS Wiki
Jump to: navigation, search
Line 37: Line 37:
* [http://www.usb.org/developers/docs/ USB.org specifications]
* [http://www.usb.org/developers/docs/ USB.org specifications]
* [http://msdn.microsoft.com/en-us/library/ee621942.aspx How to start USB Driver Development]
* Windows Driver Kit (Driver Development Kit).
* Windows Driver Kit (Driver Development Kit).
* various books and sites on the WDM model, to be expanded later.
* various books and sites on the WDM model, to be expanded later.

Revision as of 12:07, 31 December 2009

The USB stack is the component which provides the communication between USB devices and their respective drivers and applications. It consists of multiple files, each with a distinct function. The USB stack in ReactOS is currently extremely limited. This page documents the development of the new USB stack. Development work on a USB 3 stack is not planned until around 2010 as hardware won't be available for it in sufficient quantities until then.


The goal is to develop a USB stack which:

  • is USB 1.1 - 2.0 compliant
  • uses WDM (NT 5) API
  • is compatible with all USB devices and drivers (which adhere to the standard)

The entire stack will be fully documented and the implementation progress detailed on this page.


  • Primary Goal: USB HID (human input devices) and storage functionality working (Alpha).
  • Secondary Goal: Audio and other support added.
  • Beyond: testing and debugging.

Release dates will be provided at some point in the near future.


2008-12-03 - The ROS USB stack specification is being written. The first draft will be ready in a few weeks.

2009-01-26 - Due to lack of time and the diffuse nature of the available information on the Windows USB stack, progress has been slow. A delay of a month has been introduced. For those who would like to see faster progress, I can only say that for around 500 Euro a month, work on the USB stack could be full-time (5 days/week).

2009-03-22 - Goals updated. The new deadline is 'When it's done'. As a part reaches usability stage, this will be announced. The CFI wiki page now reflects 1,000 Euro & 8 weeks required, which may be somewhat accurate. We'll see.

2009-10-29 - Ranma is working on porting the Cromwell drivers to NT5 drivers. His plan is to start with the EHCI controller driver and work up the stack. The first order of business is to document the various structures in the drivers and how they interact with each other. Documentation will be posted here: Usb Driver Docs

Outdated information

See here.