Re: How to assign a device to the companion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 17 Dec 2010, Alessio Sangalli wrote:

> Hi, where can I find some information on how to force a specific device 
> to the OHCI companion? Can I only force the entire bus to the companion 
> or can I choose a specific port on a hub? I am sorry for the relatively 
> stupid questions here but I have not found the correct piece of doc that 
> explains this.

Oddly enough, this doesn't appear to be anywhere in the kernel 
documentation.  Guess I never remembered to add it...

Anyway, you can force individual root-hub ports to be dedicated to the
companion controller by using sysfs.  For example, let's say you wanted
port 4 on bus 1 always to run at full or low speed.  You would do it
by:

	# echo 4 >/sys/bus/usb/devices/usb1/../companion

To resume normal operation, write "-4" instead of "4".  If you read the 
"companion" file, you'll see a list of all the ports that have been 
forced over to the companion controller.

There is no equivalent operation for ports on a USB hub.  The best you
can do is force the entire hub to run at full speed.

You can also force the entire high-speed bus over to the companion, by
unbinding the bus from the ehci-hcd driver.  To do this, you have to
find out the PCI pathname of the particular controller and write it to
the driver's "unbind" file.  For example:

	# cd -P /sys/bus/usb/devices/usb1/../
	# pwd
	/sys/devices/pci0000:00/0000:00:1d.7
	# cd driver
	# echo -n '0000:00:1d.7' >unbind

(The "-n" flag is necessary.)  To return to normal operation, write 
the pathname to the "bind" file.

Or you can get rid of all the high-speed buses simply by doing

	# rmmod ehci-hcd

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux