-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
USB: document ehci-hcd's "companion" sysfs attribute
This patch (as1484) adds documentation for ehci-hcd's "companion" sysfs attribute, which was added to the kernel over four years ago but never documented. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- Loading branch information
Alan Stern
authored and
Greg Kroah-Hartman
committed
Sep 18, 2011
1 parent
073b854
commit 25aa554
Showing
1 changed file
with
46 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
What: /sys/bus/pci/drivers/ehci_hcd/.../companion | ||
/sys/bus/usb/devices/usbN/../companion | ||
Date: January 2007 | ||
KernelVersion: 2.6.21 | ||
Contact: Alan Stern <stern@rowland.harvard.edu> | ||
Description: | ||
PCI-based EHCI USB controllers (i.e., high-speed USB-2.0 | ||
controllers) are often implemented along with a set of | ||
"companion" full/low-speed USB-1.1 controllers. When a | ||
high-speed device is plugged in, the connection is routed | ||
to the EHCI controller; when a full- or low-speed device | ||
is plugged in, the connection is routed to the companion | ||
controller. | ||
|
||
Sometimes you want to force a high-speed device to connect | ||
at full speed, which can be accomplished by forcing the | ||
connection to be routed to the companion controller. | ||
That's what this file does. Writing a port number to the | ||
file causes connections on that port to be routed to the | ||
companion controller, and writing the negative of a port | ||
number returns the port to normal operation. | ||
|
||
For example: To force the high-speed device attached to | ||
port 4 on bus 2 to run at full speed: | ||
|
||
echo 4 >/sys/bus/usb/devices/usb2/../companion | ||
|
||
To return the port to high-speed operation: | ||
|
||
echo -4 >/sys/bus/usb/devices/usb2/../companion | ||
|
||
Reading the file gives the list of ports currently forced | ||
to the companion controller. | ||
|
||
Note: Some EHCI controllers do not have companions; they | ||
may contain an internal "transaction translator" or they | ||
may be attached directly to a "rate-matching hub". This | ||
mechanism will not work with such controllers. Also, it | ||
cannot be used to force a port on a high-speed hub to | ||
connect at full speed. | ||
|
||
Note: When this file was first added, it appeared in a | ||
different sysfs directory. The location given above is | ||
correct for 2.6.35 (and probably several earlier kernel | ||
versions as well). | ||
|