Dead Unit - During Install

Doing a fresh install of raspbian stretch, running through the brewpi setup, got to the brewblox-ctl boot loader part and now the unit won’t even power up. Is there anyway to reset??

This is the error I got

Error writing firmware: TimeoutError: timed out after 70000ms
Traceback (most recent call last):
File “/usr/local/bin/brewblox-ctl”, line 11, in
sys.exit(main())
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/main.py”, line 81, in main
cli()
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 764, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 717, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python3.5/dist-packages/click/core.py”, line 555, in invoke
return callback(*args, **kwargs)
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/commands.py”, line 170, in bootloader
utils.run_all(shell_commands)
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/utils.py”, line 130, in run_all
return [run(cmd) for cmd in shell_cmds]
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/utils.py”, line 130, in
return [run(cmd) for cmd in shell_cmds]
File “/usr/local/lib/python3.5/dist-packages/brewblox_ctl/utils.py”, line 124, in run
return check_call(shell_cmd, shell=True, stderr=STDOUT)
File “/usr/lib/python3.5/subprocess.py”, line 271, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘docker run -it --rm --privileged brewblox/firmware-flasher:rpi-edge flash-bootloader’ returned non-zero exit status 1

Did you first flash the updated firmware?

What is the state of the LED?

Can you manually trigger dfu mode by Holding the setup button during boot?

What happens if you flash the firmware next?

No lights, nothing it’s a brick right now.

Can you get the led to blink by holding the setup button? And what about holding the setup button while you plug in power?

Tried both, nothing. It’s dead.

Step 6, second line (boot loader) is where it died.

I know, but I am trying to narrow it down. It can be fixed with a flash over JTAG, but that requires special tools. So if there is a way to fix it without sending it back, that would be better.

Did you get no errors during the first step, flashing the firmware?

And which version did you have before this?

For your understanding:

The bootloader is a small program that is first executed when the processor starts. It checks whether the setup button is pressed and if not, it jumps to the memory location for the application. If the setup button is pressed, it stays in bootloader mode and can start DFU mode to receive a new application over USB.

The bootloader cannot update itself, so it is the application that receives the new bootloader binary over serial and rewrites the bootloader program memory.
Particle has checks built in to verify that the bootloader file is correct and correctly received before it starts to overwrite the memory. If the device loses power in the small window where the memory gets overwritten, that might result in a broken bootloader.

If the bootloader is corrupt, the only way to restore it is to use an external programmer.

Maybe you can get something fixed with the particle cli tool:

https://docs.particle.io/tutorials/developer-tools/cli/

particle device doctor

Otherwise, sending it back for repair seems like the only option.

Elco tried the particle device doctor, no luck.

I was afraid that would be the case. Can you ship it back for repair?

The shipping address is:

BrewPi BV
Torenallee 32-42
5617BD Eindhoven
The Netherlands

I’ll go on holiday next Friday, so I would be able to repair it just in time if it doesn’t take too long to ship.

Ill try and get it in the mail today.

It’s in the mail. I doubt you’ll receive it before you go on holiday. Have a good trip.

1 Like

It already arrived! The problem was indeed a corrupt bootloader.
I programmed a new bootloader and it is working again.

Please send me the return address in a PM and I will ship it back :slight_smile:

1 Like

I appear to be having the same issue with the bootloader. Black unresponsive screen in spark.

I’m afraid that does mean you’ll have to mail it to us so we can reset it.

Was this a BrewPi -> BrewBlox install, or a BrewBlox reinstall?

To prevent more bricks I’m pushing a hotfix that disables the bootloader flash command. Depending on the previous version, it may cause firmware errors, but those can be fixed without specialized hardware.

If WiFi is set up on the spark it will update the bootloader itself by downloading it from the cloud if needed.

It was a brewblox reinstall. I’ll get it in the mail today.