Printer Model: Creality Ender V3 SE
MCU / Printerboard: GD32F303
Host / SBC: Orange Pi Zero 2W 1GB
Host OS: Orange Pi Ubuntu image for Orange Pi Zero 2W 1GB
Klipper installed klippy.log (224.9 KB) lsusb.log (378 Bytes)
Describe your issue:
Hello. I have been trying to setup my Ender V3 SE with Klipper and Mainsail. I followed the above mentioned guides, however I receive a “mcu ‘mcu’: Unable to connect” message after completing the steps. I installed Klipper and Mainsail using KIAUH on Ubuntu. I have already tried the following fault finding steps:
Originally used USB for klipper.bin compile. But other guide + printer.cfg recommended Serial, so switched to USART1 PA10/PA9, nil change to fault
Didn’t realise that I needed to change the firmware filename during early fault finding, this is now being done, nil change to fault
Printer does seem to be flashed as screen is not working anymore as expected
Printer.cfg originally used: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 . However I have now tried both this and the serial reported in dmesg: /dev/ttyS0 , nil change to fault
Because I have no idea how long flashing is taking, I have been assuming at least 5 minutes before powering off the printer, removing the SD card and starting the printer again
Any help would be greatly appreciated. Due to limitations on first posts, I will attempt to attach some more logs in subsequent posts
Forgot to mention that at some point during the fault finding I also removed brltty, nil change to fault. I’m thinking of recompiling the firmware again switching back to USB this time instead of Serial but with the modified printer.cfg (/dev/ttyS0). Although I thought I tried this before, it was before I realised that I needed a different filename for the firmware. This will also be with the “Disable SWD on startup” as recommended in Printer.cfg
After not initially being able to see the printer using: ls /dev/serial/by-id/*, I simply disconnected and reconnected the USB cable and it came up. So it appears that the microcontroller was flashed. Physically opened up the printer and the MCU is a: GD32F303 with an 8MHz crystal besides it. According to this, the MCU should be supported with the options that I already provided when compiling but using Serial USART1.
So I reflashed again using these parameters, reconnected the USB cable, confirmed lsdevserial could see the device but no change to fault. I then reconfigured printer.cfg back to using /dev/ttyS0, restarted, reconnected USB cable, confirmed connection via lsdevserial but still no change to fault. I also tried it using the device serial number provided by ls /dev/serial/by-id but this also didn’t fix the fault.
The only thing I haven’t tried yet that I can think of is that I haven’t tried all of the other USART ports on the MCU. So I might try these one at a time sometime tomorrow, unless somebody can think of something I haven’t tried yet.
Just realised that dmesg is reporting the device as ttyUSB0. So I reconfigured printer.cfg to use this instead, double checked lsdevserialbyid and then restarted in Mainsail, but no change to fault. I might also try flashing again with USB while this option is configured in printer.cfg sometime tomorrow.
Just got it working. Before I got it working I tried the following fault finding steps:
Used id to verify my linux user was part of tty and dialout groups, it was so no change was required
Tried every single Serial port 1 at a time, no change to fault
When using Serial, tried using 115200 baud rate, nil change to fault
Noticed Vender and Product USB IDs in dmesg, so tried these but no change to fault
Used D00vy’s firmware mentioned here. This worked. But I have no idea why his compilation works because I tried almost every combination which made sense when compiling