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.
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.