Basic Information:
Printer Model: Voron 2.4
MCU / Printerboard: BTT Octopus v1.1
Host / SBC: Raspberry Pi 4b
klippy.log
klippy.log (18.2 KB)
Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there
Describe your issue:
I am unable to get new versions of klipper to flash to my BTT boards based on Raspberry Pi controlers. I’m following the general guides found here (as well as the other guide for the other BTT device, essentially the same info), but no mater what I do or what I try, the previous firmware version remains on the boards. I’ve additionally tried stopping the klipper service as well as the octoprint services, which has also not helped.
Interestingly this is the output of the ‘make flash’ command, which makes me think soemthing is quietly failing and there is actually no attempt being made to flash the devices:
pi@voron:~/klipper $ make flash FLASH_DEVICE=2e8a:0003
Flashing out/klipper.uf2 to 2e8a:0003
sudo lib/rp2040_flash/rp2040_flash out/klipper.uf2
pi@voron:~/klipper $
I’m at my wits end and don’t know where to go from here… Any advice or options appreciated!
Hi @cecilx22 ,
From the klippy.log:
Your Klipper version is: v0.13.0-374-g99c0bfc
MCU(s) which should be updated:
EBB: Current version v0.12.0-3-gc7e43002-dirty-20240304_071342-BTT-CB1
eddy: Current version v0.12.0-302-g87ac693
Up-to-date MCU(s):
mcu: Current version v0.13.0-374-g99c0bfc
...
mcu 'EBB': Command format mismatch: query_lis2dw oid=%c rest_ticks=%u vs query_lis2dw oid=%c clock=%u rest_ticks=%u
The error is with the EBB board, not Eddy (the instructions you linked are for Eddy). I would try updating the firmware on the EBB, not the Eddy probe.
Appreciate the reply!
I have been trying to update the firmware on both. Neither one will take. These are the directions I was following for the EBB
As I said, very similar to the directions for the Eddy, and just as ineffective. When I updated the Octopus board, everything went as expected (firmware upload progress indicator, etc) and the new version is reflected in the log. But whenever I try to upload firmware to either Pi board, the uploader just exits more or less the instant I hit enter. It feels very much like it’s doing nothing.
So I just turned off the machine, disconnected the Eddy, turned the power back on, reset the EBB into DFU mode via the boot button on it (confirmed in terminal output below). I then ran the steps seen below with all output included:
pi@voron:~ $ cd klipper/
pi@voron:~/klipper $ make clean
pi@voron:~/klipper $ make menuconfig
Creating symbolic link out/board
Loaded configuration ‘/home/pi/klipper/.config’
No changes to save (for ‘/home/pi/klipper/.config’)
pi@voron:~/klipper $ sudo service klipper stop
pi@voron:~/klipper $ sudo service octoprint stop
pi@voron:~/klipper $ make
Building out/autoconf.h
Compiling out/src/sched.o
Compiling out/src/command.o
Compiling out/src/basecmd.o
Compiling out/src/debugcmds.o
Compiling out/src/initial_pins.o
Compiling out/src/gpiocmds.o
Compiling out/src/stepper.o
Compiling out/src/endstop.o
Compiling out/src/trsync.o
Compiling out/src/adccmds.o
Compiling out/src/spicmds.o
Compiling out/src/i2ccmds.o
Compiling out/src/pwmcmds.o
Compiling out/src/buttons.o
Compiling out/src/tmcuart.o
Compiling out/src/neopixel.o
Compiling out/src/pulse_counter.o
Compiling out/src/lcd_st7920.o
Compiling out/src/lcd_hd44780.o
Compiling out/src/spi_software.o
Compiling out/src/i2c_software.o
Compiling out/src/thermocouple.o
Compiling out/src/sensor_adxl345.o
Compiling out/src/sensor_lis2dw.o
Compiling out/src/sensor_mpu9250.o
Compiling out/src/sensor_icm20948.o
Compiling out/src/sensor_hx71x.o
Compiling out/src/sensor_ads1220.o
Compiling out/src/sensor_ldc1612.o
Compiling out/src/sensor_angle.o
Compiling out/src/sensor_bulk.o
Compiling out/src/sos_filter.o
Compiling out/src/load_cell_probe.o
Compiling out/src/rp2040/main.o
Compiling out/src/rp2040/watchdog.o
Compiling out/src/rp2040/gpio.o
Compiling out/src/rp2040/adc.o
Compiling out/src/generic/armcm_boot.o
Compiling out/src/generic/armcm_irq.o
Compiling out/src/generic/armcm_reset.o
Compiling out/src/generic/crc16_ccitt.o
Compiling out/src/rp2040/timer.o
Compiling out/src/generic/timer_irq.o
Compiling out/src/rp2040/bootrom.o
Compiling out/src/rp2040/usbserial.o
Compiling out/src/generic/usb_cdc.o
Compiling out/src/rp2040/chipid.o
Compiling out/src/rp2040/hard_pwm.o
Compiling out/src/rp2040/spi.o
Compiling out/src/rp2040/i2c.o
Building out/compile_time_request.o
Version: v0.13.0-374-g99c0bfc
Building rp2040 stage2 out/stage2.o
Preprocessing out/src/rp2040/rpxxxx_link.ld
Linking out/klipper.elf
Building out/lib/elf2uf2/elf2uf2
Creating uf2 file out/klipper.uf2
pi@voron:~/klipper $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 1d50:614e OpenMoko, Inc. stm32f407xx
Bus 001 Device 005: ID 2e8a:0003 Raspberry Pi RP2 Boot
Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@voron:~/klipper $ make flash FLASH_DEVICE=2e8a:0003
Flashing out/klipper.uf2 to 2e8a:0003
sudo lib/rp2040_flash/rp2040_flash out/klipper.uf2
[sudo] password for pi:
pi@voron:~/klipper $
After the flash, I reset the EBB with the reset button, checked it comes out of DFU mode, then powered down the printer. And after powering down, reconnecting the Eddy, then powering back up I get the following when I attempt to check the printer status via the klipper tab in Octoklipper:
MCU Protocol error
This is frequently caused by running an older version of the
firmware on the MCU(s). Fix by recompiling and flashing the
firmware.
Your Klipper version is: v0.13.0-374-g99c0bfc
MCU(s) which should be updated:
EBB: Current version v0.12.0-3-gc7e43002-dirty-20240304_071342-BTT-CB1
eddy: Current version v0.12.0-302-g87ac693
Up-to-date MCU(s):
mcu: Current version v0.13.0-374-g99c0bfc
Once the underlying issue is corrected, use the “RESTART”
command to reload the config and restart the host software.
mcu ‘EBB’: Command format mismatch: query_lis2dw oid=%c rest_ticks=%u vs query_lis2dw oid=%c clock=%u rest_ticks=%u
Klipper state: Not ready
So the firmware update to the EBB didn’t take for some reason.
Can you please use the Preformatted text feature of the forum editor for code and not
Blockquote

2 Likes
Thanks, that was very helpful