K1-Klipper / installer_script_k1_and_max

43 stars 7 forks source link

MCU Protocol error #6

Closed jrezin closed 6 months ago

jrezin commented 6 months ago

Just factoy reseted my K1Max to try this, after following the installation instructions (and installing moonraker+fluidd to see detailed info), the following error occours:

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: 6e0c7b95
MCU(s) which should be updated:
mcu: Current version 1.3.0.40-5-g6977eaff-dirty-20230711_100121-ubuntu
nozzle_mcu: Current version 1.3.0.40-5-g6977eaff-dirty-20230711_100254-ubuntu
leveling_mcu: Current version 1.3.0.40-5-g6977eaff-dirty-20230711_095416-ubuntu
rpi: Current version v0.11.0-372-gb9ad7605
Up-to-date MCU(s):

Once the underlying issue is corrected, use the "RESTART"
command to reload the config and restart the host software.

mcu 'nozzle_mcu': Command format mismatch: query_adxl345 oid=%c rest_ticks=%u vs query_adxl345 oid=%c clock=%u rest_ticks=%u

trying to reboot the machine gives the following

"Can not update MCU 'mcu' config as it is shutdown
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Error configuring printer"

tried to poke around in the services, and manually run the mcu_update service

root@K1Max /etc/init.d [#] sh S13mcu_update  start
fw_dir: K1

and looked at the logs:

root@K1Max /etc/init.d [#] cat /tmp/.mcu_version
{ "mcu0": { "serial": "\/dev\/ttyS7", "version": "" }, "bed0": { "serial": "\/dev\/ttyS9", "version": "" }, "noz0": { "serial": "\/dev\/ttyS1", "version": "" } }

and:

root@K1Max /etc/init.d [#] cat /tmp/mcu_update.log
[2020-03-01 14:17:11] usart_rec_Process: identify fail
usart_rec_Process: error
[2020-03-01 14:17:11] handshake /dev/ttyS7 fail, ret=2
[2020-03-01 14:17:14] usart_rec_Process: select time out, state = 2
usart_rec_Process: select time out, state = 2
usart_rec_Process: select time out, state = 2
usart_rec_Process: timeout
[2020-03-01 14:17:14] handshake /dev/ttyS9 fail, ret=1
[2020-03-01 14:17:15] usart_rec_Process: identify fail
usart_rec_Process: error
[2020-03-01 14:17:15] handshake /dev/ttyS1 fail, ret=2
[2024-01-29 14:33:06] usart_rec_Process: identify fail
usart_rec_Process: error
[2024-01-29 14:33:06] handshake /dev/ttyS7 fail, ret=2
[2024-01-29 14:33:09] usart_rec_Process: select time out, state = 2
usart_rec_Process: select time out, state = 2
usart_rec_Process: select time out, state = 2
usart_rec_Process: timeout
[2024-01-29 14:33:09] handshake /dev/ttyS9 fail, ret=1
[2024-01-29 14:33:11] usart_rec_Process: identify fail
usart_rec_Process: error
[2024-01-29 14:33:11] handshake /dev/ttyS1 fail, ret=2
 ┌──────────────────────────────────────────────────────────────┐
 │                       [ SYSTEM MENU ]                        │
 ├──────────────────────────────────────────────────────────────┤
 │                                                              │
 │      System: Linux (Kernel 4.4.94)                           │
 │    Firmware: 1.3.3.5                                         │
 │    Hostname: K1Max                                           │
 │  IP Address: 192.168.1.XXX (ETHERNET)                        │
 │   RAM Usage: 29 MB / 209 MB (14% available)                  │
 │  Disk Usage: 577.0M / 6.5G (5.6G available)                  │
 │      Uptime: 0 days 0 hours 22 minutes                       │
 │   Processes: 98 running process                              │
 │ System Load: 0.38 (1 min.) / 0.47 (5 min.) / 0.44 (15 min.)  │
 │                                                              │
 ├──────────────────────────────────────────────────────────────┤

I can't think of anything else, but if there's any other information that may be helpful, just ask. Thanks!

sbtoonz commented 6 months ago

you need to flip the power switch on the back of the machine after the latest update to allow the toolhead board to get flashed with the updated FW

jrezin commented 6 months ago

As a follow up, after many tries and reboots yesterday, I gave up, turned everything off and went to bed. Today, after turning K1Max on, the MCU messages are gone.

It seems to be working in fluidd, but the touch screen doesn't get temperatures, fans and filament runout sensor looks triggered on the screen.

Just printed an OrcaCube in PETG to test and it printed fine.

sbtoonz commented 6 months ago

Checkout "Guppyscreen" project to replace the touchscreen interface with something a little snazzier and that works with the updated klipper

https://github.com/ballaswag/guppyscreen