如何查看LINUX下的一个USB设备使用的驱动模块

来源:互联网 发布:app软件说明书 编辑:程序博客网 时间:2024/05/22 06:46

http://unix.stackexchange.com/questions/60078/find-out-which-modules-are-associated-with-a-usb-device

Finding the Kernel Driver(s)

The victim device

$ lsusb Bus 010 Device 002: ID 046d:c01e Logitech, Inc. MX518 Optical MouseBus 010 Device 003: ID 051d:0002 American Power Conversion Uninterruptible Power Supply

We're going to try to find out what driver is used for the APC UPS. Note that there are two answers to this question: The driver that the kernel would use, and the driver that is currently in use. Userspace can instruct the kernel to use a different driver (and in the case of my APC UPS, nut has).

Method 1: Using usbutils (easy)

The usbutils package (on Debian, at least) includes a script calledusb-devices. If you run it, it outputs information about the devices on the system, including which driver is used:

$ usb-devices⋮T:  Bus=10 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=1.5 MxCh= 0D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1P:  Vendor=051d ProdID=0002 Rev=01.06S:  Manufacturer=American Power ConversionS:  Product=Back-UPS RS 1500 FW:8.g9 .D USB FW:g9 S:  SerialNumber=XXXXXXXXXXXX  C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=24mAI:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbfs⋮

Note that this lists the current driver, not the default one. There isn't a way to find the default one.

Method 2: Using debugfs (requires root)

If you have debugfs mounted, the kernel maintains a file in the same format asusb-devices prints out at /sys/kernel/debug/usb/devices; you can view withless, etc. Note that debugfs interfaces are not stable, so different kernel versions may print in a different format, or be missing the file entirely.

Once again, this only shows the current driver, not the default.


0 0
原创粉丝点击