Q1 Pro: MCU Protocol error when building Klipper from upstream for iDryer

Hey everyone! Could use some advice on where to look.
Printer is a q1 pro, I built and flashed the firmware following the instructions on the website, and got the Klipper sources from here: https://github.com/Klipper3d/klipper.git
I connect to the printer, see “MCU Protocol error”, and this in klippy.log:
Loaded MCU ‘mcu’ 105 commands (v0.10.0-530-g3387a9c2-dirty-20221222_010328-mkspi / gcc: (15:7-2018-q2-6) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907] binutils: (2.31.1-12+11) 2.31.1)
MCU ‘mcu’ config: BUS_PINS_spi0a=gpio0,gpio3,gpio2 BUS_PINS_i2c0h=gpio28,gpio29 BUS_PINS_spi0c=gpio16,gpio19,gpio18 BUS_PINS_spi0d=gpio20,gpio23,gpio22 BUS_PINS_i2c0b=gpio4,gpio5 BUS_PINS_i2c0c=gpio8,gpio9 BUS_PINS_i2c1c=gpio10,gpio11 BUS_PINS_i2c0a=gpio0,gpio1 BUS_PINS_i2c0f=gpio20,gpio21 BUS_PINS_i2c0g=gpio24,gpio25 BUS_PINS_i2c1g=gpio26,gpio27 BUS_PINS_i2c0e=gpio16,gpio17 BUS_PINS_i2c0d=gpio12,gpio13 BUS_PINS_i2c1e=gpio18,gpio19 BUS_PINS_i2c1f=gpio22,gpio23 BUS_PINS_spi1c=gpio24,gpio27,gpio26 BUS_PINS_spi1b=gpio12,gpio15,gpio14 BUS_PINS_spi1a=gpio8,gpio11,gpio10 STATS_SUMSQ_BASE=256 RECEIVE_WINDOW=192 SERIAL_BAUD=250000 BUS_PINS_i2c1d=gpio14,gpio15 BUS_PINS_i2c1b=gpio6,gpio7 STEPPER_BOTH_EDGE=1 BUS_PINS_i2c1a=gpio2,gpio3 ADC_MAX=4095 PWM_MAX=255 BUS_PINS_spi0b=gpio4,gpio7,gpio6 MCU=rp2040 CLOCK_FREQ=12000000
mcu ‘iDryer’: Starting serial connect
Protocol error
Traceback (most recent call last):
File “/home/mks/klipper/klippy/klippy.py”, line 194, in _connect
self.send_event(“klippy:mcu_identify”)
File “/home/mks/klipper/klippy/klippy.py”, line 285, in send_event
return [cb(*params) for cb in self.event_handlers.get(event, )]
File “/home/mks/klipper/klippy/mcu.py”, line 774, in _mcu_identify
self._serial.connect_uart(self._serialport, self._baud, rts)
File “/home/mks/klipper/klippy/serialhdl.py”, line 194, in connect_uart
ret = self._start_session(serial_dev)
File “/home/mks/klipper/klippy/serialhdl.py”, line 96, in _start_session
msgparser.process_identify(identify_data)
File “/home/mks/klipper/klippy/msgproto.py”, line 402, in process_identify
output.values())
File “/home/mks/klipper/klippy/msgproto.py”, line 380, in _init_messages
self._error(“Multi-byte msgtag not supported”)
File “/home/mks/klipper/klippy/msgproto.py”, line 244, in _error
raise error(self.warn_prefix + (msg % params))
error: mcu ‘iDryer’: Multi-byte msgtag not supported
Unable to retrieve mcu_version from mcu
Traceback (most recent call last):
File “/home/mks/klipper/klippy/klippy.py”, line 170, in _build_protocol_error_message
mcu_version = mcu.get_status()[‘mcu_version’]
KeyError: ‘mcu_version’
Unable to retrieve mcu_version from mcu
Traceback (most recent call last):
File “/home/mks/klipper/klippy/klippy.py”, line 170, in _build_protocol_error_message
mcu_version = mcu.get_status()[‘mcu_version’]
KeyError: ‘mcu_version’
Build file /home/mks/klipper/klippy/../.config(1353): Tue Sep 26 15:21:44 2023

🇷🇺 Оригинал

Всем привет! Подскажите, куда копать.
Принтер q1 pro, прошивку собрал и залил по инструкции на сайте, исходники клиппера взял отсюда: https://github.com/Klipper3d/klipper.git
Подключаю к принтеру, вижу “MCU Protocol error” и вот такое в klippy.log:
Loaded MCU ‘mcu’ 105 commands (v0.10.0-530-g3387a9c2-dirty-20221222_010328-mkspi / gcc: (15:7-2018-q2-6) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907] binutils: (2.31.1-12+11) 2.31.1)
MCU ‘mcu’ config: BUS_PINS_spi0a=gpio0,gpio3,gpio2 BUS_PINS_i2c0h=gpio28,gpio29 BUS_PINS_spi0c=gpio16,gpio19,gpio18 BUS_PINS_spi0d=gpio20,gpio23,gpio22 BUS_PINS_i2c0b=gpio4,gpio5 BUS_PINS_i2c0c=gpio8,gpio9 BUS_PINS_i2c1c=gpio10,gpio11 BUS_PINS_i2c0a=gpio0,gpio1 BUS_PINS_i2c0f=gpio20,gpio21 BUS_PINS_i2c0g=gpio24,gpio25 BUS_PINS_i2c1g=gpio26,gpio27 BUS_PINS_i2c0e=gpio16,gpio17 BUS_PINS_i2c0d=gpio12,gpio13 BUS_PINS_i2c1e=gpio18,gpio19 BUS_PINS_i2c1f=gpio22,gpio23 BUS_PINS_spi1c=gpio24,gpio27,gpio26 BUS_PINS_spi1b=gpio12,gpio15,gpio14 BUS_PINS_spi1a=gpio8,gpio11,gpio10 STATS_SUMSQ_BASE=256 RECEIVE_WINDOW=192 SERIAL_BAUD=250000 BUS_PINS_i2c1d=gpio14,gpio15 BUS_PINS_i2c1b=gpio6,gpio7 STEPPER_BOTH_EDGE=1 BUS_PINS_i2c1a=gpio2,gpio3 ADC_MAX=4095 PWM_MAX=255 BUS_PINS_spi0b=gpio4,gpio7,gpio6 MCU=rp2040 CLOCK_FREQ=12000000
mcu ‘iDryer’: Starting serial connect
Protocol error
Traceback (most recent call last):
File “/home/mks/klipper/klippy/klippy.py”, line 194, in _connect
self.send_event(“klippy:mcu_identify”)
File “/home/mks/klipper/klippy/klippy.py”, line 285, in send_event
return [cb(*params) for cb in self.event_handlers.get(event, )]
File “/home/mks/klipper/klippy/mcu.py”, line 774, in _mcu_identify
self._serial.connect_uart(self._serialport, self._baud, rts)
File “/home/mks/klipper/klippy/serialhdl.py”, line 194, in connect_uart
ret = self._start_session(serial_dev)
File “/home/mks/klipper/klippy/serialhdl.py”, line 96, in _start_session
msgparser.process_identify(identify_data)
File “/home/mks/klipper/klippy/msgproto.py”, line 402, in process_identify
output.values())
File “/home/mks/klipper/klippy/msgproto.py”, line 380, in _init_messages
self._error(“Multi-byte msgtag not supported”)
File “/home/mks/klipper/klippy/msgproto.py”, line 244, in _error
raise error(self.warn_prefix + (msg % params))
error: mcu ‘iDryer’: Multi-byte msgtag not supported
Unable to retrieve mcu_version from mcu
Traceback (most recent call last):
File “/home/mks/klipper/klippy/klippy.py”, line 170, in _build_protocol_error_message
mcu_version = mcu.get_status()[‘mcu_version’]
KeyError: ‘mcu_version’
Unable to retrieve mcu_version from mcu
Traceback (most recent call last):
File “/home/mks/klipper/klippy/klippy.py”, line 170, in _build_protocol_error_message
mcu_version = mcu.get_status()[‘mcu_version’]
KeyError: ‘mcu_version’
Build file /home/mks/klipper/klippy/../.config(1353): Tue Sep 26 15:21:44 2023

You’re building from the current version, but QIDI has an old one installed. Build it right on the QIDI.

🇷🇺 Оригинал

Собираешь из текущей версии, а в киди стоит старая. Прям в киди собери.

But QIDI has the wrong Python version…

Or is it only needed to upload to the controller?

🇷🇺 Оригинал

В киди же питон не той версии…

Или он только для закачки в контроллер нужен?

What does Python have to do with it? [iz chata]

🇷🇺 Оригинал

а причем тут питон? [iz chata]

I mixed it up with something else, I’ll try it on the QIDI

tried building right on the QIDI - menuconfig is different from what’s on the website, and after compiling it doesn’t create the klipper.bin needed for flashing, so no luck so far

🇷🇺 Оригинал

Это я перепутал с чем-то, попробую на киди

попробовал прямо в киди - menuconfig отличается от того, что на сайте, после компиляции не создаётся klipper.bin, который нужен для заливки прошивки, в общем без успеха пока