本文介绍了一种不用USB逻辑分析仪(TOTALPHASE Beagle USB480ProtocolAnalyzer)就可以分析USB协议的免费解决方案。
方案:usbmon+tcpdump+wireshark
usbmon:将USB总线上的数据输出出来,没有它你就取不到总线上的数据。
wireshark:一个强大的软件,具体就不介绍了自己去官网看吧,扮演着解析USB数据的角色。(usbmon人工数据解析)
tcpdump:数据转换角色,wireshark能够解析指定格式的USB数据文件,而usbmon直接输出的数据它并不认识,用tcpdump把usbmon的数据生成wireshark能够认识的文件。
方法:
- 确认开发板上有没有tcpdump工具,如果没有可以去自己下载。
msm8953_32:/system/bin #
msm8953_32:/system/bin # ls -l tcpdump
-rwxrwxrwx 1 root root 2083192 2021-03-25 16:24 tcpdump
msm8953_32:/system/bin #
- 确认开发板上的usbmon功能有没有开启,如果没有开启去内核config文件中把 CONFIG_USB_MON 打开,重新编译烧写进去。
msm8953_32:/ #
msm8953_32:/ # ls -l /sys/kernel