intel-aero / meta-intel-aero

Yocto layer to support Intel Aero platform
https://github.com/intel-aero/meta-intel-aero
GNU General Public License v2.0
218 stars 119 forks source link

Realsense D435 and Aero Compute Board #323

Open mgildner opened 6 years ago

mgildner commented 6 years ago
Required Info
Camera Model D435
Firmware Version 5.8.15.0
Operating System & Version Ubuntu 16.04
Kernel Version (Linux Only) 4.4.76-aero-1.2
Platform Intel Aero Compute
SDK Version 2.0

I followed these instructions https://github.com/intel-aero/meta-intel-aero/wiki/90-(References)-OS-user-Installation to install ubuntu on the compute board. I installed 16.04 with kernel version 4.4.

I then proceeded to try to install the Realsense 2.0 SDK. I tried installing via these instructions https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md. The installation completes but with errors related to the uvcvideo kernal patch. When I run the realsense-viewer I get dropped frame errors and no depth images. The stereo stream is the only one available. I am plugging in the realsense through a powered USB 3.0 Hub capable of 900ma per port.

I followed up trying to build from source. After uninstalling the previous packages, I proceeded to follow these instructions https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md. That completes but does not show an updates to uvcvideo when running sudo dmesg | tail -n. Same errors when I try to run realsense-viewer.

I am thinking the issue might be kernel patching issue since the aero-system package modifies the kernel as well. uname -r reports the modified 4.4 intel aero kernel.

At this time, is it possible to use the D400 series realsense modules with the aero compute board?

mgildner commented 6 years ago

After more investigation this appears to be a more general issue with all usb devices connected to the OTG port getting connected to USB Bus 1 which only supports USB2 devices. This is the case when using several different USB Superspeed OTG cables and a variety of USB 3.0 powered hubs. The hubs and all the cabling (besides the OTG cable) work for USB 3 devices on another windows machine. I was even able to connect 2x D435 devices and USB3 machine vision camera through the hubs and cables on the other machine successfully.

When using lsusb -t with just the OTG cable, it shows no devices connected to either Bus 1 (driver=xhci_hcd/7p 480m USB2) and Bus 2 (driver=xhci_hcd/6p 5000m USB3). When I run it with the hub connected, lususb -t it shows the hub and all devices plugged into it connected to Bus 1.

I think this might have something to do with the xhci settings in the BIOS. I have verified that the SSCI is enable in the BIOS and both SSCI busses are enabled.

This issue seems to be related to the issues discussed https://communities.intel.com/thread/112263 and https://github.com/IntelRealSense/librealsense/issues/914