#Error after Klipper firmware update on SKR1.4 - mcu : Unable to open serial port...

72 messages · Page 1 of 1 (latest)

digital zodiac
#

Folks, I shared this Q in the ⁠klipper channel but got no traction. Can someone here please help -

I have a 2.4 thats is a few years old, This happened when I was updating it to the latest klipper. I see this error in klippy.log
mcu : Unable to open serial port: [Errno 2] could not open port ...
This happened when I updated the klipper firmware on my SKR1.4 to v0.12.0. The bahavior is that the MCU is unable to connect to klipper. I can confirm from command line by running ls /dev/serial/by-id/* I see no results & get this error
ls: cannot access '/dev/serial/by-id/': No such file or directory*

When I revert back the firmware version to v0.10.0 [using the old CUR file] the error goes away & Klipper is happily able to connect to the SKR1.4 running a the old firmware.

My Q to the good folks here is - How do I update the SKR 1.4 to the latest version without breaking it? Here is what my menuconfig looks like which I used to build the latest firmware.

hasty ginkgo
#

Unless you have an actual hardware programmer for lpc chipps

digital zodiac
#

should that be the other option?

#

i'll try with that...

#

Seems like it is the same setting as this one from the voron guide

#

Target board uses Smoothieware bootloader

#

seems similar to

#

16Kib bookloader (Smoothieware bootloader)

#

i'll try and reply back here.

hasty ginkgo
#

Yep

#

The exact text has changed a couple of times for some reason

digital zodiac
#

okay I made progress. I flashed with these settings

#

This change fixed it..

#

Voron_Heart 🎉

#

thanks @hasty ginkgo

flat dune
#

So I opened the klippy log and saw this in it how can I fix this problem

hasty ginkgo
flat dune
#

Sorry I meant to do that but got confused but Im pretty sure I have flashed the board but could you explain that to me so I can know for sure

hasty ginkgo
# flat dune Sorry I meant to do that but got confused but Im pretty sure I have flashed the ...

Well, I don't know enough about your system to give a very detailed answer, but broadly speaking, you build some firmware with something like

cd ~/klipper
make menuconfig
make clean
make

and then you either copy it to an sdcard, or use dfu flashing, or some means to get that firmware onto the mcu

then you use ls /dev/serial/by-id/* to get the actual ID of the board, and that goes into your config, in the [serial] section

flat dune
#

Yeah I have done that

hasty ginkgo
#

well you pretty clearly havent done the last bit of it

#

given that you posted a screenshot of klipper trying to connect to "<your-mcu-id>"

#

which is the spot where you're supposed to drop in the actual id

#

unless of course that's old log data

#

did you scroll to the BOTTOM (aka, the newest part) of the log?

flat dune
#

Oh sorry I took it out to try something I forgot I did that but I've put it back in and scrolled to the bottom of the log

hasty ginkgo
#

okay, and what error are you getting down there?

flat dune
#

I don't see an error

#

But I do also have another issue if you could help me with that too please

#

It's in mainsail

hasty ginkgo
#

what's that?

flat dune
hasty ginkgo
# flat dune

then there should be an error in the klipper log to match

#

did you hit the restart button after you edited the mcu id back in?

#

what did you have for an mcu id?

flat dune
#

the id was usb-Klipper_stm32g0b1xx_26002E001350415833323520-if00

hasty ginkgo
#

okay, and what exactly does the [mcu] section look like now?

flat dune
#

in the log?

hasty ginkgo
#

or directly from printer.cfg

#

but yes, from the log would be ideal

#

just make sure it's the most recent version (lowest in the file)

flat dune
#

that is the very bottom

hasty ginkgo
#

no

#

the [mcu]

#

section

#

like, the section you edited and put the id into

flat dune
#

oh sorry

hasty ginkgo
#

where the heck did "by-path" come from?

flat dune
#

im not sure

hasty ginkgo
#

also, why do you have the same id in there for 2 different boards?

flat dune
#

was the id in supposed to be in the top one or the bottom one

hasty ginkgo
#

I don't really know. What board did you retrieve that id FROM?

#

if it's from your main controller, then it's the top one, [mcu]

#

if it's some toolhead board known as pth (what board even is that?) then it should go there, in [mcu pth]

flat dune
#

the config came from the LDO docs site. the toolboard is the nitehawk from them

hasty ginkgo
#

wonder how they got from "nitehawk" to "pth"

#

oh well, point is, the nitehawk id goes in the second one there

flat dune
#

ok

hasty ginkgo
#

but in both cases, it should be "by-id" not "by-path", just the same as in the ls /dev/serial/by-id/* command

flat dune
#

like this?

hasty ginkgo
#

have you flashed the nitehawk and gotten an ID for it yet?

flat dune
#

no

hasty ginkgo
#

so it's fine for now. but of course, klipper isn't going to start properly until you have BOTH boards configured, since printer.cfg is calling for both of them

flat dune
#

ok

hasty ginkgo
#

still, if you try to restart klipper now, I imagine you'll see a shift from it complaining about mcu: mcu to complaining about mcu:pth

#

once you see that, you can kinda read between the lines, and trust that it's successfully communicating with the first mcu

flat dune
#

im doing that now

#

yeah it says mcu pth

hasty ginkgo