如何让插入的usb设备不自动装载驱动,进而使用libusb成功向设备传送数据
pc环境:ubuntu 8.10
usb设备:usb-serial
usb驱动:ftdi_sio
1.原有内容
luther@gliethttp:~$ ls /sys/bus/usb-serial/drivers/
generic
2.插入usb-serail之后内容
luther@gliethttp:~$ ls /sys/bus/usb-serial/drivers/
ftdi_sio generic
或者使用dmesg查看
luther@gliethttp:~$ dmesg |grep 'interface driver'
3.删除已经加载了的built-ind的模块
luther@gliethttp:~$ lsmod |grep ftdi_sio
ftdi_sio 55944 0
usbserial 39528 1 ftdi_sio
usbcore 148848 8 ftdi_sio,usb_storage,libusual,usbserial,usbhid,ohci_hcd,ehci_hcd
luther@gliethttp:~$ sudo rmmod ftdi_sio
luther@gliethttp:~$ lsmod |grep ftdi_sio
4.将其添加到驱动黑名单中
luther@gliethttp:~$ sudo vim /etc/modprobe.d/blacklist
# 文件结尾追加如下一行内容
blacklist ftdi_sio
5.这样再次插入usb-serial,该设备的驱动已经没有了
luther@gliethttp:~$ lsmod |grep ftdi_sio
luther@gliethttp:~$
6.可以看到设备还在
luther@gliethttp:~$ lsusb
Bus 002 Device 018: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 002 Device 017: ID 058f:9254 Alcor Micro Corp. Hub
Bus 002 Device 002: ID 062a:0000 Creative Labs Optical mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 1687:0165 Kingmax Digital Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
7.这样将设备原有驱动卸载掉之后,我们的libusb才能向设备发送数据和读取数据
阅读(2651) | 评论(0) | 转发(0) |