USB Q&A


Q1:如何配置usb2.0的host,使usb支持u盘和鼠标?

编译kernel时打开选项:make menuconfig:

Device Drivers --->

   [*] USB support --->

    <M> Support for Host-side USB

    <M> EHCI HCD (USB2.0) USB

      [*] Root Hub Transaction Translators

      [*] Improved Transaction Translator scheduing

      <M> USB Mass Storage support

在kernel/modules/生成的驱动按insmod顺序如下表:

Module Name Sequence Module Name Sequence
usbcore.ko 1 ehci-hcd.ko 2
scsi_mod.ko built-in sd_mod.ko built-in
usb-storage.ko 3

将U盘插入到板端的HOST口,可以识别到U盘。并且可以在/dev/看到sda设备节点。运行mount /dev/sda /tmp后可以对U盘进行读写。

如果要支持识别HID设备,还需要配如下config:

Device Drivers --->

    [*] HID support --->

        USB HID support  --->

            <M> USB HID transport layer

生成usbhid.ko,insmod usbhid.ko 板端的USB HOST就能识别到HID设备比如鼠标,键盘。

在insmod 时,需要按照顺序进行insmod,顺序如下:

usb-common.ko (必须要先insmod,否则下面的ko会insmod失败)

usbcore.ko

ehci-hcd.ko

usb-storage.ko

usbhid.ko