The usbmon: USB monitoring framework

For years, Linux developers used printk() to debug the USB stack, but this approach has serious limitations. In this paper we discuss "usbmon", a recently developed facility to snoop USB traffic in a more efficient way than can be done with printk().

From far away, usbmon is a very straightforward piece of code. It consists of circular buffers which are filled with records by hooks into the USB stack and a thin glue to the user code which fetches these records. The devil, however, is in details. Also the user mode tools play a role.

...

Download PDF.