About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / ABI / testing / sysfs-bus-pci-drivers-ehci_hcd

Custom Search

Based on kernel version 4.13.3. Page generated on 2017-09-23 13:54 EST.

1	What:		/sys/bus/pci/drivers/ehci_hcd/.../companion
2			/sys/bus/usb/devices/usbN/../companion
3	Date:		January 2007
4	KernelVersion:	2.6.21
5	Contact:	Alan Stern <stern@rowland.harvard.edu>
6	Description:
7			PCI-based EHCI USB controllers (i.e., high-speed USB-2.0
8			controllers) are often implemented along with a set of
9			"companion" full/low-speed USB-1.1 controllers.  When a
10			high-speed device is plugged in, the connection is routed
11			to the EHCI controller; when a full- or low-speed device
12			is plugged in, the connection is routed to the companion
13			controller.
15			Sometimes you want to force a high-speed device to connect
16			at full speed, which can be accomplished by forcing the
17			connection to be routed to the companion controller.
18			That's what this file does.  Writing a port number to the
19			file causes connections on that port to be routed to the
20			companion controller, and writing the negative of a port
21			number returns the port to normal operation.
23			For example: To force the high-speed device attached to
24			port 4 on bus 2 to run at full speed:
26				echo 4 >/sys/bus/usb/devices/usb2/../companion
28			To return the port to high-speed operation:
30				echo -4 >/sys/bus/usb/devices/usb2/../companion
32			Reading the file gives the list of ports currently forced
33			to the companion controller.
35			Note: Some EHCI controllers do not have companions; they
36			may contain an internal "transaction translator" or they
37			may be attached directly to a "rate-matching hub".  This
38			mechanism will not work with such controllers.  Also, it
39			cannot be used to force a port on a high-speed hub to
40			connect at full speed.
42			Note: When this file was first added, it appeared in a
43			different sysfs directory.  The location given above is
44			correct for 2.6.35 (and probably several earlier kernel
45			versions as well).
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.