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

Revision history [back]

In my experience, there can be several different reasons why the Kinect would not start. First would be that there are still processes running that did not shutdown properly. Try using a command like ps aux |grep Xn to see if there are any processes running that may prevent a startup. If so, use kill -9 [PID] to kill them. (I don't think this is your problem, but I'm putting it here for completeness.

Sometimes there I experience problems with the Linux USB hotplugging module. Unplugging the Kinect from the computer and then running the command sudo service udev reload will often allow the Kinect to start. I have had to run this command so many times that I have an alias bound for it.

Recently on one of the computers in our lab (none of the others), we were getting the same error that you were when we tried to launch the Kinect. Looking at dmesg revealed that ehci_hcd kernel support was having fatal errors. In newer versions of linux kernels, this is not a module, but rather part of the main kernel. So I wrote a bash script that looks like

echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind

gave it executable permissions, and put it on the PATH. When we were getting your error, this script fixed the problem. Note that your device numbers (xxxx:xx:xx.x) may be slightly different. I think you can find your device numbers in /sys/bus/usb/devices/

In my experience, there can be several different reasons why the Kinect would not start. First would be that there are still processes running that did not shutdown properly. Try using a command like ps aux |grep Xn to see if there are any processes running that may prevent a startup. If so, use kill -9 [PID] to kill them. (I don't think this is your problem, but I'm putting it here for completeness.

Sometimes there I experience problems with the Linux USB hotplugging module. Unplugging the Kinect from the computer and then running the command sudo service udev reload will often allow the Kinect to start. I have had to run this command so many times that I have an alias bound for it.

Recently on one of the computers in our lab (none of the others), we were getting the same error that you were when we tried to launch the Kinect. Looking at dmesg revealed that ehci_hcd kernel support was having fatal errors. In newer versions of linux kernels, this is not a module, but rather part of the main kernel. So I wrote a bash script that looks like

echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind

gave it executable permissions, and put it on the PATH. When we were getting your error, this script fixed the problem. Note that your device numbers (xxxx:xx:xx.x) may be slightly different. I think you can find your device numbers in /sys/bus/usb/devices/. You'll need to use sudo on the script.

In my experience, there can be several different reasons why the Kinect would not start. First would be that there are still processes running that did not shutdown properly. Try using a command like ps aux |grep Xn to see if there are any processes running that may prevent a startup. If so, use kill -9 [PID] to kill them. (I don't think this is your problem, but I'm putting it here for completeness. completeness.)

Sometimes I experience problems with the Linux USB hotplugging module. Unplugging the Kinect from the computer and then running the command sudo service udev reload will often allow the Kinect to start. I have had to run this command so many times that I have an alias bound for it.

Recently on one of the computers in our lab (none of the others), we were getting the same error that you were when we tried to launch the Kinect. Looking at dmesg revealed that ehci_hcd kernel support was having fatal errors. In newer versions of linux kernels, this is not a module, but rather part of the main kernel. So I wrote a bash script that looks like

echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind

gave it executable permissions, and put it on the PATH. When we were getting your error, this script fixed the problem. Note that your device numbers (xxxx:xx:xx.x) may be slightly different. I think you can find your device numbers in /sys/bus/usb/devices/. You'll need to use sudo on the script.