My old raspberry pi 3B+ died and since you can’t buy pi3’s anymore, I bought a pi4. I’m running raspian buster on it currently.
When I try to upgrade the firmware I get the following output:
GoPiGo3 firmware needs to be version 1.0.x but is currently version 0.3.4
Firmware upgrade is needed
Attempting to upgrade firmware.
Flashing the firmware using a Pi4
Using interface file 'rpi4-sysfsgpio.cfg' for RPi version 'RPI4'.
/home/pi/Dexter/GoPiGo3/Firmware
/home/pi/Dexter/GoPiGo3/Firmware/GoPiGo3_Firmware_1.0.0.bin
Updating the GoPiGo3 Firmware with '/home/pi/Dexter/GoPiGo3/Firmware/GoPiGo3_Firmware_1.0.0.bin'
Open On-Chip Debugger 0.10.0-dev (2016-12-16-18:07)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
/home/pi/Dexter/GoPiGo3/Firmware/rpi4-sysfsgpio.cfg:1: Error: invalid command name "adapter"
in procedure 'script'
at file "embedded:startup.tcl", line 60
at file "/home/pi/Dexter/GoPiGo3/Firmware/rpi4-sysfsgpio.cfg", line 1
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "build/bdist.linux-armv7l/egg/gopigo3.py", line 250, in __init__
gopigo3.FirmwareVersionError: GoPiGo3 firmware needs to be version 1.0.x but is currently version 0.3.4
It looks like the relevant line is:
/home/pi/Dexter/GoPiGo3/Firmware/rpi4-sysfsgpio.cfg:1: Error: invalid command name "adapter"
Looks like rpi4-sysfsgpio.cfg fails on the very first line:
adapter driver sysfsgpio
I’m unsure of how to troubleshoot this and without the upgrade I can’t use my gopigo3 anymore. I see some threads from a few years ago discussing issues with the pi4, but none of them match my exact issue and I’m unsure of how to proceed.
If it helps, this is the version of openocd that the gopigo3 script installs:
Open On-Chip Debugger 0.10.0-dev (2016-12-16-18:07)
Out of curiosity, I tried installing the one in the raspian ppas, this version:
Open On-Chip Debugger 0.10.0+dev-00114-g41bcbc67d-dirty (2021-01-18-16:43)
This results in a different error:
/home/pi/Dexter/GoPiGo3/Firmware/rpi4-sysfsgpio.cfg:3: Error: invalid command name "sysfsgpio"
Not sure if this helps, but I figured I’d share. I’ve since removed the version I installed myself and reverted to the one that gopigo3 installs, in case it’s a fork.
First question:
Why can’t you use your Pi anymore? I have a Pi-4 and it works just fine with the stock 1.0.0 firmware.
We need to know what the base issue is - you shouldn’t need to upgrade the firmware at all.
Second question:
Exactly what version of the Pi-4 and exactly which version of the software are you using? Have you updated to the new GoPiGo O/S v 3.0.2?
I second this approach. It is the current recommended OS for GoPiGo3 users, and it might perform the needed firmware upgrade for your GoPiGo3. Once your bot is updated, you will then be able to use Legacy PiOS or even Ubuntu if desired.
You should read how to connect and set up GoPiGo OS because it defaults to offering an access point:
Why does his GoPiGp-3 even NEED a firmware update?
AFAIK, (and from what Nicole has said), a GoPiGo3 should not need a firmware update, unless they’re trying to do something with Bullseye, and then that’s a bogus error.
I really want to know what the base problem is that makes @prideaux74 think he needs a firmware update. . . .
That’s the reply given when someone tries Bullseye.
In any event, I want to know what he was trying to do, with what, and which version of the Pi, (and memory size if a Pi-4), before we start talking “firmware updates” as we know that Pi-4 firmware updates are problematic.
If, in fact, he really DOES need a firmware update, he should do it with a Pi-3.
@jimrh , He stated Pi3 was not avail so he bought Pi4:
If ModRobotics software won’t update using Pi4, perhaps they will send him a new red board with the 1.0 firmware already installed. We’ll have to wait to hear what support tells him.
Care to share instructions for those of us who may not know exactly how to do that? Should a plain-vanilla sudo apt-get update and sudo apt-get upgrade fix it?
Stepping into what I don’t actually know about here…
The GoPiGo3 install downloads openocd v 0.10.0-dev 2016 and copies the binary to /usr/bin/openocd, so you cannot just do an update and upgrade, or even an apt update.
verify it is not “apt installed” with dpkg -l | grep openocd
verify it is present with: $ openocd
Suggest saving the v 0.10 version
sudo cp /usr/bin/openocd /usr/bin/openocd.gopigo
Then install the latest version - 0.11.0-rc2 with:
sudo apt install openocd
This will overwrite /usr/bin/openocd with the latest
(for the gopigo_update_firmware script or the command @cleoqc asked to try)
In order to make this work I had to install libtool (which wasn’t preinstalled on Raspian):
sudo apt install libtool
After installing libtool and following their instructions I tried to flash the firmware for the gopigo3 and it seems to have worked!
However, when I write a simple script to test it out, the script runs to completion with no errors and the robot itself is unresponsive. I’ve followed up with them on this. If I find a resolution I’ll post it here in hopes of helping whoever next runs across this issue.
A side note on why pi4 instead of pi3:
My old pi3b+ finally died and I decided to upgrade it since the pi3 is discontinued. I don’t want to wipe it and install DexterOS since I already have it running a few bunch of containers for a few different things and don’t want to have to set it up from scratch all over again. I hope that makes sense!