linux下的"BusHound"——usbmon
随着Ubuntu版本的不同,usb_mon的名字可能不同,在Ubuntu16.04下是ubsmon
linux下的"BusHound"——usb_mon非常好
使用方法如下:
sudo mount -t debugfs none /sys/kernel/debug 一般linux已经默认挂上了
sudo modprobe usb_mon
于是在/sys/kernel/debug/usb目录下出现了devices和usbmon
1)查看当前的usb device: sudo cat /sys/kernel/debug/usb/devices出现如下:
2)监听全部bus上的USB数据包,cat /sys/kernel/debug/usb/usbmon/0u
监听Bus=2上的USB数据包,cat /sys/kernel/debug/usb/usbmon/2u
一旦有数据就打印出来
读懂上面的数据,需要参考usbmon.txt
URB tag :标志
TimeStamp:毫秒数
Event Type:
S - submission,
C - callback,
E - submission error.
URBType:BusNo:DeviceAddr:EndPointNum
Ci Co Control input and output
Zi Zo Isochronous input and output
Ii Io Interrupt input and output
Bi Bo Bulk input and output
URB Status: 0为没有错误。-XXX是错误码。