12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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).
|