Forwarding this with Johannes' consent:
-------- Original Message -------- Subject: [ros-priv] Status of the usb-bringup Branch Date: Sat, 07 Jan 2012 16:21:24 +0100 From: Johannes Anderwald janderwald@reactos.org To: ReactOS developers private list ros-priv@reactos.org
Hi Folks!
For those who are interested in the status of the usb-bringup branch, here is a short summary of the current state, implemented features and required work to have it working in ReactOS.
=== USB Core Status ===
1. There are 2 USB specifications for the USB 1.1 standard. Devices which are used in this standard are mice / keyboards etc OHCI (Open Host Controller Interface Standard) - All transfers types are implemented (bulk, iso, control, interrupt) UHCI (Universal Host Controller Interface Standard) - Totaly missing. Though it should be do-able to use ohci driver as a base and use Haiku driver[2]
2. EHCI (Enhanced Host Controller Interface) - Implemented transfer types: bulk & control. Interrupt & Isochronous transfers are not implemented. Due to the missing transfer types, devices who utilize those transfer types will not be available
3.) USBHUB - driver for managing port and hubs - Implementation state is unknown - michel martin has more information on that
=== USB Mass Storage Support Status === USB Mass Storage is implemented in usbstor driver and is fully working. Tested in WinXP + USBEHCI + USBSTOR. Mass storage support requires bulk and control transfers, which are implemented in USBEHCI
=== HID Status ===
The HID framework is built on 5 drivers
1. HIDUSB - this is the interface driver for the USB bus. Currently supported devices are mice. Basic keyboard support should also work currently 2. HIDCLASS - this is the class driver for HIDUSB and others. Functionality for mice & keyboard is implemented, though support for sending output reports is not implemented 3. MOUHID - mouse function driver for usb hid standard - Fully implemented and working 4. KBDHID - keyboard function driver for the hid standard - 90 % implemented, needs KbdHid_InsertScanCodes implemented for keyboard scan code dispatching to kbdclass and led status indicator support (which requires sending output reports) 5. HIDPARSE - driver for parsing report descriptors - functionality implemented for mice, keyboard support needs HidParser_TranslateUsage fully implemented for modifier state (caps lock, num lock, scroll lock)
=== What works and not ===
1. Mouse support has been tested in WinXP with ReactOS USBOHCI + HIDUSB + HIDCLASS + MOUHID + HIDPARSE and is working. The USB + HID stack does not work in ReactOS at the moment, appears to be a problem with win32k, which only opens the first mice (\Device\PointerClass0) [...]
2. Basic Keyboard support need a 2/3 functions but probably suffer from the same bugs which affect HID mice support
3. Usb Mass storage support - Needs mountmgr / partmgr driver implemented. Will also need mountvol and other missing PnP stuff
============
As I will be working on my master thesis the next few months, I`ll have no time to focus on the usb or any ReactOS related development. If anybody wants to work on the usb branch, I`m very happy with it. Feel free to change anything, or rewrite evrything :) I`ll available via my reactos email address if any questions come up.
kind regards, Johannes
Links:
[1] svn://svn.reactos.org/reactos/branches/usb-bringup [2] http://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/busses/usb/uhci.cpp
_______________________________________________ Ros-priv mailing list Ros-priv@reactos.org http://www.reactos.org/mailman/listinfo/ros-priv