Back Next
USB Actions

  https://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 which the controller recognizes. 

  The controller then polls devices for their id. New device ids itself as @0

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

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

  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 functions, 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.