Octoprint won't recognize firmware (/tmp/printer)

Hi all,

I’m trying to install klipper/octoprint on my ender3V2. It’s been a long night so far I have:

installed octoprint (1.7.0)
installed klipper and compiled firmware according to this article ( Installing Klipper on Ender 3 v2 with BLTouch · Miron Vranješ)
flashed the firmware to my board (black screen)
plugged in usb from pi to 3D printer
put /tmp/printer in the “additional serial ports” section of octoprint settings
hit save
refreshed octoprint (a billion times)

right now I cannot select "/tmp/printer’ from either the drop down in the settings menu or the dropdown in the main octoprint page. There aren’t any good troubleshooting guides for this kind of issue. I’ve seen a lot of people with unstable /tmp/connections or they had/lost their connection. But I can’t even establish the connection. I think octoprint sees my printer, in the dropdown there is /dev/tty/USB0 but no /tmp/printer

Make sure to have followed Installation - Klipper documentation. Have you started the Klipper service?

Post your Klipper log file ( /tmp/klippy.log)

In PuTTY when I try to start klipper service while in the klipper directory it says “Failed to start klipper.service: unit klipper.service not found” the command doesn’t work in the main directory either.
Miron’s article didn’t have any steps between flashing the klipper file on to the Ender3 and adding /tmp/printer to the SerialPorts on OctoPrint. The main Klipper documentation seems to be addressing boards that can have firmware flashed over USB, from what I’ve read so far that isn’t possible with the Ender 3, hence Miron’s article

I don’t seem to have a Klipper log file either, I looked in the klipper and klippy folders. And the SD card on my printer only has the bin file with the firmware.

If the service file doesn’t exist, that means you didn’t run the install script, or it didn’t complete successfully.

Run

sudo apt-get --allow-releaseinfo-change update
sudo apt-get dist-upgrade

then closely follow the information:

Thanks, I’m working my way through the process as I have time. I was able to successfully make/configure a firmware file. I had to revert to Jyers firmware to get some prints done but I hope to finish the process tonight.

So I have uploaded the klipper.bin file to the mainboard of the printer. I have copied and pasted the config file into the main folder of the raspberry pi directory. So far I am getting this error message about MCU.

Recv: // mcu ‘mcu’: Unable to connect
Recv: // Once the underlying issue is corrected, use the
Recv: // “FIRMWARE_RESTART” command to reset the firmware, reload the
Recv: // config, and restart the host software.
Recv: // Error configuring printer
Recv: // Klipper state: Not ready
Recv: !! mcu ‘mcu’: Unable to connect

I know I need to change the line in the config file to match the serial address of the machine, however when I try this command "ls /dev/serial/by-id/" I get an error message in ssh saying "ls: cannot access '/dev/serial/by-di/’: no such file or directory

It looks like I don’t have a dev folder, would that be with some other package download that I should have done?

This sounds like a firmware flashing issue. Quoting the config file linked above

# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must end in ".bin" and must not match the last filename
# that was flashed.

Some boards are a bit picky when it comes to accepting the firmware. In doubt repeat multiple times but make sure you rename the firmware file every time, e.g. blabla1.bin, blabla2.bin …

I’ve tried flashing the firmware a bunch of times but it’s not fixing anything.

When I try to find the serial address I can find the /dev directory but there is no serial directory within that. I’m assuming this means my Pi and 3D printer aren’t talking but I don’t know how to get them to work together. I’ve tried different cords, the different USB ports on the Pi.
I’ve sent the command lsusb and get this result

“Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 021: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub”

I think this means that there is some connection just not one that Klipper wants to work with.

The board flashes marlin just fine, and before I started trying to install Klipper the printer would connect to the PI with base octopi.

Please provide the exact type of your board.
I would guess that Enders are very common in the Klipper user base, so it is proven to work quite painlessly.

It’s the Creality 4.2.2 board with the STM32F103 processor

You might try starting over because the documentation has changed.

Before installing klipper you need to run this command 1st!!!

sudo apt update --allow-releaseinfo-change

Then proceed with installing.

Why?
‘Suite’ value from ‘stable’ to ‘oldstable’ N: This must be accepted explicitly before updates for this repository can be applied.

This worked for me and many, many others.