Linux kernel XHCI驱动程序和USB_存储驱动程序的使用

Linux kernel XHCI驱动程序和USB_存储驱动程序的使用,linux-kernel,usb,linux-device-driver,Linux Kernel,Usb,Linux Device Driver,我目前正在学习驱动程序编程。我正处于非常初级的阶段。我无法了解XHCI或EHCI或OHCI驱动程序和usb_存储的使用差异 当我插入usb设备(笔驱动器)并查看dmesg时,它表明我的设备正在使用ehci驱动程序,但当我rmmodusb存储时,我的设备停止工作 请澄清我对此的怀疑。有很多不同类型的USB设备的驱动程序,比如鼠标、键盘、摄像头等 现在,我假设XHCI驱动程序用于USB主机,其他驱动程序用于我们连接到USB主机的设备。我说的对吗?如果不对,请解释一下它的用途。提前感谢。查看以下链接

我目前正在学习驱动程序编程。我正处于非常初级的阶段。我无法了解XHCI或EHCI或OHCI驱动程序和usb_存储的使用差异

当我插入usb设备(笔驱动器)并查看
dmesg
时,它表明我的设备正在使用
ehci
驱动程序,但当我
rmmod
usb存储时,我的设备停止工作

请澄清我对此的怀疑。有很多不同类型的USB设备的驱动程序,比如鼠标、键盘、摄像头等


现在,我假设XHCI驱动程序用于USB主机,其他驱动程序用于我们连接到USB主机的设备。我说的对吗?如果不对,请解释一下它的用途。提前感谢。

查看以下链接

一,


2.

*HCI是USB主机的规格:

  • xhci-适用于usb 3.0
  • ehci-适用于usb 2.0
  • ohci,uhci-用于usb 1.x
usb_存储是工作在usb主机端的上层驱动程序,它只负责与usb存储设备通信,而不负责与键盘、鼠标等的通信

USB以堆栈的形式进行维护,*hci驱动程序是该堆栈中的最低级别。Usb存储和其他驱动程序位于该堆栈的更高级别