如何查看哪个设备使用哪个内核模块?

And*_*aKo 3 linux gentoo 64-bit mobile-phone ubuntu-10.04

我有一部三星手机 GT-B3210。有一段时间我无法找到适用于它的 Windows 驱动程序。我最终放弃了寻找。然后有一次我通过 USB 端口为手机充电并启动了 Ubuntu,当我在桌面上看到手机的 SD 读卡器时感到惊喜。

我现在需要切换到 Gentoo 并希望能够在那里使用手机。Lsusb 告诉我它被检测为
Bus 007 Device 006: ID 04e8:663f Samsung Electronics Co., Ltd SGH-E720/SGH-E840

但 lsmod 不是很有帮助。在加载的模块列表中,我找不到与手机相关的模块。

有没有其他方法可以查看电话使用了哪个模块?

Ign*_*ams 5

USB 设备应显示/sys/bus/usb/devices为多个以7-6或类似开头的条目。driver目录中的链接指向的位置将是绑定到设备的模块的名称。

  • 不要*跟随*链接,只需显示它们的目的地,例如`ls -l driver`。 (2认同)

小智 5

我发现lsusb在这种情况下使用起来更容易、更快。示例输出如下:

 $ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
...
Run Code Online (Sandbox Code Playgroud)

如果不使用驱动程序,该行将如下所示(我的示例中的设备是一个相机,我已从内核中删除了该相机的驱动程序):

    |__ Port 6: Dev 4, If 1, Class=Video, Driver=, 480M
Run Code Online (Sandbox Code Playgroud)