Welcome Guest ( Log In | Register )

Outline · [ Standard ] · Linear+

 USB versioning

views
     
pillage2001
post Jan 15 2022, 02:18 PM

Regular
******
Senior Member
1,894 posts

Joined: Jan 2003
From: Kalamazoo, MI
QUOTE(meenn @ Jan 14 2022, 06:21 PM)
So I want to start coding for USB, but I found out so many versions in USB.

In early years, maybe 1994~96, there is UHCI.
Then OHCI,
EHCI - USB 2.0
XHCI - USB 3.0

They even have AHCI, but couldn't find it on official site.

Well, the purpose of this thread is to let coders familiar with USB versioning of different standard or specification.

For example, one can download HID( USB 1.11) spec in PDFs from USB official site:
usb.org/documents?search=hid&items_per_page=50

So, I still haven't figure out UHCI ealier, or OHCI earlier.

Writing a USB driver and HID parser is not easy, and there is also Report Descriptor, example header like this:

This is for wheel mouse: (a bit outdated)
CODE
char ReportDescriptor[118] = {
    0x05, 0x01,        // USAGE_PAGE (Generic Desktop)
    0x09, 0x02,        // USAGE (Mouse)
    0xa1, 0x01,        // COLLECTION (Application)
    0x09, 0x02,        //   USAGE (Mouse)
    0xa1, 0x02,        //   COLLECTION (Logical)
    0x09, 0x01,        //     USAGE (Pointer)
    0xa1, 0x00,        //     COLLECTION (Physical)
                       // ------------------------------  Buttons
    0x05, 0x09,        //       USAGE_PAGE (Button)      
    0x19, 0x01,        //       USAGE_MINIMUM (Button 1)
    0x29, 0x05,        //       USAGE_MAXIMUM (Button 5)
    0x15, 0x00,        //       LOGICAL_MINIMUM (0)
    0x25, 0x01,        //       LOGICAL_MAXIMUM (1)
    0x75, 0x01,        //       REPORT_SIZE (1)
........
......

*
Just a correction, there's no AHCI. That's a SATA standard.

 

Change to:
| Lo-Fi Version
0.0164sec    0.18    6 queries    GZIP Disabled
Time is now: 29th March 2024 - 09:49 PM