Interfacing Kinect V1 with Jetson TX2

Hi, I’m trying to stream a video feed from Jetson TX2 to my base computer with a Kinect camera using Gstreamer. I tried to list all available video sources using
ls /dev/video*
on the jetson terminal. There was only one video source(video0) listed, which is the onboard camera.
Running lsusb shows the Kinect camera and motor as plugged in but the ls function does not list it as a video source. Any solutions to this?
Please help.
Thanks

Not sure but maybe you need extra driver for the USB camera. Need other users to share experience.

Be default the USB cameras support uvcvideo and can be enumerated successfully.

Hi DaneLLL, thanks for the reply. I thought it is an issue of uvcmodule not installed on my Jetson TX2. Running lsmod doesn’t list uvc. I have been trying unsuccessfully to install it. Kinect V1 pairs successfully with my personal laptop that has the uvc drivers installed. Would be grateful if you could provide me with link to install uvc drivers on my Jetson…
Thanks

Are you sure Kinect is UVC? It might need its own driver.

If you run “lsmod” it will list an ID. The ID will look similar to “0955:7c18” (which happens to be a recovery mode TX2, not a Kinect). If you want a verbose listing of USB information specific to that device, then the command goes like this (adjust “0955:7c18” to be whatever the Kinect really is):

sudo lsusb -d 0955:7c18 -vvv

Post that, we’ll know for sure if it is a standard video class or a custom class.

Hi linuxdev, thanks for your reply.
Running sudo lsusb -d 045e:02ae -vvv gives the following output:

Bus 001 Device 009: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x045e Microsoft Corp.
idProduct 0x02ae Xbox NUI Camera
bcdDevice 1.0b
iManufacturer 2 Microsoft
iProduct 1 Xbox NUI Camera
iSerial 3 A00365D00664143A
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 16mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0bc0 2x 960 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0bc0 2x 960 bytes
bInterval 1
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered

I am not clear on how this helps. Please advise on how to proceed.
Thanks.

The lsusb output shows this:

...
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol

Unfortunately, this is not a UVC device. It requires a vendor specific driver. This doesn’t mean such a driver does not exist, but it does mean you can’t use the generic UVC code.

I have not tried it, but you may try to install package freenect:

sudo apt-get install freenect