Setup: Windows PC connected to a OAK-FFC 4P board via USB-C. I use the depthAI Python library. When it is working properly, I can connect to the board with self.device.getUsbSpeed() == dai.UsbSpeed.SUPER and read out images indefinitely without crashes (four oak-ffc-imx477 cameras are connected to the board).
Issue: It is a mobile setup, so it will be removed from power regularly. Every time when the system is turned on again, the computer boots automatically, but then it fails to connect to the board. To be more exact, the connection can still be established, but only with USB 2 mode, (dai.UsbSpeed.HIGH instead of SUPER), which is too slow for my usecase.
What I have tried:
depthai versions 2.28, 2.30, 3.2.1 (no difference). I use my own code in version 2.28 and 2.30 and I used the example "Display all cameras" to test Version 3..2.1
Restart device via PowerShell: Restarted the device with pnputil /restart-device "USB\VID_03E7&PID_F63B\18443010E1075BF500". Does restart, but still only connects at "HIGH" speed.
Restart the main USB device hub with pnputil /restart-device <device_id>-> also no effect.
Flash depth ai bootloader (just hoping this would force a restart) with
with dai.DeviceBootloader(info) as bl:
hard_ok, hard_msg = bl.flashBootloader( dai.DeviceBootloader.Memory.FLASH, dai.DeviceBootloader.Type.AUTO, _progress, )
As I mentioned, unplugging the board (and therefore removing power from the board) solves the issue, but it is cumbersome and it really should work automatically. At this point, I run out of things to try.
I would be thankful for any hint to what could cause the issue and any idea to what could fix it!