Architecture

All transactions that are performed for USB devices are sent using the URB (Usb Request Block) structure. These URBs will be first received by the USB core, and then routed to the proper Host Controller Driver(HCD). Once a URB has been processed, then it utilizes a callback to return to the USB core. This method of collecting USB data does come with a little bit of overhead, however it was deemed manageable since Linux developers had no good means of debugging USB before.

 

 

 

 

usbmon arch

 

 

Image Reference: http://elinux.
org/images/1/17/USB_Debugging_and_Pro
filing_Techniques.pdf

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>