Description of problem: openni and openni-primesense don't work with kinect Version-Release number of selected component (if applicable): openni-examples-1.3.2.1-0.2.gitf8467404.fc16.i686 openni-primesense-5.0.0.25-0.5.git894cea01.fc16.i686 openni-1.3.2.1-0.2.gitf8467404.fc16.i686 How reproducible: always Steps to Reproduce: 1. sudo yum install openni* --enablerepo=u*g 2. connect kinect 3. start NiSimpleViewer Actual results: $ NiSimpleViewer Open failed: Device Protocol: Bad Parameter sent! Expected results: Window opened with kinect images. Additional info: last time the rpms were working for me in F14 with openni-1.0.0 in F16 openni-1.0.0.25 gives the following result: $ NiSimpleViewer Open failed: Error! the device works with libfreenect
Works just fine here, but using x86_64 on F-14 and F-15. Do you have access to such a machine to test? Can you check if /var/lib/ni/modules.xml is not empty (should contain multiple lines, not just one). Upgrades might have brought a problem and I'm trying to solve this. Can you please also remove the openni packages and re-install them and test again, please.
Thank you for the quick reply. I only tried on i686 machines with similar results, but I will try installing F15 x64_64 soon. /var/lib/ni/modules.xml seems to be fine: $ cat /var/lib/ni/modules.xml <Modules> <Module path="/usr/lib/libnimMockNodes.so" /> <Module path="/usr/lib/libnimCodecs.so" /> <Module path="/usr/lib/libnimRecorder.so" /> <Module path="/usr/lib/libXnDeviceSensorV2.so" /> <Module path="/usr/lib/libXnDeviceFile.so" /> </Modules> although I'm not sure about the version of the registered modules: $ niReg -l 21 INFO OpenNI version is 1.3.2 (Build 1)-Linux-x86 (Oct 18 2011 09:53:00) 68 INFO Filter Info - minimum severity: ERROR, masks: NONE 76 INFO Filter Info - minimum severity: WARNING, masks: NONE 83 INFO Filter Info - minimum severity: WARNING, masks: ALL OpenNI version is 1.3.2.1. Registered modules: (compiled with OpenNI 1.3.2.1): Script: OpenNI/OpenNI/1.3.2.1 /usr/lib/libnimMockNodes.so (compiled with OpenNI 1.3.2.1): ProductionNode: OpenNI/Mock/1.3.2.1 Generator: OpenNI/Mock/1.3.2.1 MapGenerator: OpenNI/Mock/1.3.2.1 Device: OpenNI/Mock/1.3.2.1 Depth: OpenNI/Mock/1.3.2.1 IR: OpenNI/Mock/1.3.2.1 Image: OpenNI/Mock/1.3.2.1 Audio: OpenNI/Mock/1.3.2.1 /usr/lib/libnimCodecs.so (compiled with OpenNI 1.3.2.1): Codec: OpenNI/16zP/1.3.2.1 Codec: OpenNI/16zT/1.3.2.1 Codec: OpenNI/Im8z/1.3.2.1 Codec: OpenNI/JPEG/1.3.2.1 Codec: OpenNI/NONE/1.3.2.1 /usr/lib/libnimRecorder.so (compiled with OpenNI 1.3.2.1): Recorder: OpenNI/Recorder/1.3.2.1 Player: OpenNI/Player/1.3.2.1 /usr/lib/libXnDeviceSensorV2.so (compiled with OpenNI 1.0.0.25): Device: PrimeSense/SensorV2/5.0.0.25 Depth: PrimeSense/SensorV2/5.0.0.25 Image: PrimeSense/SensorV2/5.0.0.25 IR: PrimeSense/SensorV2/5.0.0.25 Audio: PrimeSense/SensorV2/5.0.0.25 /usr/lib/libXnDeviceFile.so (compiled with OpenNI 1.0.0.25): Player: PrimeSense/File/1.0.0.25 This shows that the sensor was compiled with an earlier OpenNI version which can cause problems, can't it? Also is PrimeSense sensor supposed to work with the kinect? I assume it is if it works for you, although it seemed to me that SensorKinect by avin2 is required for this.
I quickly tried with the F16 x86_64 live cd, and the result was the same. $ NiSimpleViewer Open failed: Device Protocol: Bad Parameter sent! removing/reinstalling on F16 i686 didn't help either unfortunately.
I'll try this tomorrow on a machine which has never seen the Kinect before to see if I can reproduce the problem there. The primesense packages contains the patches by Willow Garage (from ROS) which enable it to work with the Kinect. I have tried a newer version of the primesense package but that didn't work for me.
Thanks. Meanwhile I managed to compile the latest OpenNI from source, which works. OpenNI 1.3.4.6 unstable (b8a2e793) with the libusb_detach_kernel_driver patch by elpaquete from https://github.com/OpenNI/OpenNI/pull/34 avin2 SensorKinect 5.0.3.4 unstable (2d139677) from https://github.com/avin2/SensorKinect.git
I have checked this with a new Kinect on a new machine, it indeed fails. However, using the exact same OpenNI and primesense drivers works when running it with Fawkes (openni-enabled version not yet in the repos). I'll try the newer version you suggested next week. avin2 might be pushed by someone else who is working on a package and we aim at compatibility/coexistence of both, the original primesense and the akin2 driver in the system.
Thanks. I updated the rpm for the latest git version and made a koji scratch build for f15 and f16 that might help you. Please feel free to use it: https://koji.fedoraproject.org/koji/taskinfo?taskID=3518110 https://koji.fedoraproject.org/koji/taskinfo?taskID=3518106 I haven't found the avin2 sensorkinect driver package anywhere. I'm planning to make one based on your primesense driver. About Fawkes, does this mean that if i build Fawkes from source and install it kinect and openni will work in other applications?
I have tracked down the problem. It happens when registering the depth to the image data, i.e. if you set an alternate viewpoint such that the depth data is transformed into the camera's frame. We did not do this in Fawkes for a while since we worked on depth/point cloud data only. I will now try your package and issue an update if that works for my test cases. Have you created an avin2 package that is compatible with the primesense package (installable in parallel)?
Great! Yes, I built the avin2 rpm. You can find it here along with the openni srpm: http://kibu.hu/~gabor/rpms/
I have now a working combination of openni 1.3.2.1 and openni-primesense 5.0.3.3. Newer (stable and unstable) versions just break for me and produce no or broken output. These are the same versions currently used for ROS and the package contains some of their patches, so I'm pretty confident these versions are good. SSE needs to be disabled. Issuing updates shortly. Please test and provide karma. Happy holidays.
openni-primesense-5.0.3.3-1.fc15,openni-1.3.2.1-2.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/openni-primesense-5.0.3.3-1.fc15,openni-1.3.2.1-2.fc15
openni-primesense-5.0.3.3-1.fc16,openni-1.3.2.1-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/openni-primesense-5.0.3.3-1.fc16,openni-1.3.2.1-2.fc16
Package openni-primesense-5.0.3.3-1.fc16, openni-1.3.2.1-2.fc16: * should fix your issue, * was pushed to the Fedora 16 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing openni-primesense-5.0.3.3-1.fc16 openni-1.3.2.1-2.fc16' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2011-17404/openni-primesense-5.0.3.3-1.fc16,openni-1.3.2.1-2.fc16 then log in and leave karma (feedback).
openni-primesense-5.0.3.3-1.fc15, openni-1.3.2.1-2.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.
openni-primesense-5.0.3.3-1.fc16, openni-1.3.2.1-2.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
At last I had time to test openni 1.3.2.1 and primesense 5.0.3.3 and I'm happy to report that it works fine. Thank you!