Remote upload of Pixhawk firmware

I have seen a couple of posts related to the same issue I am having, but did not get any information to help me.
I can successfully upload new firmware from QGC and plugging the mRo directly into the USB Port.
But when I try to use the WEB interface or the python script located in the tools directory, I cannot get a successful flash.

What I see in both failing situations is
erasing - progress and seems to complete
uploading - progress and seems to complete
verify - no progress, error waiting for 4 bytes
reboot
done.

And then the ROV fails to connect.
Also, when type lsusb, on the companion Raspberry Pi, I see that the device is not the same as it is when QGC uploads.

Any ideas on why the upload fails using the python tool or the web interface?
I am building ArduSub 3.5.4 with mods
Using QGC 3.5 that I built with mods
Raspberry Pi 3B - companion release notes shows last entry 0.0.15
mRo - AUAV X2.1 V2