Linux USB测试

原创
2017/06/21 15:49
阅读数 2.2K

通过USBTest(http://www.linux-usb.org/usbtest/)可以测试主机端和设备端的控制器驱动。

但是由于USBFS被废弃许久,虽然能通过重新编译内核加上选项CONFIG_USB_DEVICEFS=y来重新使用,但总归不是彻底的解决方案,并且从Linux3.5起已经完全移除了USBFS,这也导致了Ubuntu从12.10起不再能支持USBFS。

在新的Linux内核下USBFS相关的内容可以从如下路径获取:

  • /sys/kernel/debug/usb/devices
  • /dev/bus/usb
  • /sys/bus/usb
  • /sys/kernel/debug/usb

针对新的变化,我对于usbtest.c 也做个相应的改动,使它不再依赖USBFS,patch如下:

-       if ((c = open ("/proc/bus/usb/devices", O_RDONLY)) < 0) {
+       if ((c = open ("/sys/kernel/debug/usb/devices", O_RDONLY)) < 0) {
                fputs ("usbfs files are missing\n", stderr);
                return -1;
        }
 
        /* collect and list the test devices */
-       if (ftw ("/proc/bus/usb", find_testdev, 3) != 0) {
+       if (ftw ("/dev/bus/usb", find_testdev, 3) != 0) {
                fputs ("ftw failed; is usbfs missing?\n", stderr);
                return -1;
        }

针对如何使用USBTest等相关细节,

可参考这篇博文: http://blog.csdn.net/luckywang1103/article/details/32720281

展开阅读全文
打赏
0
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部