Back Next
USB Actions

  http://superuser.com/questions/42022/how-does-usb-device-recognition-work

  When a device is plugged in, it alters the signals on the power and 
    data lines using different resistors based on the maximum speed mode
    available.

    This configuration is sensed by the root hub or hup its plugged into.

    Device also assumes its ID is device 0.

  For USB 1.1/2 
    Controller and device use the D+, D-, and a process called chirping to 
      negotiate low-speed, full-speed, or high-speed.

  For USB 3
    Controller senses the USB 3 lines and goes immediately to Superspeed mode 
      to continue initialization.

  Controller senses the signal variation and polls devices for their id. 
    New device ids itself as @0

  Information about the device is read by controller (what is its general
    device class, e.g storage device, who made it, etc.)
    (function 0, pipe 0)

  With this, the controller can assign drivers. In some cases, it may 
    hunt for additional drivers.

  Root Hub then assigns an available 7-bit address to it.

  If device has multiple functionality, it can get more than one address.

  Each logical device can have up to 16 logical data pipes or channels in
    each direction for assigned @.


Root hub generates a clock frame once a second +/- 0.05 msec. Root hub either drives a transaction or poles recognized devices for waiting tasks. Communication between hub and devices done by frames. # Frames consist of one or more packets.