[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

USB handshakes, standaard protocollen en USB ID's



Om een officieel USB-logo op een product te mogen aanbrengen en een Vendor ID te registreren moet je aan een aantal eisen voldoen, zie:

http://www.usb.org/developers/vendor/

De registratie van een USB Vendor VID en Product PID's staat los de communicatie volgens standaard USB-protocollen, waarvoor meestal standaard drivers gebruikt worden.

Met lsusb kun je met de opties -v en -d <VID>:<PID>, via de generieke USB-handshake, veel info over een USB-device krijgen:

$ lsusb -vd 8087:0020
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x8087 Intel Corp.
  idProduct          0x0020 Integrated Rate Matching Hub
  bcdDevice            0.00
  iManufacturer           0
  iProduct                0
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
...
...
etc
...

Deze gegevens worden tijdens de handshake door het USB-device zelf aan de USB-host verstrekt. De gegevens worden niet van een file op het systeem van de host (of via een link naar een internet verbinding) gelezen of door een driver gegenereerd. Op:

http://www.usb.org/developers/defined_class

kun je lezen dat Device Class 9 een USB-hub is, zoals het device zelf tijdens de handshake aangeeft.

Als je wilt weten welke gegevens andere USB-devices, zoals een webcam of een wifi-adapter, via een USB-aansluiting aan een USB-host verstrekken, dan kun je daar via lsusb met de -vd opties achter komen.

Via:

http://www.usb.org/developers/docs/

kun je gedetailleerde documentatie over USB-protocollen vinden.

Groeten,
Jan-Rens.


Reply to: