Skip to content

Add a fallback to USB 2.0 for Luxonis head cameras#101

Draft
hello-ola wants to merge 1 commit into
mainfrom
bugfix/luxonis_usb2
Draft

Add a fallback to USB 2.0 for Luxonis head cameras#101
hello-ola wants to merge 1 commit into
mainfrom
bugfix/luxonis_usb2

Conversation

@hello-ola

Copy link
Copy Markdown
Contributor

The head OAK-FFC-3P gives X_LINK_DEVICE_NOT_FOUND when the camera is connected USB2.0.

when camera is not running

sudo lsusb -v 2>/dev/null | awk -v RS="" '/Movidius/' | grep -E "Movidius|bcd"
Bus 003 Device 076: ID 03e7:2485 Intel Movidius MyriadX
  bcdUSB               2.00
  idProduct          0x2485 Movidius MyriadX
  bcdDevice            0.01
  iManufacturer           1 Movidius Ltd.
  iProduct                2 Movidius MyriadX
  bcdUSB               2.00

when camera is running it doesnt show

sudo lsusb -v 2>/dev/null | awk -v RS="" '/Movidius/' | grep -E "Movidius|bcd"
Bus 002 Device 014: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick]
  bcdUSB               3.20
  idProduct          0xf63b Myriad VPU [Movidius Neural Compute Stick]
  bcdDevice            1.00
Bus 003 Device 076: ID 03e7:2485 Intel Movidius MyriadX
  bcdUSB               2.00
  idProduct          0x2485 Movidius MyriadX
  bcdDevice            0.01
  iManufacturer           1 Movidius Ltd.
  iProduct                2 Movidius MyriadX
  bcdUSB               2.00

it shows

sudo lsusb -v 2>/dev/null | awk -v RS="" '/Movidius/' | grep -E "Movidius|bcd"
Bus 002 Device 014: ID 03e7:f63b Intel Myriad VPU [Movidius Neural Compute Stick]
 bcdUSB               2.00
 idProduct          0xf63b Movidius MyriadX
 bcdDevice            1.00
Bus 003 Device 076: ID 03e7:2485 Intel Movidius MyriadX
 bcdUSB               2.00
 idProduct          0x2485 Movidius MyriadX
 bcdDevice            0.01
 iManufacturer           1 Movidius Ltd.
 iProduct                2 Movidius MyriadX
 bcdUSB               2.00

This PR preserves the existing preferred behavior by trying SUPER_PLUS first. If that open fails, it logs a warning and retries the same device at UsbSpeed.HIGH.

This gives us the expected fallback behavior explicitly:

  1. Use USB3/SUPER_PLUS when available.
  2. If the DepthAI SUPER_PLUS boot/open path fails, retry over USB2/HIGH.
  3. Keep the camera usable in degraded mode instead of crashing.

used stretch_camera_show -l --opencv

@hello-robot-shehab
hello-robot-shehab marked this pull request as draft July 16, 2026 18:04
@hello-robot-shehab hello-robot-shehab changed the title add a fallback Add a fallback to USB 2.0 for Luxonis head cameras Jul 16, 2026
@hello-robot-shehab

Copy link
Copy Markdown
Contributor

We should figure out why the USB Host drops bandwidth to bcdUSB 2.0 from bcdUSB 3.2 instead of relying on this workaround, but it's good to know that this works, thanks @hello-ola !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants