Some images offered on the OpenWrt download page, come with the basic USB support already included, if yours does not, this page will explain how to install USB support. The OPKG packages needed to obtain a very basic USB support under OpenWrt are the following (please read about the different host controller interfaces on Wikipedia):
|kmod-usb-core||74274||yes||Kernel support for USB.|
|kmod-usb-ohci||14935||specific||Kernel support for USB OHCI controllers. Alternative to uhci.|
|kmod-usb-uhci||14897||specific||Kernel support for USB UHCI controllers. Alternative to ohci.|
|kmod-usb2||24752||specific||Kernel support for USB2 (EHCI) controllers.|
|kmod-ledtrig-usbdev||3502||no||Kernel module to drive LEDs based on USB device presence/activity.|
|usbutils||187087||no|| USB devices listing utilities:
|kmod-leds-wndr3700-usb||2156||no||Kernel module for the USB LED on the Netgear WNDR3700 board only.|
By installing the correct kernel packages, your GNU/Linux system is able to address the bus. Now, depending on what you want to connect over the bus, you still need to install the drivers for that specific device. Please see "The USB Port: An Overview"
An USB 1.1 chips either has an UHC or an OHC interface. You need not be afraid of installing the wrong one, just check:
For USB 1.1, try installing the UHCI drivers first and test them:
opkg update opkg install kmod-usb-uhci insmod usbcore insmod uhci
If you see the message
uhci: No such device then your hardware is not an UHCI device. Remove the package and try installing the alternative OHCI.
opkg update opkg install kmod-usb-ohci insmod usb-ohci
If you see the message
usb-ohci: No such device then your hardware is not an OHCI device. Remove the package or try installing UHCI.
NOTE: Running Kernel 2.6.xx, you may need the kmod-usb2 module, even if you have only an USB 1.1 controller (this is the case for the Asus WL-500g router using Backfire brcm47xx)
Usually you can install both, uhci or ohci and usb2.
opkg update opkg install kmod-usb2 insmod ehci-hcd
If you see messages like
unresolved symbol usb_calc_bus_time try loading
usbcore and then try
opkg update insmod usbcore insmod ehci-hcd
So far (2011-02) there is no device supported by OpenWrt with USB 3.0.
| is this still needed? The
|If you still have problems with USB have a look at the unfixed USB bugs better bugs since last release|