mirror of https://gitee.com/openkylin/linux.git
47 lines
1.8 KiB
Plaintext
47 lines
1.8 KiB
Plaintext
|
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).
|
||
|
|