I’ll start out saying, i’m not very good with this stuff…
I have an Ender 5+.
I had it setup with octoprint and klipper from a guide I found a couple years ago, and it worked OK for me to get klipper installed, working on octoprint, and pressure advance tuned ok ish.
Recently my SD Card became corrupt, and like an idiot I didn’t have anything backed up.
So I’m trying to setup the system again from less than scratch and it’s kicking my ass.
I’ve decided i’d like to try Mainsail, as it’s interface looks interesting (no other reason) But I can’t for the life of me get it working.
EVERY guide I try and follow seems to fail on the connect between klipper and the printer.
I can flash the klipper firmware successfully, and have updated the port ID in the printer.cfg file, but it always comes back to klipper not being able to see/access the port.
Any help would be appreciated here.
What hardware are you using for hosting klipper and mainsail? Are you using a pi and mainsail os or a pi with raspberry pi os and kiauh to setup klipper and mainsail? Could you post your klippy.log?
Hardware is a Pi4, 4GB. I’ve looked through the log, don’t know how to upload file here for you to look through it, and it’s too long for character limit. It does indicate issues with the serial port, either permission denied in the case i tried tty0 symlink, or no such file or directory when going strait to the serial/by-id.
I’ve tried many setups. First was following https://www.klipper3d.org/Installation.html#obtain-a-klipper-configuration-file With octopi. Next was another guide that I can’t seem to find the link to again. But was a default raspbian lite x32, and installing klipper and mainsail on top with kiauh. next was this guide https://www.obico.io/blog/install-klipper-ender-3/ which I modified for the Ender5+ (what processor to compile for)
I’ve had varying success, initial try the USB wouldn’t show in serial/by-id, I swapped cables and still had no entry. Swapped cables back and tried the next guide/OS, and that gave me the entry in serial/by-id.
also I Tried using the symlink tty0, but that didn’t work either.
For the current OS/Setup I think i’ve messed with too many things, and just need to start over from fresh OS. But I can’t think of anything different to try.
Since you mention permissions/access denied, have you given your user permissions to use serial? You can do this with:
sudo usermod -a -G dialout $USER
What is the output of:
ls -al /dev/serial/by-id/*
This is likely the problem. I’ll try it when I get off work.
Thanks!!
Thank you for pointing me in the right direction.
Pi Imager lets you option for a username change. I changed it originally, and mainsail is setup for “pi” user normally.
I reflashed with pi Imager, without changing username, and it all is working now.
Awesome, I’m glad you we were able to get it solved and it get everything back working.
Are you still having issues? I just rebuilt my e5p (Klipper, Fluidd, bigtreetech skr mini e3 v3, and new screen) and have been working out the bugs. Everything is working good so far, but still need to find tune the printer.
Nope, found my problem with the install of mainsail being a permissions thing.
I’m still running the stock board, but have upgraded to a remote direct drive extruder.
Have you tried using another USB cable? I got stuck for too long on account of using a non-data cable…
Have you verified the /dev/serial/… file path to the printer? Have you tried changing the path to match other people’s config file? I believe the path is determined by the STM chip on the printer mainboard, so anyone else with an Ender 5+ might have the correct path.
Only other suggestion is to check if the host is successfully opening the connection with the printer. You can try lsusb and dmesg and scrub through the output to see if the STM device is being registered properly.
This is my best advice as a Linux novice. When in doubt, as much as I hate to say it, there might be an old Reddit post of someone having the same issue.
Also, make sure [include mainsail.cfg] is present in your printer.cfg file. Apparently this is important when changing frontends (octoprint -> mainsail).
Would you mind sharing how you found the port ID and the line you made for it in printer.cfg? Assuming the USB cable works, this is the next thing I’d check.
Found the port ID by ls /dev/serial/by-id/* I only have one usb device connected, the printer.
I didn’t make a new line in the printer.cfg, just edited the [mcu] serial: /dev/serial/by-id/usbXXXXXXXX To match the id I found in the previous command.