Basic Information:
Component | Ender 3 V2 Neo | Ender 3 S1 Pro |
---|---|---|
Board | Creality V4.2.2 (GD32F303RET6) | Creality V2.4.S1 (STM32F401CCU6) |
Host Controller | Raspberry Pi 4B (64-bit OS) | Raspberry Pi 4B (64-bit OS) |
Klipper | v0.12.0 | v0.12.0 |
Moonraker | v0.9.3 | v0.9.3 |
Fluidd | v1.25.0 | v1.25.0 |
Core Issue
The problem began when I tried to flash Klipper on both printers. Despite following all official steps and multiple guides, nothing worked.
Incorrect Hardware Detection
When connecting the printers via USB and running lsusb
, the system identifies them as:
- Bus 001 Device 010: ID 1a86:7523 QinHeng Electronics CH340 serial converter
This is strange because (I asked an AI since I couldn’t find this specific problem documented anywhere) they should appear as “GD32” (Ender 3 V2 Neo) or “STM32” (Ender 3 S1 Pro).
Klipper Cannot Communicate
When starting Klipper, constant errors appear in the logs:
- “JSON-RPC Request Error: printer.info - Method not found”
This indicates Klipper can’t talk to the boards, as if they weren’t there.
Failed Flashing (I think - no way to confirm)
I’ve tried:
- Different filenames: firmware.bin, firmware-CREALITY.bin, firmware69.bin, firmwareql.bin, etc. (Files never exceed 40KB, always 36-38KB)
- SD formats: FAT32 with 4096-byte clusters
- Reinstalls: Klipper reinstalled 7+ times (via KIAUH and manually) (with respective reflashes)
But the bootloader never responds:
- The screen either freezes on the logo or shows nothing (which should be normal with Klipper), but the firmware doesn’t load.
- No flashing records appear in
dmesg
(nothing like dfu or stm32).
What I’ve Investigated and Tried
I found no references, but when I asked an AI, it suggested the “CH340” chip (used for USB-serial communication on these boards) might be blocking bootloader access. That is:
The CH340 hogs the USB connection, preventing the computer from seeing the main MCU (GD32/STM32).
- This is why
lsusb
only shows CH340 and not the real microcontroller. And I don’t know how to fix this.
Bootloader Locked or Inaccessible
In theory, these boards’ bootloaders should:
- Read the .bin file from the SD card on startup
- Load the new firmware
But in my case:
- Filename doesn’t matter** (I’ve tried all suggested ones)
- Folder doesn’t matter** (even STM32F4_UPDATE)
- The bootloader simply doesn’t respond**
The AI told me:
- GD32F303**: Klipper has experimental support, but Creality’s bootloader might be modified.
- STM32F401**: The CH340 might be preventing DFU mode entry (required for flashing).