| 1 | = USB support = |
| 2 | |
| 3 | Basic support for USB 1.1 was added to HelenOS in [changeset:mainline,1006 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/. |
| 4 | |
| 5 | == Supported devices == |
| 6 | === Host controllers === |
| 7 | * UHCI |
| 8 | * QEMU 0.14 (previous versions have rather serious bugs in the chip implementation) |
| 9 | * real hardware: all tested machines (IA-32, AMD-64) worked (TODO: exact product ids) |
| 10 | * OHCI |
| 11 | * !VirtualBox (no known problem) |
| 12 | * real hardware: ??? |
| 13 | * EHCI |
| 14 | * only stub implementing hand off routine |
| 15 | * works well in !VirtualBox with USB 2.0 support enabled |
| 16 | |
| 17 | === Functions (endpoint devices) === |
| 18 | * hubs |
| 19 | * HID |
| 20 | * base keyboard (101 PC) - full support |
| 21 | * mouse - cursor movement, clicking, wheel transformed into arrows (keys) presses |
| 22 | * multimedia buttons (!Play/Pause, E-mail, Save etc.) - printed into log |
| 23 | * mass storage |
| 24 | * only stub querying device for vendor and product name |
| 25 | |
| 26 | == Various links == |
| 27 | |
| 28 | Links below may be duplicates of links located on [wiki:DeveloperDocs developers' documentation page]. |
| 29 | |
| 30 | === Core USB and host controller specifications === |
| 31 | * [http://esd.cs.ucr.edu/webres/usb11.pdf USB 1.1 Specification] |
| 32 | * [ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf OHCI Specification] (Open Host Controller Interface, Release 1.0a) |
| 33 | * [http://download.intel.com/technology/usb/UHCI11D.pdf UHCI Design Guide] (Universal Host Controller Interface, Revision 1.1) |
| 34 | * [http://www.intel.com/technology/usb/download/ehci-r10.pdf EHCI Specification] (Enhanced Host Controller Interface, Revision 1.0) |
| 35 | |
| 36 | |
| 37 | === Miscellaneous (USB related) === |
| 38 | * [http://www.linux-usb.org/usb-ids.html The USB ID Repository] (Linux) |
| 39 | * Axelson, Jan: USB Complete (Everything You Need to Develop Custom USB Peripherals) |
| 40 | * [http://www.lvr.com/usbc.htm Homepage of the book] |
| 41 | * [http://books.google.cz/books?id=OSnynlQrvVcC&lpg=PP1&ots=XaSaVJFJ9g&dq=%22usb%20complete%22%20axelson&pg=PP1#v=onepage&q&f=false On-line at Google books], PDF can be downloaded from [http://gemini.udistrital.edu.co/comunidad/grupos/teletecno/Documentacion/axelson%20-%20usb%20complete%203ed.pdf here] or [http://www.mediafire.com/?dzn3jrjz4yz here] (all links points to 3rd edition which describes USB 2.0 as well) |
| 42 | * [http://www.beyondlogic.org/usbnutshell/ USB in a NutShell] |
| 43 | * [http://www.usbmadesimple.co.uk/index.html USB Made Simple] |
| 44 | * [http://www.usblyzer.com/ USBlyzer (USB Protocol Analyzer)] - not tried, for Windows, free trial for 33 days |
| 45 | |
| 46 | === HID === |
| 47 | * [http://www.usb.org/developers/hidpage/ HID page at USB.org] |
| 48 | * [http://www.usb.org/developers/devclass_docs/HID1_11.pdf HID 1.11] |
| 49 | * [http://www.usb.org/developers/devclass_docs/Hut1_12.pdf HID Usage tables 1.12] |
| 50 | * [http://lists.freebsd.org/pipermail/freebsd-usb/2008-May/005002.html HID parser in Python] ([http://people.freebsd.org/~chuckr/code/python/uhidParser-0.2.tbz direct link to archive]) |
| 51 | * [http://libhid.alioth.debian.org/ libhid - a user-space USB HID access library written in C] |
| 52 | * [http://www.slashdev.ca/2010/05/08/get-usb-report-descriptor-with-linux/ Getting past the **UNAVAILABLE** for HID report descriptors in Linux] |
| 53 | |
| 54 | === HelenOS === |
| 55 | * Trochtová, Lenka: Device driver framework (master thesis) |
| 56 | * [http://www.helenos.org/doc/theses/lt-thesis.pdf Download PDF] |
| 57 | * [http://docs.google.com/viewer?url=http%3A%2F%2Fwww.helenos.org%2Fdoc%2Ftheses%2Flt-thesis.pdf On-line through Google viewer] |
| 58 | * [http://vhotspur.blogspot.com/2011/02/adding-helenos-to-existing-grub.html Adding HelenOS to GRUB on your real machine] |
| 59 | * [https://sites.google.com/site/vhotspur/helenos_add_to_grub_v2.sh?attredirects=0&d=1 The script (direct link)] |
| 60 | |
| 61 | === Localization, Unicode, UTF & co. === |
| 62 | * [http://msdn.microsoft.com/en-us/library/bb165625%28v=vs.80%29.aspx LangId values as defined by Microsoft] |
| 63 | * [http://en.wikipedia.org/wiki/Unicode Unicode overview (Wikipedia)] |
| 64 | * [http://en.wikipedia.org/wiki/UTF-16 UTF-16 and UCS-2 (Wikipedia)] (these are used by string descriptors) |
| 65 | |