Scroll to navigation

EHCI(4) Device Drivers Manual EHCI(4)

NAME

ehci
USB Enhanced Host Controller driver

SYNOPSIS

device ehci

DESCRIPTION

The ehci driver provides support for the USB Enhanced Host Controller Interface, which is used by USB 2.0 controllers.

EHCI controllers are peculiar in that they can only handle the USB 2.0 protocol. This means that they normally have one or more companion controllers (i.e., ohci(4) or uhci(4)) handling USB 1.x devices. Consequently each USB connector is electrically connected to two USB controllers. The handling of this is totally automatic, but can be noticed since USB 1.x and USB 2.0 devices plugged in to the same connector appear to connect to different USB buses.

LOADER TUNABLES

When the kernel has been compiled with options USB_DEBUG, some tunables become available that affect the behavior of ehci. These tunables can be set at the loader(8) prompt before booting the kernel or stored in loader.conf(5).
hw.usb.ehci.lostintrbug
This tunable enables the lost interrupt quirk. The default value is 0 (off).
hw.usb.ehci.iaadbug
This tunable enables the EHCI doorbell quirk. The default value is 0 (off).
hw.usb.ehci.no_hs
This tunable disables USB devices to attach like HIGH-speed ones and will force all attached devices to attach to the FULL- or LOW-speed companion controller. The default value is 0 (off).

SYSCTL VARIABLES

The following variables are available as both sysctl(8) variables and loader(8) tunables:
hw.usb.ehci.debug
Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0.

SEE ALSO

ohci(4), uhci(4), usb(4), xhci(4)

HISTORY

The ehci device driver first appeared in FreeBSD 5.1.
April 24, 2018 Linux 4.19.0-10-amd64