Unable to update MCU verison on OctopusPro

Basic Information:

Printer Model: Custom Core XY
MCU / Printerboard: Octopus Pro V1.1
Host / SBC: Mainsail
klippy (1).log (1.2 MB)

klippy.log

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 date the MCU on my octopus pro V1.1 board from V0.10 to V0.12. I have followed the voron docs for this board so i am confident that the menuconfig option are correct. When flashing via serial (with the board in bootloader mode) I get “Error 255” and when trying serialflash I get “Error 1”… Abandoning this approach and copying the firmware.bin file onto an SD card and inserting it into the octopus board, when the board boots it still shows V0.10…

I am at a loss and any words of wisdom would be appreciated.

Also, are there any negative consequences for having the MCU running at older version? Klipper is happy to allow the mis-match, so is it just fine to continue printing?

Please show your settings and the complete output of the flashing command


Make menuconfig


make flash part 1


make flash part 2

and lastly serialflash. Sorry these are single posts, as i am new user the web page would only let me upload one at a time.

Try following approach (your settings seem correct if it really is a F429 MCU):

make clean
make distclean
make menuconfig
make

Put the board into the DFU mode and verify that it is actually in DFU mode with the lsusb command.

Then flash with:

make flash FLASH_DEVICE=1234:5678

Replace 1234:5678 with the device ID from the lsusb command.

Sadly i got the same result

Please show the output of

sudo dfu-util -l

when the board is in DFU mode.

@Yames :

Are you using putty?

You can do text copy & paste. It’s better to read than a screen copy.

I am using Git Bash

[sudo] password for pi:
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 http://sourceforge.net/p/dfu-util/tickets/

Found DFU: [0483:df11] ver=2200, devnum=4, cfg=1, intf=0, path="1-1.1.2", alt=3, name="@Device Feature/0xFFFF0000/01*004 e", serial="207631674730"
Found DFU: [0483:df11] ver=2200, devnum=4, cfg=1, intf=0, path="1-1.1.2", alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e", serial="207631674730"
Found DFU: [0483:df11] ver=2200, devnum=4, cfg=1, intf=0, path="1-1.1.2", alt=1, name="@Option Bytes  /0x1FFFC000/01*016 e/0x1FFEC000/01*016 e", serial="207631674730"
Found DFU: [0483:df11] ver=2200, devnum=4, cfg=1, intf=0, path="1-1.1.2", alt=0, name="UNKNOWN", serial="207631674730"

This looks strange. Maybe the bootloader is burned?

If you feel brave, try installing Katapult:

git clone https://github.com/Arksine/katapult
cd katapult
make menuconfig #<------------- Use the same settings as for Klipper
make

Put the board into DFU and then issue:

sudo dfu-util -R -a 0 -s 0x08000000:force:mass-erase:leave -D ~/katapult/out/katapult.bin -d 0483:df11

Then try flashing Klipper as per the command above.

i dont know if I am feeling that brave :). I am off to formnext so I wont be able to reply until Monday, but thank you for your help so far and ill try any suggestions when I return.

1 Like

its likely this same issue, seems to be an issue with the bootloader.

same error will appear if you try and use dfu to install katapult

did some searching as i have the same board.

the issue can be fixed by updating from dfu-util 0.9 to 0.11

you can do this by compiling a new version like this:

git clone git://git.code.sf.net/p/dfu-util/dfu-util
cd dfu-util
./autogen.sh
./configure  # on most systems
sudo make install

dfu mode now works as expected

4 Likes
pi@Jeff:~ $ git clone git://git.code.sf.net/p/dfu-util/dfu-util
Cloning into 'dfu-util'...
remote: Enumerating objects: 2488, done.
remote: Counting objects: 100% (2488/2488), done.
remote: Compressing objects: 100% (1274/1274), done.
remote: Total 2488 (delta 1801), reused 1660 (delta 1207)
Receiving objects: 100% (2488/2488), 467.02 KiB | 988.00 KiB/s, done.
Resolving deltas: 100% (1801/1801), done.
pi@Jeff:~ $ cd dfu-util
pi@Jeff:~/dfu-util $ ./autogen.sh
./autogen.sh: 2: autoreconf: not found
pi@Jeff:~/dfu-util $ ls
AUTHORS  autogen.sh  ChangeLog  configure.ac  COPYING  device-logs  DEVICES.txt  dfuse-pack.py  doc  INSTALL  Makefile.am  msvc  README  src  TODO  www
pi@Jeff:~/dfu-util $

Thanks for the suggestion. Do you have any idea why “autoreconf” is not found?

no idea unfortunately, it worked first time when i tried it

maybe try these pre-reqs from the readme

  sudo apt-get build-dep dfu-util
  sudo apt-get install libusb-1.0-0-dev
sudo apt-get install autoconf

Thank you @Sineos and @mjfsch. Updating the DFU-UTIL has sorted the issue, along with running the apt-get install autoconf command

If either of you are visiting SMRRF let me know and ill buy you a beer :slight_smile:

1 Like