Asus Xtion Pro Live not working with OpenNI

I am trying to get my Asus Xtion Pro Live to work with OpenNI on the Jetson TK1.

This is what I have done to install OpenNI:

$chmod a+x install.sh
$sudo ./install.sh

And I have downloaded the libsfstdc++6 package as well and this is the error I get:

$ ./SimpleRead
Couldn’t open device
DeviceOpen using default: no devices found

When I did lsusb, my Asus Xtion Pro Live is there:

Bus 002 Device 002: ID 1d27:0601 ASUS
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 413c:0601 Dell Computer Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I am not sure what’s happening so please advise me where I have gone wrong. Much thanks in advance.

The USB hot plug layer sees the hardware. It’s up to kernel drivers/modules (upon hotplug pointing out that the hardware exists) to create any device interface, and it appears that SimpleRead is the program that reads the device interface. Probably missing the kernel driver, sure looks like no interface. Other issues are possible, but did you download an ARMv7 architecture version? x86 won’t work. Do they provide source code to recompile (which could be used on ARMv7)?

This is the source that I have downloaded OpenNI2: OpenNI 2 Downloads and Documentation | The Structure Sensor

And this is what I have installed: OpenNI 2.2.0.33 Beta (ARM)

Maybe you don’t have read (or write?) access to the usb device?

I often use the following command to check what it tries to open:

strace -f ./SimpleRead 2>&1 | grep open

Open should return a positive number on success and -1 on error.

It may print a lot of stuff still, so appending something like “| grep usb” may get rid of most of the noise.

If you find the device name, you can try adding RW access to everybody with chmod (and then create an udev rule to allow access also after a reboot).

Or just try with sudo without the strace hassle…

I have found the problem linuxdev. It’s like you have said, it must be a ARMv7 architecture version. So apparently the one they provided is a ARMv6. Thanks a lot for the help.

This matches Raspberry Pi, so perhaps it was built for this, or some older ARM board.