Basic Information:
Printer Model: Voron 0
MCU / Printerboard: SKR-Pico
klippy.log
: Not required
Describe your issue:
I was updating the firmware for the SKR-Pico and EBB36 today and noticed that the flashtool option does not work. I disabled the CAN in printer.cfg and checked Klipper was listening on CAN:
~/klipper $ ~/katapult/scripts/flashtool.py -i can0 -q -v
Resetting all bootloader node IDs…
Checking for Katapult nodes…
Detected UUID: fc7c3907fd17, Application: Klipper
Detected UUID: c80a2d7c1c33, Application: Klipper
Query Complete
It was, so I attempted to ‘request bootloader’ with:
~/klipper $ ~/katapult/scripts/flashtool.py -i can0 -u c80a2d7c1c33 -r -v
Sending bootloader jump command…
Bootloader request command sent
Flash Success
Then I checked to see if Katapult is listening on USB
~/klipper $ lsusb
Bus 001 Device 012: ID 1d50:606f OpenMoko, Inc. Geschwister Schneider CAN adapter
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
It was not (Klipper is still listening on CAN)
FYI: The old (and inelegant) workaround still works, writing new Klipper all over old Klipper and then picking up the pieces
~/klipper $ ~/katapult/scripts/flashtool.py -i can0 -u fc7c3907fd17 -f ~/klipper/out/klipper.bin
Sending bootloader jump command…
Resetting all bootloader node IDs…
Attempting to connect to bootloader
ERROR:root:Can Read Error
Traceback (most recent call last):
…
lots of ugly error messages
…
FlashCanError: Error sending command [COMPLETE] to Can Device
Check Katapult is listening on USB with:
~/klipper $ lsusb
Bus 001 Device 004: ID 1d50:6177 OpenMoko, Inc. rp2040
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
It is, so we can update Klipper using Katapult on USB:
~/klipper $ ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/usb-katapult_rp2040_4550357129118BE8-if00 -f ~/klipper/out/klipper.bin
Attempting to connect to bootloader
Katapult Connected
Protocol Version: 1.0.0
Block Size: 64 bytes
Application Start: 0x10004000
MCU type: rp2040
Flashing ‘~/klipper/out/klipper.bin’…[##################################################]
Write complete: 156 pages
Verifying (block count = 622)…[##################################################]
Verification Complete: SHA = 086E4158F325F5B99B456D6000E863925D5B4C5C
Flash Success
I checked Klipper was listeing on CAN (which it was) and queried the CAN devices:
~/klipper $ ~/katapult/scripts/flashtool.py -i can0 -q -v
Resetting all bootloader node IDs…
Checking for Katapult nodes…
Detected UUID: fc7c3907fd17, Application: Klipper
Detected UUID: c80a2d7c1c33, Application: Katapult
Query Complete
In the original test the version of Klipper was old (and now unknown), so I tried again after I upgraded
Klippy to v0.12.0-102-g9f41f53c
And on both devices
Katapult to v0.0.0-195-g6a7ca81e-inferred
Klipper firmware to v0.12.0-102-g9f41f53c
The problem persisted.