My Primesense RD1.09 cameras were having lots of trouble working under Linux. They had no problems working under Windows.
One of the suggestions I found online was to update their firmware. Note that the firmware update can only be done from a Windows computer. I followed these steps to update:
Remove all OpenNI 1.x or 2.x SDK installed on Windows.
Remove the driver for Primesense camera as described here.
Install the latest OpenNI 2.x SDK by downloading it from here.
Plug in the Primesense camera and ensure that it is detected in Device Manager. Strangely my camera is detected as a Primesense 1.08x device! I have no idea why this happens.
Get the firmware update software from here. There are two versions of firmware, which one to pick? See below.
Unzip the firmware and run the EXE file. It should change some settings and show a SUCCESS in the console. If you get a FAILURE, then make sure you followed the OpenNI removal and driver removal steps above.
Which firmware version to pick? There are two versions: one for
RD108 and another for
RD109 devices. My camera says
RD1.09 on the back, but shows up in Windows as a
1.08x device! Which version of firmware should I use? I tried both and here is my experience. When I used
RD109 firmware, the camera would give this error on Linux:
One or more of the following nodes could not be enumerated: Device: PrimeSense/SensorV2/18.104.22.168: The device is not connected!
I went back and tried the
RD108 firmware and the camera worked under Linux after that 😊
Tried with: OpenNI 22.214.171.124 and Windows 7 x64