Skip to content

Gemini 305 is detected by libusb on Jetson Orin NX but not matched by OrbbecSDK; USB descriptor shows only 1 interface #162

@Takuo6712

Description

@Takuo6712

dmesg_jetson_gemini305.txt
gemini305_lsusb_v_jetson.txt

## Describe the bug

Orbbec Gemini 305 is not detected by OrbbecSDK v2 on Jetson Orin NX.

The device appears in `lsusb` as `2bc5:0840 Orbbec Gemini 305`, and OrbbecSDK logs show that the USB device is found as `Orbbec Gemini 305 Depth Camera`.

However, OrbbecSDK does not match it as a valid device and reports:

```text
No matched usb device found!
Current found device(s): (0)

The same Gemini 305 works correctly on another Ubuntu PC, so the camera, firmware, and USB cable seem to be OK.

On Jetson, lsusb -v shows only one USB interface:

bNumInterfaces          1
bInterfaceNumber        0
bInterfaceClass        14 Video
iInterface              3 Orbbec Gemini 305 Depth Camera

The kernel log also shows:

config 1 has an invalid descriptor of length 0, skipping remainder of the config
config 1 has 1 interface, different from the descriptor's value: 8
Found UVC 1.50 device Orbbec Gemini 305 (2bc5:0840)
No valid video chain found.

This looks similar to issue #115, but in my case the USB descriptor itself seems to be incomplete on Jetson.

Reproduction Steps

  1. Flash Jetson Orin NX using NVIDIA SDK Manager.
  2. Install OrbbecSDK v2.8.6 arm64 package.
  3. Connect Orbbec Gemini 305 directly to Jetson USB port.
  4. Run:
lsusb
lsusb -t
sudo lsusb -v -d 2bc5:0840 | grep -E "bNumInterfaces|bInterfaceNumber|bInterfaceClass|iInterface"
sudo dmesg | grep -i -A10 -B10 "2bc5\|orbbec\|descriptor\|uvc"
sudo OrbbecViewer

Expected behavior

OrbbecSDK / OrbbecViewer should detect Gemini 305 as a valid device and allow depth/color streams to be opened.

Actual behavior

lsusb detects the camera:

Bus 002 Device 011: ID 2bc5:0840 Orbbec 3D Technology International, Inc Orbbec Gemini 305

lsusb -t shows it connected at SuperSpeed:

Class=Video, Driver=, 5000M

But lsusb -v shows only one interface:

bNumInterfaces          1
bInterfaceNumber        0
bInterfaceClass        14 Video
iInterface              3 Orbbec Gemini 305 Depth Camera

dmesg shows:

config 1 has an invalid descriptor of length 0, skipping remainder of the config
config 1 has 1 interface, different from the descriptor's value: 8
Found UVC 1.50 device Orbbec Gemini 305 (2bc5:0840)
No valid video chain found.

OrbbecSDK log:

Current usb device port list:
 - 2-1.3-4.0 | Orbbec Gemini 305 Depth Camera
No matched usb device found!
Current found device(s): (0)

Environment

Camera

  • Device: Orbbec Gemini 305
  • VID/PID: 2bc5:0840
  • Firmware: 1.0.70

Jetson

  • Device: Jetson Orin NX
  • OS: Ubuntu 22.04 flashed using NVIDIA SDK Manager
  • JetPack / L4T:
# R36 (release), REVISION: 5.0, GCID: 43688277, BOARD: generic, EABI: aarch64, DATE: Fri Jan 16 03:50:45 UTC 2026
# KERNEL_VARIANT: oot
  • Kernel:
Linux jetson-cleank 5.15.185-tegra #1 SMP PREEMPT Thu Jan 15 19:24:38 PST 2026 aarch64 aarch64 aarch64 GNU/Linux
  • nvidia-l4t-core:
nvidia-l4t-core 36.5.0-20260115194252 arm64

OrbbecSDK

  • OrbbecSDK version: v2.8.6
  • Package: arm64 .deb
  • Viewer: OrbbecViewer v2.8.6

Things already tested

  • Tested with sudo OrbbecViewer: same result.
  • Installed udev rules: same result.
  • Changed USB cable: same result.
  • Tested USB 3.0: same result.
  • Tested USB 2.0: same result.
  • Reflashed Jetson using NVIDIA SDK Manager: same result.
  • Confirmed Gemini 305 firmware is 1.0.70.
  • Tested the same Gemini 305 on another Ubuntu PC: works correctly.

Additional notes

The OrbbecSDK package appears to contain Gemini 305 definitions. For example, 99-obsensor-libusb.rules contains:

idVendor=="2bc5", idProduct=="0840", SYMLINK+="Gemini_305"

and the SDK examples include Gemini 305 PID checks such as:

pid == 0x0840 || pid == 0x0841 || pid == 0x0842 || pid == 0x0843

Therefore, this does not seem to be simply an unsupported VID/PID issue.

The main problem seems to be that on Jetson, the USB configuration descriptor is parsed incorrectly and only one interface is visible, while the descriptor indicates that there should be 8 interfaces.

Could you please confirm whether Gemini 305 is expected to work on Jetson Orin NX / JetPack R36.5.0, and whether there is any required kernel parameter, USB quirk, firmware setting, or SDK patch for this issue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions