經過USBTest(http://www.linux-usb.org/usbtest/)能夠測試主機端和設備端的控制器驅動。linux
可是因爲USBFS被廢棄許久,雖然能經過從新編譯內核加上選項CONFIG_USB_DEVICEFS=y來從新使用,但總歸不是完全的解決方案,而且從Linux3.5起已經徹底移除了USBFS,這也致使了Ubuntu從12.10起再也不能支持USBFS。測試
在新的Linux內核下USBFS相關的內容能夠從以下路徑獲取:.net
針對新的變化,我對於usbtest.c 也作個相應的改動,使它再也不依賴USBFS,patch以下:debug
- 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等相關細節,code
可參考這篇博文: http://blog.csdn.net/luckywang1103/article/details/32720281blog