ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I found that the command

echo '1-1' > /sys/bus/usb/drivers/usb/unbind

works, but it needs to be repeated twice in a well timed way.

What works reliably for me is the following:

echo '1-1' > /sys/bus/usb/drivers/usb/unbind; sleep 2.5; echo '1-1' > /sys/bus/usb/drivers/usb/unbind

Note that the 2.5 second sleep is crucial - 2 seconds will not work (too fast), 3 seconds neither (too slow). This was so on both machines on which I tested this. It seems that the sweet spot is when the Kinect USB Hub is detected, but not yet any of the actual Kinect devices:

[ 3451.492033] usb 1-1: new high-speed USB device number 109 using ehci-pci
[ 3451.624348] usb 1-1: New USB device found, idVendor=0409, idProduct=005a
[ 3451.624351] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3451.624860] hub 1-1:1.0: USB hub found
[ 3451.624970] hub 1-1:1.0: 3 ports detected

When troubles finding the sweet spot, you can just "bruteforce" it, as follows:

for (( i=0 ; i < 10 ; i++)) ; do echo '1-1' > /sys/bus/usb/drivers/usb/unbind; sleep 0.5; done

Finally, to re-enable:

echo '1-1 > /sys/bus/usb/drivers/usb/bind

I found that the command

echo '1-1' > /sys/bus/usb/drivers/usb/unbind

works, but it needs to be repeated twice in a well timed way.

What works reliably for me is the following:

echo '1-1' > /sys/bus/usb/drivers/usb/unbind; sleep 2.5; echo '1-1' > /sys/bus/usb/drivers/usb/unbind

Note that the 2.5 second seconds sleep is crucial - 2 seconds will not work (too fast), 3 seconds neither (too slow). This was so on both machines on which I tested this. It seems that the sweet spot is when the Kinect USB Hub is detected, but not yet any of the actual Kinect devices:

[ 3451.492033] usb 1-1: new high-speed USB device number 109 using ehci-pci
[ 3451.624348] usb 1-1: New USB device found, idVendor=0409, idProduct=005a
[ 3451.624351] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3451.624860] hub 1-1:1.0: USB hub found
[ 3451.624970] hub 1-1:1.0: 3 ports detected

When troubles finding the sweet spot, you can just "bruteforce" it, as follows:

for (( i=0 ; i < 10 ; i++)) ; do echo '1-1' > /sys/bus/usb/drivers/usb/unbind; sleep 0.5; done

Finally, to re-enable:

echo '1-1 > /sys/bus/usb/drivers/usb/bind