Can't find board when trying to upload ODID build

I have been following the documentation for implementation of Open drone ID on a cube orange (mine is technically a blue H7, but should be the same thing) and have reached a roadblock. In following the steps in Henry’s great videos I have setup a build environment and am at the point of trying to upload the firmware to my board.

When using ./waf copter --upload the upload eventually fails as expected because the board ID’s don’t match. My board is detected on Com4 during this step.

Proceeding to the next step which is to force upload using Tools/scripts/uploader.py --force build/CubeOrange-ODID/bin/arducopter.apj the board is never detected and therefore the upload never starts. I have tried unplugging the board and plugging back in as suggested but that has not resolved the issue.

Is there a way to point the force upload at com4? that seems like the direction I need to head but this is all pretty new to me.

Okay after doing some sanity checks it seems like uploader.py just can’t find the board. I verified that my build environment is set up correctly by building plane firmware that is not using ODID for the CubeOrange. Using .waf --upload works fine but when trying to upload the firmware using uploader.py the board is never found.

I did also try the --port option for uploader.py but that didn’t help any.

Also verified empy and pyserial are installed.

Anyone ever run into this issue when using the uploader script?

This appears to be an issue with WSL2, switched to WSL1 and the serial ports are all discoverable and the script works. I guess waf has the ability to look for the additional ports where as the uploader script does not in WSL2.

For wsl2 you need this : Connect USB devices | Microsoft Learn

The wiki page for setting up the build environment seems to say that as of July 2022 USBIPD doesn’t work for accessing the bootloader due to slow mount times. Not sure if that is still the case but that discouraged me from going down that path initially.

Maybe I’ll give it a shot though, thanks!

It works, just be prepared to hit enter on the attach command when you hear the USB device detected.
You can start the uploader.py upfront then plug in the cube and press enter on the attach command.

2 Likes

Now is the 12/14 2023, that is still the case, the USBIPD slow mount time.