Hello,
I am seeing a DepthAI v3 boot/connect failure on an OAK device that works with DepthAI v2 on the same host, same USB port/cable, same user, and same device.
I started this lower-level debug because the official OAK Viewer application was also not working with this device on both Linux and Windows. My understanding is that the current OAK Viewer runs on DepthAI v3, so I tried to isolate the issue with a minimal Python boot test.
Device MXID:
1944301041BD187E00
Host:
Ubuntu/Linux
Python 3.10.12
Working version:
depthai==2.30.0.0
Failing v3 versions tested:
depthai==3.6.1 -> RuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND
depthai==3.5.0 -> RuntimeError: Couldn't open stream
depthai==3.4.0 -> RuntimeError: Couldn't open stream
depthai==3.3.0 -> RuntimeError: Couldn't open stream
depthai==3.0.0 -> RuntimeError: Couldn't open stream
Minimal reproduction:
import depthai as dai
print("depthai", dai.__version__)
print("devices", dai.Device.getAllAvailableDevices())
d = dai.Device()
print("connected", d.getDeviceInfo(), d.getUsbSpeed())
d.close()
With DepthAI v2.30.0.0, this succeeds:
depthai 2.30.0.0
devices [DeviceInfo(name=1.1, mxid=1944301041BD187E00, X_LINK_UNBOOTED, X_LINK_USB_VSC, X_LINK_MYRIAD_X, X_LINK_SUCCESS)]
connected DeviceInfo(name=1.1, mxid=1944301041BD187E00, X_LINK_BOOTED, X_LINK_USB_VSC, X_LINK_MYRIAD_X, X_LINK_SUCCESS) UsbSpeed.SUPER
With DepthAI v3.6.1, the debug log shows that firmware upload succeeds, then the library fails to find the booted device:
depthai 3.6.1
devices [DeviceInfo(name=1.1, deviceId=1944301041BD187E00, X_LINK_UNBOOTED, X_LINK_USB_VSC, X_LINK_MYRIAD_X, X_LINK_SUCCESS)]
Performing bulk write of 31328963 bytes...
Boot successful, device address 1.1
Searching for booted device: DeviceInfo(name=1.1, deviceId=1944301041BD187E00, X_LINK_BOOTED, X_LINK_USB_VSC, X_LINK_MYRIAD_X, X_LINK_SUCCESS), name used as hint only
RuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND
With DepthAI v3.0.0, the debug log shows a slightly different failure. Firmware upload succeeds and the device is found again after boot, but the connection fails immediately while opening/using the XLink stream:
Performing bulk write of 28719531 bytes...
Boot successful, device address 1.1
Searching for booted device: DeviceInfo(name=1.1, deviceId=1944301041BD187E00, X_LINK_BOOTED, X_LINK_USB_VSC, X_LINK_MYRIAD_X, X_LINK_SUCCESS), name used as hint only
XLinkConnect() device name 2.4 glHandler ... protocol 0
Write failed (header) (err -4) | event XLINK_PING_REQ
dispatcherEventReceive() Read failed -4
XLinkOpenStream: Condition failed: link == NULL
RuntimeError: Couldn't open stream
DepthAI v3.6.1 fails slightly differently:
RuntimeError: Failed to find device after booting, error message: X_LINK_DEVICE_NOT_FOUND
I also tried forcing USB2 and USB3 in v3:
dai.Device(dai.UsbSpeed.HIGH)
dai.Device(dai.UsbSpeed.SUPER)
Both failed.
I have uploaded here full debug logs from the same host/device:
debug_logs/depthai-v2.30.0-boot-debug.log
debug_logs/depthai-v3.6.1-boot-debug.log
debug_logs/depthai-v3.0.0-boot-debug.log
The v2 log does include some XLink errors during explicit close/shutdown, but the device has already connected successfully and reported UsbSpeed.SUPER. The v3 log fails before the device can be opened.
Can you advise whether this is a known v3 regression or compatibility issue for this device/bootloader/USB path, and whether there is a recommended v3 version, firmware override, or diagnostic command to try next?