brintos

brintos / linux-shallow public Read only

0
0
Text · 1.8 KiB · c90d97a Raw
47 lines · plain
1What:		/sys/bus/pci/drivers/ehci_hcd/.../companion2		/sys/bus/usb/devices/usbN/../companion3Date:		January 20074KernelVersion:	2.6.215Contact:	Alan Stern <stern@rowland.harvard.edu>6Description:7		PCI-based EHCI USB controllers (i.e., high-speed USB-2.08		controllers) are often implemented along with a set of9		"companion" full/low-speed USB-1.1 controllers.  When a10		high-speed device is plugged in, the connection is routed11		to the EHCI controller; when a full- or low-speed device12		is plugged in, the connection is routed to the companion13		controller.14 15		Sometimes you want to force a high-speed device to connect16		at full speed, which can be accomplished by forcing the17		connection to be routed to the companion controller.18		That's what this file does.  Writing a port number to the19		file causes connections on that port to be routed to the20		companion controller, and writing the negative of a port21		number returns the port to normal operation.22 23		For example: To force the high-speed device attached to24		port 4 on bus 2 to run at full speed::25 26			echo 4 >/sys/bus/usb/devices/usb2/../companion27 28		To return the port to high-speed operation::29 30			echo -4 >/sys/bus/usb/devices/usb2/../companion31 32		Reading the file gives the list of ports currently forced33		to the companion controller.34 35		Note: Some EHCI controllers do not have companions; they36		may contain an internal "transaction translator" or they37		may be attached directly to a "rate-matching hub".  This38		mechanism will not work with such controllers.  Also, it39		cannot be used to force a port on a high-speed hub to40		connect at full speed.41 42		Note: When this file was first added, it appeared in a43		different sysfs directory.  The location given above is44		correct for 2.6.35 (and probably several earlier kernel45		versions as well).46 47