有口碑的武进网站建设,网站名称 如何注册,建筑模板多少钱一张,网站 建设 毕业设计 要求LinuxUSB驱动程序调试#xff1a;这是LinuxUSB驱动程序调试--003#xff1a;Ubuntu下的准备工作的详细页面#xff0c;介绍了和linux,有关的知识、技巧、经验#xff0c;和一些linux源码等。Ubuntu下的准备工作#xff1a;(1)如何查看内核中的printk输出#xff1a; dmes…LinuxUSB驱动程序调试这是LinuxUSB驱动程序调试--003Ubuntu下的准备工作的详细页面介绍了和linux,有关的知识、技巧、经验和一些linux源码等。Ubuntu下的准备工作(1)如何查看内核中的printk输出 dmesg再配合管道命令 dmesg |head dmesg |tail通过这个命令我们可以看到内中的printk输出的内容这是很有用的一个工具。(2)的USB抓包工具usb_mon其实Ubuntu下已经内置了USB抓包工具---USB_MON【其实 make menuconfig 时候会让我们选择的】使用方法如下# mount -t debugfs none /sys/kernel/debug# modprobe usbmon查看当前的USB device# cat /sys/kernel/debug/usb/devices下面的输出T: Bus01 Lev01 Prnt01 Port00 Cnt01 Dev# 12 Spd480 MxCh 0D: Ver 2.00 Cls00(ifc ) Sub00 Prot00 MxPS64 #Cfgs 1P: Vendor601a ProdID4740 Rev 1.00S: ManufacturerIngenicS: ProductJZ4740 USB Boot DeviceC:* #Ifs 1 Cfg# 1 Atrc0 MxPwr 2mAI:* If# 0 Alt 0 #EPs 2 Clsff(vend.) Sub00 Prot50 DriverskeletonE: Ad01(O) Atr02(Bulk) MxPS 512 Ivl0msE: Ad81(I) Atr02(Bulk) MxPS 512 Ivl0ms如何看懂上面的输出 Documentation/usb/usbmon.txtBus01 means its bus 1.通过上面的 Vendor601a ProdID 可以找到我们设备的Bus号。上面Bus01。使用下面的名利就开始监听 Bus01上的全部USB数据包。# cat /sys/kernel/debug/usb/usbmon/1u要想开始监听 全部 Bus 上的全部USB数据包# cat /sys/kernel/debug/usb/usbmon/0u一旦有数据包就会打印出来# cat /sys/kernel/debug/usb/usbmon/1uf07dbb80 3233986312 S Co:1:012:0 s 40 01 80c0 0000 0000 0f07dbb80 3234327703 C Co:1:012:0 0 0f07dbb80 3234327880 S Co:1:012:0 s 40 02 0000 0200 0000 0f07dbb80 3234329561 C Co:1:012:0 0 0f07dbb80 3234329625 S Bi:1:012:1 -115 32 f07dbb80 3234331550 C Bi:1:012:1 -75 32 00000000 00000000 。。。读懂上面的数据还是要看usbmon.txtURB tag 标志TimeStamp毫秒数Event Type S - submission,C - callback,E - submission error.URBTypeBusNoDeviceAddrEndPointNumCi Co Control input and outputZi Zo Isochronous input and outputIi Io Interrupt input and outputBi Bo Bulk input and outputURB Status 0为没有错误。-XXX是错误码。