I tried to update my spark 3 to the latest firmware (as by today) using the brewblox GUI, however after flashing it, the screen went dark with just the led blinking green and not recognized by the brewblox. I tried to flash again the firmware using the command line, first it failed due to “No usb compatible devices found”, but after restarted by spark and raspberry Pi 4 I had “Flash success!”, however the spark screen continues to be dark and brewblox doesn’t find it.
However now I cannot connect my Spark. When I try to configure the wi-fi it just says “Done! Your device should now restart.”, but it doesn’t restart neither connects to the wi-fi.
While still connected through usb I can not get the service running. I get the errors (the ones in red) :
Invalid device ID
Service not synchronized
I have noticed that the desired and actual devices id are different (one with capital E) :
Desired device ID (service): 3e0023000551353432383931
Actual device ID (controller): 3E0023000551353432383931
If you manually power cycle the Spark after running the brewblox-ctl wifi command, does it then connect to wifi?
What does the screen look like when it’s not connecting? Completely blank, or does it show 6 squares?
We’re releasing an update today that includes a fix for uppercase/lowercase issues in device ID.
If you manually power cycle the Spark after running the brewblox-ctl wifi command, does it then connect to wifi?
Nops, I had to do fresh install on brewblox in order to able it to work again. After the fresh install I connected the spark to the wi-fi without problems. However now, after a few power cycles the spark lost the Wi-Fi connection and now though USB is not recognized by the brewblox either. It shows the 6 squares
EDIT: When I am able to connect it through usb and try to configure again the wifi it says:
“Something went wrong: Serial timed out while initially listening to device, please ensure device is in listening mode with particle usb start-listening”
You may still have services running that are connected to the Spark. The output from docker ps -a should be empty. If not: run brewblox-ctl kill.
Your Spark is in listening mode when it’s rapidly blinking dark blue. If the wifi command fails, it’s best to power cycle, and wait for it to finish booting before retry.
What means being in listening mode? It’s been blinking blue but very slowly, when I power cycle it continues to stay in the same mode (blinking blue slowly)
Listening mode is the configuration mode for low-level settings on the Spark (such as Wifi credentials). During listening mode, your Spark responds differently to incoming messages.
That is why your normal services must be stopped before listening mode is started. The messages they send would only cause errors.
Your device should start quickly blinking blue when you run brewblox-ctl wifi. If it doesn’t, you can troubleshoot the connection with the following steps:
Are all brewblox services offline? docker ps -a
If this shows containers, run brewblox-ctl kill, and check again.
Is the device seen over USB? brewblox-ctl discover
If this shows no USB-connected devices, try with a different USB cable.
Error configuring Wi-Fi: No serial port identified
Command ‘docker run -it --rm --privileged brewblox/firmware-flasher:rpi-edge wifi’ returned non-zero exit status 1.
Basically after power cycle the spark I manually put it in listenning mode then ran brewblox-ctl wifi and then that error appears while spark goes from listenning mode (fast blue blinking) to the slow blue blinking.
It seems identification of the correct USB device is the problem here.
This may be caused by there being multiple connected USB devices, but there are a number of possible explanations.
To get an idea of what’s going on, there are multiple commands you can use to check:
ls /dev/serial/by-id
Ideally, this should list a single device, with a name akin to usb-Particle_P1_290029001947383434353030-if00
To manually access the Particle API we use to configure wifi:
docker run -it --rm --privileged brewblox/firmware-flasher:rpi-edge
This will switch to another terminal, inside a docker container. We can run some commands in here
To check for currently connected devices:
npx particle serial list
Expected output:
bash-4.4# npx particle serial list
Found 1 device connected via serial:
/dev/ttyACM0 -
If a device is listed here, you can try running the Wifi configuration from here.
Hold the setup button until it starts blinking faster
Run the following command (replace /dev/ttyACM0 with the port reported by serial list)
npx particle serial wifi --port /dev/ttyACM0
When done, run exit to go back to the Pi commandline.