Hi all,
I've been developing an OS X application using OpenNI that was working
great a few days ago. I was interfacing with OSCeleton which uses
OpenNI, and decided to get rid of OSCeleton since it was an
unnecessary middle man to what I was working on and started playing
with OpenNI directly. Initially I was having issues so I also
attempted to get libfreenect working but no luck there so I
uninstalled it from my system (I was using homebrew so it was easy to
remove) and returned to OpenNI. The green indicator on the Kinect IS
flashing.
However, now OpenNI is not working and always returns this error:
$ ./NiViewer
One or more of the following nodes could not be enumerated:
Device: PrimeSense/SensorKinect/
5.1.0.25: The device is not connected!
Device: PrimeSense/SensorV2/
5.1.0.25: The device is not connected!
Device: PrimeSense/SensorKinect/
5.1.0.25: The device is not connected!
Device: PrimeSense/SensorV2/
5.1.0.25: The device is not connected!
My system is configured with the following installed:
Mac OS X 10.6.8 (Intel)
SensorKinect091-Bin-MacOSX-v5.1.0.25.tar.bz2
openni-bin-dev-macosx-v1.5.2.23.tar.bz2
nite-bin-macosx-v1.5.2.21.tar.bz2
sensor-bin-macosx-v5.1.0.41.tar.bz2
I've also tried installing older versions of some of these to match
avin's recent github posting saying "Updated codebase to the latest
OpenNI / Sensor version (1.5.2.7 / 5.1.0.25), so I also tried
installing to no avail:
nite-bin-macosx-v1.5.2.7.tar.bz2, openni-bin-dev-macosx-
v1.5.2.7.tar.bz2, sensor-bin-macosx-v5.1.0.25.tar.bz2
I've verified that the Kinect works fine by connecting it to my Xbox
and can still use it properly, see my image on the Xbox, use gestures
and the microphone.
I've used Apple's USB Prober to ensure the device is connected
properly to the USB bus, here is the output:
Full Speed device @ 11
(0xFA133200): .............................................
Composite device: "Xbox NUI Motor"
Port Information: 0x0019
Captive
External Device
Connected
Enabled
Device Descriptor
Descriptor Version Number: 0x0200
Device Class: 0 (Composite)
Device Subclass: 0
Device Protocol: 0
Device MaxPacketSize: 64
Device VendorID/ProductID: 0x045E/0x02B0 (Microsoft
Corporation)
Device Version Number: 0x0107
Number of Configurations: 1
Manufacturer String: 1 "Microsoft"
Product String: 2 "Xbox NUI Motor"
Serial Number String: 0 (none)
Configuration Descriptor
Length (and contents): 18
Raw Descriptor (hex) 0000: 09 02 12 00 01 01 00 C0 32
09 04 00 00 00 FF 00
Raw Descriptor (hex) 0010: 00 00
Number of Interfaces: 1
Configuration Value: 1
Attributes: 0xC0 (self-powered)
MaxPower: 100 ma
Interface #0 - Vendor-specific
Alternate Setting 0
Number of Endpoints 0
Interface Class: 255 (Vendor-specific)
Interface Subclass; 0 (Vendor-specific)
Interface Protocol: 0
I've power cycled the Kinect and my computer many times, tried
different USB ports, ensured the Kinect works on Xbox, tried
installing the binaries from scratch, compiled sources and tried
installing those binaries, and also tried installing Zigfu to use the
binaries included in that (which is what I used originally to get
everything working.)
I've also ensured I don't have random openni/libusb libs laying
around:
$ find /usr | egrep -i 'libusb|openni'
/usr/include/libusb-1.0
/usr/include/libusb-1.0/libusb.h
/usr/include/ni/XnOpenNI.h
/usr/lib/libOpenNI.dylib
/usr/lib/libOpenNI.jni.dylib
/usr/lib/libusb-1.0.0.dylib
/usr/lib/libusb-1.0.a
/usr/lib/libusb-1.0.dylib
/usr/lib/
libusb-1.0.la
/usr/lib/libusb.a
/usr/lib/libusb.dylib
/usr/lib/
libusb.la
/usr/local/Library/Formula/libusb-compat.rb
/usr/local/Library/Formula/libusb-freenect.rb
/usr/local/Library/Formula/libusb.rb
/usr/share/java/org.OpenNI.jar
$
NOTE: Everything *was* working a few days ago using the binaries
included in Zigfu. Even reinstalling from Zigfu has not fixed this
problem. Any ideas?
Thanks