USB support
Basic support for USB 1.1 was added to HelenOS in mainline:1006 by merging code of student software project at MFF UK. The original homepage of the project is at http://helenos-usb.sourceforge.net/.
Supported devices
Host controllers
- UHCI
- QEMU 0.14 (previous versions have rather serious bugs in the chip implementation)
- real hardware: all tested machines (IA-32, AMD-64) worked (TODO exact product ids)
- OHCI
- VirtualBox (no known problem)
- real hardware: yes (some PCI IDs may be missing)
- EHCI
- only stub implementing hand off routine
- works well in VirtualBox with USB 2.0 support enabled
Functions (endpoint devices)
- hubs
- HID
- base keyboard (101 PC) - full support
- mouse - cursor movement, clicking, wheel transformed into arrows (keys) presses
- multimedia buttons (Play/Pause, E-mail, Save etc.) - printed into log
- mass storage
- only stub querying device for vendor and product name
Various links
Links below may be duplicates of links located on developers' documentation page.
Core USB and host controller specifications
- USB 1.1 Specification
- OHCI Specification (Open Host Controller Interface, Release 1.0a)
- UHCI Design Guide (Universal Host Controller Interface, Revision 1.1)
- EHCI Specification (Enhanced Host Controller Interface, Revision 1.0)
Miscellaneous (USB related)
- The USB ID Repository (Linux)
- Axelson, Jan: USB Complete (Everything You Need to Develop Custom USB Peripherals)
- Homepage of the book
- On-line at Google books, PDF can be downloaded from here or here (all links points to 3rd edition which describes USB 2.0 as well)
- USB in a NutShell
- USB Made Simple
- USBlyzer (USB Protocol Analyzer) - not tried, for Windows, free trial for 33 days
- Virtual USB for Linux
- LUFA (MyUSB): USB library for AVR microcontrollers
HID
- HID page at USB.org
- HID 1.11
- HID Usage tables 1.12
- HID parser in Python (direct link to archive)
- libhid - a user-space USB HID access library written in C
- Getting past the **UNAVAILABLE** for HID report descriptors in Linux
- Linux HID driver
- FreeBSD userland driver/daemon for USB HID devices
HelenOS
- Trochtová, Lenka: Device driver framework (master thesis)
- Adding HelenOS to GRUB on your real machine
Localization, Unicode, UTF & co.
- LangId values as defined by Microsoft
- Unicode overview (Wikipedia)
- UTF-16 and UCS-2 (Wikipedia) (these are used by string descriptors)
Workaround, hacks
Last modified
12 years ago
Last modified on 2012-07-03T13:18:54Z
Note:
See TracWiki
for help on using the wiki.