USB调试技巧:USB Debugging工具usbmon使用介绍
• Facility in kernel to be used to collect URB traces• USB monitoring facilities for Linux consists of a kernel part and userpart• Reports requests made by peripheral-specific drivers to HostController Drivers (HCD)• Requires a reliable working HCD• Has a “text” and “binary” API
2、usbmon Architecture
3、usbmon 工具打开
首先保证 Debug Filesystem已配置, 且已挂载/sys/kernel/debug

usbmon工具配置:CONFIG_THERMAL_MONITOR=y

4、确认模块在哪一条usb总线上
lsusb命令

cat /sys/kernel/debug/usb/devices
5、抓取usbmon log
切换到 /sys/kernel/debug/usb/usbmon 目录下,有如下文件

cat 1u > /tmp/usbmon_log 就可以将上位机与模块交互的usb数据抓取到 /tmp/usbmon_log 文件中
说明:
1代表系统当前usb总线号,0代表所有的usb总线。
模块连接在ubuntu的第1条usb总线上,因此 cat 1u 。
s、t、u表示输出的usbmon log的format:
- 其中
u输出的信息最详细,因此使用u结尾的文件。usbmon输出的log量比较大,一般将其重定位到文件中。
ctrl+C
6、分析usbmon log
抓到的usb数据是文本格式,是可以通过分析每一个字段来查看每个包的含义。
cat /tmp/usbmon_log

可以直接用vusb-analyzer来分析usbmon_log``ubuntu侧vusb-analyzer安装:sudo apt-get install vusb-analyzer
