Hi,
I just found this thread. I know it's a couple of month old... - but did you find a solution? I have the exact same problem. I also need to slow down a high speed device to full speed.
I managed to get the companion files to show up in sysfs. For that you disable the following kernel config option:
CONFIG_USB_EHCI_ROOT_HUB_TT.
By that you disable the Transaction Translator which normally handles full speed connections. It now falls back to companion file style.
Still I have no luck forcing the USB device (android phone) to use full speed only.
I have the following device connected:
usb 1-1.2.1: new high speed USB device using fsl-ehci and address 8
usb 1-1.2.1: New USB device found, idVendor=0bb4, idProduct=0cab
usb 1-1.2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1.2.1: Product: Android Phone
usb 1-1.2.1: Manufacturer: HTC
usb 1-1.2.1: SerialNumber: HT12STJ00146
usb 1-1.2.1: configuration #1 chosen from 1 choice
According to the article you mentioned this should force it to use the companion drivers:
# echo 1 > /sys/bus/usb/devices/usb1/../companion
# cat /sys/bus/usb/devices/usb1/../companion
1
But nothing happens....
Did you get any further??