[SOLVED] A problem with firmware upload after 30.0.3 update

electronics
software

#1

Hello all,

I have a 2.7 edition developers kit I am working on using to control my ROV. I flashed the image for the 30.0.3 update to the BBB. When I go to upload the latest firmware to the arduino… it just doesn’t work.

Here is a copy of the script it puts out during the attempt.

undefinedstaging: build dir is /tmp/tmp.nrAVcASqGo
staged src in to build folder

staging plugins
mv: cannot stat ‘/tmp/tmp.nrAVcASqGo/src/Device.cpp’: No such file or directory
sed: can’t read /tmp/tmp.nrAVcASqGo/src/Device.cpp.template: No such file or directory
rm: cannot remove ‘/tmp/tmp.nrAVcASqGo/src/Device.cpp.template’: No such file or directory
src/OpenROV.ino
Searching for Arduino lib version file (version.txt) … /usr/share/arduino/lib/version.txt
Detecting Arduino software version … 1.0.5 (1.0.5)
Scanning dependencies of src
Scanning dependencies of arduino
Scanning dependencies of EEPROM
Scanning dependencies of SPI
src/CAutopilot_STD.cpp
src/Device.cpp
src/CTimer.cpp
src/CPIDController.cpp
src/CPin.cpp
src/LibMPU_DriverLayer.cpp
src/CMS5803_XXBA.cpp
src/CDeadManSwitch.cpp
src/NArduinoManager.cpp
src/CI2C.cpp
src/LibMPU_Calibration.cpp
src/NConfigManager.cpp
src/CCalibrationLaser.cpp
src/LibMPU.cpp
src/CCape.cpp
src/CAutopilot_EXP.cpp
src/NCommManager.cpp
src/CAdaBNO055.cpp
src/CServo.cpp
src/CThrusters_2X1.cpp
src/LibMPU_DMPDriver.cpp
src/NDataManager.cpp
src/CMS5803_XXBALib.cpp
src/CModule.cpp
src/LibMPU_Vector3.cpp
src/CBNO055.cpp
src/LibMPU_Quaternion.cpp
src/CMPU9150.cpp
src/CMS5803_XX.cpp
src/CCommand.cpp
src/Utility.cpp
src/CMotor.cpp
src/CLights.cpp
src/NModuleManager.cpp
src/CControllerBoard.cpp
src/CControllerBoard.cpp:29:18: error: ‘A8’ was not declared in this scope
int temppin = A8;
^
.build/uno/Makefile:416: recipe for target ‘.build/uno/src/CControllerBoard.o’ failed
make: *** [.build/uno/src/CControllerBoard.o] Error 1
Searching for Board description file (boards.txt) … /usr/share/arduino/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) … /usr/share/arduino/lib/version.txt
Detecting Arduino software version … 1.0.5 (1.0.5)
Searching for Arduino core library … /usr/share/arduino/hardware/arduino/cores/arduino
Searching for Arduino variants directory … /usr/share/arduino/hardware/arduino/variants
Searching for Arduino standard libraries … /usr/share/arduino/libraries
Searching for make … /usr/share/arduino/hardware/tools/avr/bin/make
Searching for avr-gcc … /usr/share/arduino/hardware/tools/avr/bin/avr-gcc
Searching for avr-g++ … /usr/share/arduino/hardware/tools/avr/bin/avr-g++
Searching for avr-ar … /usr/share/arduino/hardware/tools/avr/bin/avr-ar
Searching for avr-objcopy … /usr/share/arduino/hardware/tools/avr/bin/avr-objcopy
Make failed with code 2
firmware-build.sh: : Compile of the Arduino image failed.
firmware-installfromsource.sh: Building Firmware Failed! Aborting

Any ideas anyone? Thanks for checking it out.


#2

I had this problem also. I did a work around by downloading the 31.0.0 onto the SD card and downloading that. 31.0.0 did not solve my problem as a working image, but it did let me re-upload the 30.0.3 firmware after I did the update then pulled the card and re-loaded 30.0.3.


#3

Thanks for the tip. I gave that a shot. I loaded 31.0.0 to sd card and ran it on the BBB. It looks like it will be great when it gets working. Still did not complete the firmware update though. I am starting to think it may be a hardware problem, not sure how to check though.


#4

The error you are seeing means that the BBB is not communicating with the controller board. The most often issue is the BBB not seated all the way on the header pins on the controller board.


#5

Okay, just double checked that. It still gives the same error during the attempted upload. What are the less often issues?


#6

Ok so if you have already checked that the BBB is seated all the way on the header (white arrow - there should be no pin space visible) then the next things to look at are:

Check that the BBB and the CB headers are lined up properly and you are not off by 1 row of pins.

Assuming that all of this hardware is correct then the next thing is all the lights are on on the CB and the BBB and that there is enough power going to the board. Are you powering this off of a bench top power supply or a set of batteries? If you do not have enough current sourcing capability, it can cause issues like this.


#7

Okay yep all the pins are in the right holes, no space. I have been powering it off of a set of batteries originally with 8 D size 10Ah Ni-Mh in series. I double checked using a large 12v lead acid battery. Pretty sure it has enough current.

The lights on the arduino and the BBB are on.

The BBB has the four user leds going in a steady pattern. The two lights on either side of the ethernet cable are also on, the right one (green) is flashing quickly and steadily.

The arduino has the same four leds as in your picture lit up. led 7 is flashing in a steady pattern. led 3 is also flashing, but in a different pattern.

No trouble reaching the cockpit, the firmware still wont update, the servo does nothing.

any ideas?

thanks again.


#8

The next thing to try is getting a much smaller amount of data through that port. There is a bootloader on the controller board. I can have to re-burn this onto the board (it will not hurt anything to run it again) to see if this much smaller amount of data will get through.

It will determine if the two boards are communicating with each other at all. In software version 30.0.3 you can do this by opening up the terminal (we have one built in) by going to the address 192.168.254.1:3009 in Chrome

Username: rov
Password: OpenROV

Then run the following command:

sudo /opt/openrov/cockpit/linux/burn-bootloader.sh

This will run through a bunch of stuff for a few seconds and should give you a success message.

If this succeeds then we know the boards are communicating…you can then try running the firmware upload again (there is an off chance that the bootloader was corrupted somehow on the board).


#9

Okay I tried doing that.

The command prompt uses the term “openrov login” instead of “Username”. Then the password doesn’t work.

Also I have to hit the return key before I can enter anything for the password… I think I am doing at least one thing wrong.

Here is a screenshot.


#10

When typing in the password no characters will be displayed…just keep typing and then press enter and then you should be able to get in.


#11

Thanks! That was the problem. My board came without the ESC’s connected, so it sounds like it never had the bootloader installed.

The firmware update went fine after that. Motors and servo works all looks good. Now I just have to put it together.

Thanks for the help.


#12

Ahh yes that would explain it! I am glad we were able to get this solved.