ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Our lab has two separate Asus Xtion Pro Live devices both ordered from the same NewEgg part number, and both with the same part number listed on the side of the box. However, looking in the lenses of the projector, it is clear that they are two different versions of the device. The old one works in fuerte, groovy, and hydro on several different USB ports on several different computers. The new one gives the same error you get on all ports/computers/ROS versions that we have tried.
NEW VERSION:
OLD VERSION:
Notice the "square" shape of the internals of the left lense on the new version.
sudo apt-get install --reinstall libopenni-sensor-primesense0
allows the Kinects to work again.There might be other ways to fix this problem, but I really haven't dug into it much.
2 | No.2 Revision |
Our lab has two separate Asus Xtion Pro Live devices both ordered from the same NewEgg part number, and both with the same part number listed on the side of the box. However, looking in the lenses of the projector, it is clear that they are two different versions of the device. The old one works in fuerte, groovy, and hydro on several different USB ports on several different computers. The new one gives the same error you get on all ports/computers/ROS versions that we have tried.
NEW VERSION:
OLD VERSION:
Notice the "square" shape of the internals of the left lense on the new version.
sudo apt-get install --reinstall libopenni-sensor-primesense0
allows the Kinects to work again.There might be other ways to fix this problem, but I really haven't dug into it much.
EDIT
Just to provide a bit more info, the old sensor has an idProduct value of 0x600 in lsusb and the new one has an idProduct of 0x601.
3 | No.3 Revision |
Our lab has two separate Asus Xtion Pro Live devices both ordered from the same NewEgg part number, and both with the same part number listed on the side of the box. However, looking in the lenses of the projector, it is clear that they are two different versions of the device. The old one works in fuerte, groovy, and hydro on several different USB ports on several different computers. The new one gives the same error you get on all ports/computers/ROS versions that we have tried.
NEW VERSION:
OLD VERSION:
Notice the "square" shape of the internals of the left lense on the new version.
sudo apt-get install --reinstall libopenni-sensor-primesense0
allows the Kinects to work again.There might be other ways to fix this problem, but I really haven't dug into it much.
EDIT
Just to provide a bit more info, the old sensor has an idProduct value of 0x600 in lsusb and the new one has an idProduct of 0x601.
EDIT 2
Our lab just bought 2 new Xtions from NewEgg, and we spent an entire day trying to come up with a single set of drivers that would allow collection of data off both 0x600 and 0x601 Xtions and 0x02ae Kinects. Additionally we wanted the openni_tracker to work as well. We tried compiling many different forks of the original Primesense/Sensor repo, each with different versions of NITE and the OpenNI SDK installed. Just for reference, we spent the most time with the following repositories:
libopenni0 - 1.5.4.0-4+precise1
openni_tracker
working. So do one of the following:Install NITE v1.5.2.21
Install both NITE 1.5.2.23, and OpenNI SDK v1.5.7.10
I'm not 100% positive this step is necessary, but the udev rules that ship with the apt-get packages seem to be leaving out some devices. So we created a new file called /etc/udev/rules.d/primesense-usb.rules
. I'll put its contents at the bottom of this answer. They can also be found at this pastebin.
Following cues from this answers.ros.org page and @hfb below, we edited the /etc/openni/GlobalDefaults.ini
. We set UsbInterface=0
, and that's it. Suddenly both Asus devices, and the Kinect devices started working on 3 separate computers with Fuerte, Groovy and Hydro. All computers were on 12.04, and all devices were on USB 2.0 ports.
I realize that step 2 has multiple packages that may be hard to come by now that Primesense/OpenNI sites are gone (message me if you need copies of any old OpenNI/NITE/SensorDriver packages). Perhaps we can get structure.io to host some legacy versions as well as OpenNI2.
Contents of /etc/udev/rules.d/primesense-usb.rules:
# Make primesense device mount with writing permissions (default is read only for unknown devices)
SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1250", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1260", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1270", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1290", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
#--avin mod--
# Kinect
SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
4 | No.4 Revision |
Our lab has two separate Asus Xtion Pro Live devices both ordered from the same NewEgg part number, and both with the same part number listed on the side of the box. However, looking in the lenses of the projector, it is clear that they are two different versions of the device. The old one works in fuerte, groovy, and hydro on several different USB ports on several different computers. The new one gives the same error you get on all ports/computers/ROS versions that we have tried.
NEW VERSION:
OLD VERSION:
Notice the "square" shape of the internals of the left lense on the new version.
sudo apt-get install --reinstall libopenni-sensor-primesense0
allows the Kinects to work again.There might be other ways to fix this problem, but I really haven't dug into it much.
EDIT
Just to provide a bit more info, the old sensor has an idProduct value of 0x600 in lsusb and the new one has an idProduct of 0x601.
EDIT 2
Our lab just bought 2 new Xtions from NewEgg, and we spent an entire day trying to come up with a single set of drivers that would allow collection of data off both 0x600 and 0x601 Xtions and 0x02ae Kinects. Additionally we wanted the openni_tracker to work as well. We tried compiling many different forks of the original Primesense/Sensor repo, each with different versions of NITE and the OpenNI SDK installed. Just for reference, we spent the most time with the following repositories:
libopenni0 - 1.5.4.0-4+precise1
openni_tracker
working. So do one of the following:Install NITE v1.5.2.21
Install both NITE 1.5.2.23, and OpenNI SDK v1.5.7.10
I'm not 100% positive this step is necessary, but the udev rules that ship with the apt-get packages seem to be leaving out some devices. So we created a new file called /etc/udev/rules.d/primesense-usb.rules
. I'll put its contents at the bottom of this answer. They can also be found at this pastebin.
Following cues from this answers.ros.org page and @hfb below, we edited the /etc/openni/GlobalDefaults.ini
. We set UsbInterface=0
, and that's it. Suddenly both Asus devices, and the Kinect devices started working on 3 separate computers with Fuerte, Groovy and Hydro. All computers were on 12.04, and all devices were on USB 2.0 ports.
I realize that step 2 has multiple packages that may be hard to come by now that Primesense/OpenNI sites are gone (message me if you need copies of any old OpenNI/NITE/SensorDriver packages). Perhaps we can get structure.io to host some legacy versions as well as OpenNI2.
Contents of /etc/udev/rules.d/primesense-usb.rules:
# Make primesense device mount with writing permissions (default is read only for unknown devices)
SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1250", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1260", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1270", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1290", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
#--avin mod--
# Kinect
SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
5 | No.5 Revision |
Our lab has two separate Asus Xtion Pro Live devices both ordered from the same NewEgg part number, and both with the same part number listed on the side of the box. However, looking in the lenses of the projector, it is clear that they are two different versions of the device. The old one works in fuerte, groovy, and hydro on several different USB ports on several different computers. The new one gives the same error you get on all ports/computers/ROS versions that we have tried.
NEW VERSION:
OLD VERSION:
Notice the "square" shape of the internals of the left lense on the new version.
sudo apt-get install --reinstall libopenni-sensor-primesense0
allows the Kinects to work again.There might be other ways to fix this problem, but I really haven't dug into it much.
EDIT
Just to provide a bit more info, the old sensor has an idProduct value of 0x600 in lsusb and the new one has an idProduct of 0x601.
EDIT 2
Our lab just bought 2 new Xtions from NewEgg, and we spent an entire day trying to come up with a single set of drivers that would allow collection of data off both 0x600 and 0x601 Xtions and 0x02ae Kinects. Additionally we wanted the openni_tracker to work as well. We tried compiling many different forks of the original Primesense/Sensor repo, each with different versions of NITE and the OpenNI SDK installed. Just for reference, we spent the most time with the following repositories:
5.1.0.41-2+precise1
openni_tracker
working. So do one of the following:I'm not 100% positive this step is necessary, but the udev rules that ship with the apt-get packages seem to be leaving out some devices. So we created a new file called /etc/udev/rules.d/primesense-usb.rules
. I'll put its contents at the bottom of this answer. They can also be found at this pastebin.
Following cues from this answers.ros.org page and @hfb below, we edited the /etc/openni/GlobalDefaults.ini
. We set UsbInterface=0
, and that's it. Suddenly both Asus devices, and the Kinect devices started working on 3 separate computers with Fuerte, Groovy and Hydro. All computers were on 12.04, and all devices were on USB 2.0 ports.
I realize that step 2 has multiple packages that may be hard to come by now that Primesense/OpenNI sites are gone (message me if you need copies of any old OpenNI/NITE/SensorDriver packages). Perhaps we can get structure.io to host some legacy versions as well as OpenNI2.
Contents of /etc/udev/rules.d/primesense-usb.rules:
# Make primesense device mount with writing permissions (default is read only for unknown devices)
SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1250", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1260", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1270", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1290", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
#--avin mod--
# Kinect
SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
6 | No.6 Revision |
Our lab has two separate Asus Xtion Pro Live devices both ordered from the same NewEgg part number, and both with the same part number listed on the side of the box. However, looking in the lenses of the projector, it is clear that they are two different versions of the device. The old one works in fuerte, groovy, and hydro on several different USB ports on several different computers. The new one gives the same error you get on all ports/computers/ROS versions that we have tried.
NEW VERSION:
OLD VERSION:
Notice the "square" shape of the internals of the left lense on the new version.
sudo apt-get install --reinstall libopenni-sensor-primesense0
allows the Kinects to work again.There might be other ways to fix this problem, but I really haven't dug into it much.
EDIT
Just to provide a bit more info, the old sensor has an idProduct value of 0x600 in lsusb and the new one has an idProduct of 0x601.
EDIT 2
Our lab just bought 2 new Xtions from NewEgg, and we spent an entire day trying to come up with a single set of drivers that would allow collection of data off both 0x600 and 0x601 Xtions and 0x02ae Kinects. Additionally we wanted the openni_tracker to work as well. We tried compiling many different forks of the original Primesense/Sensor repo, each with different versions of NITE and the OpenNI SDK installed. Just for reference, we spent the most time with the following repositories:
libopenni-dev -
1.5.4.0-4+precise11.5.4.0-4+precise1 libopenni-nite-dev - 1.3.1.5~precise
libopenni-sensor-primesense-dev - 5.1.0.41-2+precise1
libopenni-sensor-primesense0 - 5.1.0.41-2+precise1
libopenni0 - 1.5.4.0-4+precise1
Then as mentioned on this page, you must change to a different NITE version to get openni_tracker
working. So do one of the following:
Install NITE
I'm not 100% positive this step is necessary, but the udev rules that ship with the apt-get packages seem to be leaving out some devices. So we created a new file called /etc/udev/rules.d/primesense-usb.rules
. I'll put its contents at the bottom of this answer. They can also be found at this pastebin.
Following cues from this answers.ros.org page and @hfb below, we edited the /etc/openni/GlobalDefaults.ini
. We set UsbInterface=0
, and that's it. Suddenly both Asus devices, and the Kinect devices started working on 3 separate computers with Fuerte, Groovy and Hydro. All computers were on 12.04, and all devices were on USB 2.0 ports.
I realize that step 2 has multiple packages that may be hard to come by now that Primesense/OpenNI sites are gone (message me if you need copies of any old OpenNI/NITE/SensorDriver packages). Perhaps we can get structure.io to host some legacy versions as well as OpenNI2.
Contents of /etc/udev/rules.d/primesense-usb.rules:
# Make primesense device mount with writing permissions (default is read only for unknown devices)
SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1250", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1260", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1270", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1290", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
#--avin mod--
# Kinect
SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
7 | No.7 Revision |
Our lab has two separate Asus Xtion Pro Live devices both ordered from the same NewEgg part number, and both with the same part number listed on the side of the box. However, looking in the lenses of the projector, it is clear that they are two different versions of the device. The old one works in fuerte, groovy, and hydro on several different USB ports on several different computers. The new one gives the same error you get on all ports/computers/ROS versions that we have tried.
NEW VERSION:
OLD VERSION:
Notice the "square" shape of the internals of the left lense on the new version.
sudo apt-get install --reinstall libopenni-sensor-primesense0
allows the Kinects to work again.There might be other ways to fix this problem, but I really haven't dug into it much.
EDIT
Just to provide a bit more info, the old sensor has an idProduct value of 0x600 in lsusb and the new one has an idProduct of 0x601.
EDIT 2
Our lab just bought 2 new Xtions from NewEgg, and we spent an entire day trying to come up with a single set of drivers that would allow collection of data off both 0x600 and 0x601 Xtions and 0x02ae Kinects. Additionally we wanted the openni_tracker to work as well. We tried compiling many different forks of the original Primesense/Sensor repo, each with different versions of NITE and the OpenNI SDK installed. Just for reference, we spent the most time with the following repositories:
libopenni-dev - 1.5.4.0-4+precise1 libopenni-nite-dev - 1.3.1.5~precise
libopenni-sensor-primesense-dev - 5.1.0.41-2+precise1
libopenni-sensor-primesense0 - 5.1.0.41-2+precise1
libopenni0 - 1.5.4.0-4+precise1
Then as mentioned on this page, you must change to a different NITE version to get openni_tracker
working. So do one of the following:
Install NITE v1.5.2.21 Install both NITE 1.5.2.23, and OpenNI SDK v1.5.7.10
I'm not 100% positive this step is necessary, but the udev rules that ship with the apt-get packages seem to be leaving out some devices. So we created a new file called /etc/udev/rules.d/primesense-usb.rules
. I'll put its contents at the bottom of this answer. They can also be found at this pastebin.
Following cues from this answers.ros.org page and @hfb below, we edited the /etc/openni/GlobalDefaults.ini
. We set UsbInterface=0
, and that's it. Suddenly both Asus devices, and the Kinect devices started working on 3 separate computers with Fuerte, Groovy and Hydro. All computers were on 12.04, and all devices were on USB 2.0 ports.
I realize that step 2 has multiple packages that may be hard to come by now that Primesense/OpenNI sites are gone (message me if you need copies of any old OpenNI/NITE/SensorDriver packages). Perhaps we can get structure.io to host some legacy versions as well as OpenNI2.
Contents of /etc/udev/rules.d/primesense-usb.rules:
# Make primesense device mount with writing permissions (default is read only for unknown devices)
SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1250", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1260", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1270", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1290", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
#--avin mod--
# Kinect
SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
8 | No.8 Revision |
Our lab has two separate Asus Xtion Pro Live devices both ordered from the same NewEgg part number, and both with the same part number listed on the side of the box. However, looking in the lenses of the projector, it is clear that they are two different versions of the device. The old one works in fuerte, groovy, and hydro on several different USB ports on several different computers. The new one gives the same error you get on all ports/computers/ROS versions that we have tried.
NEW VERSION:
OLD VERSION:
Notice the "square" shape of the internals of the left lense on the new version.
sudo apt-get install --reinstall libopenni-sensor-primesense0
allows the Kinects to work again.There might be other ways to fix this problem, but I really haven't dug into it much.
EDIT
Just to provide a bit more info, the old sensor has an idProduct value of 0x600 in lsusb and the new one has an idProduct of 0x601.
EDIT 2
Our lab just bought 2 new Xtions from NewEgg, and we spent an entire day trying to come up with a single set of drivers that would allow collection of data off both 0x600 and 0x601 Xtions and 0x02ae Kinects. Additionally we wanted the openni_tracker to work as well. We tried compiling many different forks of the original Primesense/Sensor repo, each with different versions of NITE and the OpenNI SDK installed. Just for reference, we spent the most time with the following repositories:
- libopenni-dev
- 1.5.4.0-4+precise1~ 1.5.4.0-4+precise1- libopenni-nite-dev
- 1.3.1.5~precise~ 1.3.1.5~precise
- libopenni-sensor-primesense-dev
- 5.1.0.41-2+precise1~ 5.1.0.41-2+precise1
- libopenni-sensor-primesense0
- 5.1.0.41-2+precise1~ 5.1.0.41-2+precise1
- libopenni0
-~ 1.5.4.0-4+precise1
Then as mentioned on this page, you must change to a different NITE version to get openni_tracker
working. So do one of the following:
I'm not 100% positive this step is necessary, but the udev rules that ship with the apt-get packages seem to be leaving out some devices. So we created a new file called /etc/udev/rules.d/primesense-usb.rules
. I'll put its contents at the bottom of this answer. They can also be found at this pastebin.
Following cues from this answers.ros.org page and @hfb below, we edited the /etc/openni/GlobalDefaults.ini
. We set UsbInterface=0
, and that's it. Suddenly both Asus devices, and the Kinect devices started working on 3 separate computers with Fuerte, Groovy and Hydro. All computers were on 12.04, and all devices were on USB 2.0 ports.
I realize that step 2 has multiple packages that may be hard to come by now that Primesense/OpenNI sites are gone (message me if you need copies of any old OpenNI/NITE/SensorDriver packages). Perhaps we can get structure.io to host some legacy versions as well as OpenNI2.
Contents of /etc/udev/rules.d/primesense-usb.rules:
# Make primesense device mount with writing permissions (default is read only for unknown devices)
SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1250", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1260", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1270", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1290", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
#--avin mod--
# Kinect
SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
9 | No.9 Revision |
Our lab has two separate Asus Xtion Pro Live devices both ordered from the same NewEgg part number, and both with the same part number listed on the side of the box. However, looking in the lenses of the projector, it is clear that they are two different versions of the device. The old one works in fuerte, groovy, and hydro on several different USB ports on several different computers. The new one gives the same error you get on all ports/computers/ROS versions that we have tried.
NEW VERSION:
OLD VERSION:
Notice the "square" shape of the internals of the left lense on the new version.
sudo apt-get install --reinstall libopenni-sensor-primesense0
allows the Kinects to work again.There might be other ways to fix this problem, but I really haven't dug into it much.
EDIT
Just to provide a bit more info, the old sensor has an idProduct value of 0x600 in lsusb and the new one has an idProduct of 0x601.
EDIT 2
Our lab just bought 2 new Xtions from NewEgg, and we spent an entire day trying to come up with a single set of drivers that would allow collection of data off both 0x600 and 0x601 Xtions and 0x02ae Kinects. Additionally we wanted the openni_tracker to work as well. We tried compiling many different forks of the original Primesense/Sensor repo, each with different versions of NITE and the OpenNI SDK installed. Just for reference, we spent the most time with the following repositories:
Install drivers and OpenNI packages from apt-get. Gave following versions:
Then as mentioned on this page, you must change to a different NITE version to get openni_tracker
working. So do one of the following:
I'm not 100% positive this step is necessary, but the udev rules that ship with the apt-get packages seem to be leaving out some devices. So we created a new file called /etc/udev/rules.d/primesense-usb.rules
. I'll put its contents at the bottom of this answer. They can also be found at this pastebin.
Following cues from this answers.ros.org page and @hfb below, we edited the /etc/openni/GlobalDefaults.ini
. We set UsbInterface=0
, and that's it. Suddenly both Asus devices, and the Kinect devices started working on 3 separate computers with Fuerte, Groovy and Hydro. All computers were on 12.04, and all devices were on USB 2.0 ports.
I realize that step 2 has multiple packages that may be hard to come by now that Primesense/OpenNI sites are gone (message me if you need copies of any old OpenNI/NITE/SensorDriver packages). Perhaps we can get structure.io to host some legacy versions as well as OpenNI2.
Contents of /etc/udev/rules.d/primesense-usb.rules:
# Make primesense device mount with writing permissions (default is read only for unknown devices)
SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1250", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1260", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1270", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1290", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
#--avin mod--
# Kinect
SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"