Updating a BTT Rumba32 board without button press

Hi guys,

I’m in the process of installing a btt rumba32 board with klipper into one of my printers.

Unfortunately, for flashing (and thus updating) firmware, it requires the press of a button or setting a jumper to get into dfu mode.

Does anyone happen to know of a way of avoiding this? It would be quite annoying to have to flip and open the printer everytime I want to update klipper.

Thanks!

Attach some wires to the jumper posts and put a small switch to a more convenient place.

1 Like

According to the docs the board does not seem to have a SD Card update capability, so the SDCard updates - Klipper documentation option is likely void.

Seems that @EddyMI3D advice is the most practical.

Thanks, I did that. I was so focused on a software solution that I didn’t even think about that :slight_smile:

According to the docs the board does not seem to have a SD Card update capability

as a matter of fact, it does not even have an SD Card slot :wink:

1 Like

Me again!

I noticed that klipper is indeed able to reboot into bootloader mode, but the update isn’t working.

When I run make flash it looks like this:

pi@pi4b:~/klipper $ make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32f446xx_44002B000B50563046363120-if00
Flashing out/klipper.bin to /dev/serial/by-id/usb-Klipper_stm32f446xx_44002B000B50563046363120-if00
Entering bootloader on /dev/serial/by-id/usb-Klipper_stm32f446xx_44002B000B50563046363120-if00
Device reconnect on /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0
sudo dfu-util -p 1-1.3 -R -a 0 -s 0x8000000:leave -D out/klipper.bin

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util / Tickets

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
dfu-util: No DFU capable USB device available

Failed to flash to /dev/serial/by-id/usb-Klipper_stm32f446xx_44002B000B50563046363120-if00: Error running dfu-util

If the device is already in bootloader mode it can be flashed with the
following command:
make flash FLASH_DEVICE=0483:df11
OR
make flash FLASH_DEVICE=1209:beba

If attempting to flash via 3.3V serial, then use:
make serialflash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32f446xx_44002B000B50563046363120-if00

make: *** [src/stm32/Makefile:82: flash] Error 255

However, after this failure the board is in bootloader mode, and if I run make flash again with the device ID (not sure if thats the correct term), the update works:

pi@pi4b:~/klipper $ make flash FLASH_DEVICE=0483:df11
Flashing out/klipper.bin to 0483:df11
sudo dfu-util -d ,0483:df11 -R -a 0 -s 0x8000000:leave -D out/klipper.bin

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util / Tickets

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device…
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface…
Setting Alternate Setting #0
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 23688
Download [=========================] 100% 23688 bytes
Download done.
File downloaded successfully
Transitioning to dfuMANIFEST state
dfu-util: can’t detach
Resetting USB to switch back to runtime mode

After this it reboots into runtime mode and everything is fine.

Any clues as to why the first command isn’t working properly and/or how to fix that?