Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is it necessary to enable CONFIG_USB_OHCI_HCD on a system that has USB 2.0 port only ?

I'm not sure those devices present , e.g bluetooth , camera use that driver ?

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 001 Device 004: ID 0a5c:217f Broadcom Corp. Bluetooth Controller
Bus 001 Device 005: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)
Bus 001 Device 006: ID 046d:c058 Logitech, Inc. M115 Mouse
share|improve this question
up vote 3 down vote accepted

Yes, is is needed to have one of OHCI_HCD (Open Host Controller Interface) or UHCI_HCD (Universal Host Controller Driver) depending on your USB controller hardware.

The driver responsible for USB 2.0 communication is EHCI_HCD (Enhanced Host Controller Interface); but EHCI controllers are packaged with "companion" host controllers (OHCI or UHCI) to handle USB 1.1 devices connected to root hub ports. Ports will connect to EHCI if the device is high speed, otherwise they connect to a companion controller. If you configure EHCI, you should probably configure the OHCI (for NEC and some other vendors) USB Host Controller Driver or UHCI (for Via motherboards) Host Controller Driver too.

So, even if all your integrated USB peripherals are 2.0 (using EHCI), it is still needed to have a USB 1.1 driver (OHCI or UHCI) in case you attach a device that does not support High Speed.

You can see what controller type your attached devices are using, by running:

lspci -v

example output:

00:1a.0 USB Controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05) (**prog-if 20 [EHCI]**)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02) (**prog-if 20 [EHCI]**)
04:00.0 USB Controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller (**prog-if 30 [XHCI]**)

In the sample XHCI (Extensible Host Controller Interface) is the driver for USB 3.0 support.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.