librealsense: "Failed to set power state" when multicam on NVIDIA Jetson TX2

Required Info
Camera Model D400
Firmware Version 05.12.03.00
Operating System & Version Ubuntu 18.04.4
Kernel Version (Linux Only) 4.9.140-tegra
Platform NVIDIA Jetson TX2
SDK Version 2.34.1
Language python
Segment others

Issue Description

I am trying to connect 3 D435 cameras to an NVIDIA Jetson TX2 platform via a USB3 hub. If only 1 camera is connected, everything works fine, but when I connect the second one (and the third one) and try to launch the rs-multicam example (or some other code involving multiple cameras), I get a “Failed to set power state” error.

It doesn’t seem to be related to the hub because it works fine on a Ubuntu 18.04 and 19.10 laptops. After lots of investigations, it also seems that this issue is not related to the hub nor the USB controller.

One easy way to reproduce is to connect 3 cameras and launch the realsense_device_manager.py script provided in the box dimensioner multicam python example.

Also, in realsense-viewer, if I try to open all Depth+RGB streams for the 3 cameras, some streams don’t recieve any frames. This does not happen when using a laptop.

Any help would be appreciated !

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 1
  • Comments: 44

Most upvoted comments

We’ve built Librealsense from source, but we already did it with CUDA support. This wasn’t the issue.

However, we managed to solve our problem by deactivating the USB auto-suspend in the usbcore parameters. It seemed to have some issues with the uvcvideo driver. By being careful in the order the cameras are plugged in the hub and by applying the workaround you mentioned earlier, everything works !

FYI, in our case, the cameras need to be plugged in the hub in decreasing order regarding the serial number (highest SN in port 1, lowest SN in port 3). Then the cameras can be activated in any order. If we change the plugging order or we don’t apply the workaround, we still get the failed to set power state error.