在 Linux 中,USB 驱动程序子系统负责管理 USB 设备与操作系统之间的通信。下面概述了 Linux 中 USB 驱动程序子系统的组件和功能:
-
USB 核心: USB 内核是 USB 驱动程序子系统的核心,它为 USB 通信提供了基本的基础设施。它负责设备检测、枚举和管理系统中连接的 USB 设备。
-
主机控制器驱动程序: 主机控制器驱动程序负责管理 USB 控制器硬件与系统其他部分之间的硬件接口。这些驱动程序因 USB 控制器的类型而异(例如,不同世代 USB 的 OHCI、UHCI、EHCI、xHCI),通常是 Linux 内核的一部分。
-
USB 类驱动程序: Linux 内置支持各种 USB 设备类,如 HID(人机接口设备)、大容量存储、音频和 CDC(通信设备类)。这些类驱动程序允许符合特定标准的 USB 设备开箱即用,无需自定义设备驱动程序。
-
USB 设备驱动程序: USB 设备驱动程序是内核模块或内核的一部分,负责管理特定的 USB 设备。每个 USB 设备都需要相应的设备驱动程序才能与设备通信。这些驱动程序处理配置设备、发送和接收数据以及处理设备特定操作等任务。
-
USB 小工具驱动程序: 小工具驱动程序能让 Linux 系统充当 USB 外围设备,从而模拟各种 USB 设备功能。小工具驱动程序是 USB 小工具框架的一部分,用于实现大容量存储、以太网、音频、HID(人机接口设备)等功能。
-
USB 文件系统(USBFS): USBFS 是一个虚拟文件系统,可像访问文件一样访问 USB 设备。它允许用户空间应用程序使用标准文件 I/O 操作与 USB 设备交互。USBFS 通常挂载在
/proc/bus/usb/
。 -
libusb