如何启用 linux 下的 usb 支持
要启用 Linux USB 支持,首先进入 "USB support" 节并启用 "Support for USB"
选项(对应模块为 usbcore.o )。尽管这个步骤相当直观明了, 但接下来的 Linux
USB 设置步骤则会让人感到糊涂。 特别地,现在需要选择用于系统的正确 USB
主控制器驱动程序。选项是 "EHCI" (对应模块为 ehci-hcd.o )、 "UHCI" (对
应模块为 usb-uhci.o )、 "UHCI (alternate driver)" 和"OHCI" (对应模块为
usb-ohci.o )。这是许多人对 Linux 的 USB 开始感到困惑的地方。
要理解 "EHCI" 及其同类是什么,首先要知道每块支持插入 USB 设备的主板或
PCI 卡都需要有 USB 主控制器芯片组。 这个特别的芯片组与插入系统的 USB
设备进行相互操作,并负责处理允许 USB 设备与系统其它部分通信所必需的所
有低层次细节。
Linux USB 驱动程序有三种不同的 USB 主控制器选项是因为在主板和 PCI
卡上有三种不同类型的 USB 芯片。 "EHCI" 驱动程序设计成为实现新的高速
USB 2.0 协议的芯片提供支持。 "OHCI" 驱动程序用来为非 PC 系统上的(以及
带有 SiS 和 ALi 芯片组的 PC 主板上的)USB 芯片提供支持。 "UHCI" 驱动程
序用来为大多数其它 PC 主板(包括 Intel 和 Via)上的 USB 实现提供支持。
只需选择与希望启用的 USB 支持的类型对应的 "?HCI" 驱动程序即可。如有疑
惑,为保险起见,可以启用 "EHCI" 、"UHCI" (两者中任选一种,它们之间没有
明显的区别)和"OHCI" 。( 赵明注:根据文档,EHCI 已经包含了 UHCI 和 OHCI ,
但目前就我个人的测试, 单独加 EHCI 是不行的, 通常我的做法是根据主板类型
加载 UHCI 或 OHCI 后,再加载 EHCI 这样才可以支持 USB2.0 设备)。
启用了 "USB support" 和适当的 "?HCI"USB 主控制器驱动程序后, 使 USB 启动
并运行只需再进行几个步骤。 应该启用 "Preliminary USB device filesystem" ,然
后确保启用所有特定于将与 Linux 一起使用的实际 USB 外围设备的驱动程
序。例如,为了启用对 USB 游戏控制器的支持,我启用了 "USB Human Interface
Device (full HID) support" 。我还启用了主 "Input core support" 节下的 "Input
core support" 和"Joystick support" 。
一旦用新的已启用 USB 的内核重新引导后,若 /proc/bus/usb 下没有相应 USB
设备信息,应输入以下命令将 USB 设备文件系统手动挂装到 /proc/bus/usb :
# mount -t usbdevfs none /proc/bus/usb
为了在系统引导时自动挂装 USB 设备文件系统,请将下面一行添加到
/etc/fstab 中的 /proc 挂装行之后:
none /proc/bus/usb usbdevfs defaults 0 0
模块的配置方法 .
在很多时候,我们的 USB 设备驱动并不包含在内核中。其实我们只要根据它所
需要使用的模块,逐一加载。就可以使它启作用。
首先要确保在内核编译时以模块方式选择了相应支持。这样我们就应该可以在
/lib/modules/2.4.XX 目录看到相应 .o 文件。在加载模块时,我们只需要运行
modprobe xxx.o 就可以了( modprobe 主要加载系统已经通过 depmod 登记过
的模块, insmod 一般是针对具体 .o 文件进行加载)
对应 USB 设备下面一些模块是关键的。
评论0
最新资源