Jump to content

BEWARE: Latest Klipper update breaks symlink to mcu on USB connected devices


mvdveer

Recommended Posts

Buurman
This post was recognized by Buurman!

mvdveer was awarded the badge 'Great Support' and 100 points.

Just came across this on discord. May or may not be relevant to you but be aware that the latests Klipper update may break the symlink to the mcu:

  • Like 7
Link to comment
Share on other sites

Here is a fix for those that updated, that I copied from the discord chanel:

 

"Shiftingtech V2.011 — Today at 4:03 AM
A bug has been introduced in Debian Bullseye (which includes current MainsailOS), which prevents the symlinks in /dev/serial/by-id/ from being created. If your printer can't connect to the MCU anymore after a system update, you can check if it is caused by that bug by checking the installed version of udev with 

apt show udev

 If your version is 247.3-7+deb11u2 you have the broken package installed and should replace it with the "backports" version. Take special care about the last number ("u2"). 

1. Install a working version from debian backports
To install the working version of 252.5-2~bpo11+1 (one line, use copy & paste):

cd ~;wget http://ftp.us.debian.org/debian/pool/main/s/systemd/libudev1_252.5-2~bpo11+1_`dpkg --print-architecture`.deb http://ftp.us.debian.org/debian/pool/main/s/systemd/udev_252.5-2~bpo11+1_`dpkg --print-architecture`.deb;APT_LISTCHANGES_FRONTEND=none sudo apt install --fix-broken ./libudev1_252.5-2~bpo11+1_`dpkg --print-architecture`.deb ./udev_252.5-2~bpo11+1_`dpkg --print-architecture`.deb; rm libudev1_252.5-2~bpo11+1_`dpkg --print-architecture`.deb udev_252.5-2~bpo11+1_`dpkg --print-architecture`.deb  

This command should just want to install the two packages (udev & libudev).  If it tries to do something else, particularly removing a large quantity of packages, stop and reassess the situation

2. Reboot
After doing that reboot the pi by running

sudo reboot

and Klipper should connect again to your MCU."
 

 

  • Like 11
  • Thanks 1
Link to comment
Share on other sites

Thanks for the heads up.

I've held off on the latest Klipper, Moonraker, and OS updates showing. My spidey-sense was saying I didn't really need to because I didn't care about any of the changes listed and I might break something. Turns out that was a good call.

  • Like 3
Link to comment
Share on other sites

Yea, I didn't get the memo in time.   I verified that the update I downloaded was in-fact the version that breaks things.

The weird thing though, is that even after rolling back the updates, my pi still cand access the mcu.    In fact, my spare pi's and Windows PC can no longer detect it either.

So either the update somehow permanently killed the USB-c port on my Octopus board or in a wildly improbable event,  immediately after downloading an update that kills the USB link, the MCU USB port died.

 

Anyway,  I ordered a new Octopus board.

  • Like 1
Link to comment
Share on other sites

Just posted the same question, then found this topic.

I was able to revert the update, the printer is now working again, don't know if is relevant, but i re-flashed the board (Octopus 1.1)with the latest Klipper, as 

with the old firmware wasn't connecting anymore, weird things are happening in my Voron...

Thank you for the help

  • Like 1
Link to comment
Share on other sites

49 minutes ago, Manny said:

Just posted the same question, then found this topic.

I was able to revert the update, the printer is now working again, don't know if is relevant, but i re-flashed the board (Octopus 1.1)with the latest Klipper, as 

with the old firmware wasn't connecting anymore, weird things are happening in my Voron...

Thank you for the help

Maybe im doing something wrong, but even my OrangePi and CB1, which havn't been updated in months aren't connecting to my Octopus.  Does the octopus have to be disconnected from 24v to be flashed, or the stepper drivers removed?  Anything obvious that i'm missing, because reflashing the Octopus hasn't helped. 

Ive retried it several times so far, and even though the reflash seems to work, none of my Pi's will recognize it.

Link to comment
Share on other sites

I didn't disconnect anything, simply inserted the memory card with the new firmware and powered up.

Checked that the Firmware.cur was present after, but nothing else.

Maybe your bootloader is gone, it happened in the past to me, used STM32 Cube programmer to upload it again and problem sorted.

here you have the latest one if needed, don't know which processor you have(446 or 429), so check it before uploading.

I do have a working version of the Cube programmer if you need it, the one you download from the official website have some issues with Octopus.

PS. you need to power up the board with 24 volts to flash the bootloader when in DFU mode.

It worked for me.

 

OctoPus-F446-bootloader-32KB.hexOctopus-F429-bootloader-32KB(Flash 1MB).hex

  • Like 1
Link to comment
Share on other sites

1 minute ago, Manny said:

I didn't disconnect anything, simply inserted the memory card with the new firmware and powered up.

Checked that the Firmware.cur was present after, but nothing else.

Maybe your bootloader is gone, it happened in the past to me, used STM32 Cube programmer to upload it again and problem sorted.

here you have the latest one if needed, don't know which processor you have(446 or 429), so check it before uploading.

I do have a working version of the Cube programmer if you need it, the one you download from the official website have some issues with Octopus.

PS. you need to power up the board with 24 volts to flash the bootloader when in DFU mode.

It worked for me.

OctoPus-F446-bootloader-32KB.hex 87.23 kB · 0 downloads Octopus-F429-bootloader-32KB(Flash 1MB).hex 77.78 kB · 0 downloads

mine has the 446 processor.

Ive reflashed it both ways, while still in the printer with everything connected and now, just a few minutes ago, removed from the printer with the stepper drivers removed.  Every way I've tried, the firmware.cur is present after the flash.  It seems to be successful, but the Pi still won't recognize the board.

 

Ill give the bootloader a try.

Link to comment
Share on other sites

35 minutes ago, Manny said:

 

I downloaded the cube programmer, then followed the instructions in the .pdf

The process of re-flashing the Octopus bootloader was easy and seemed to complete successfully, but after removing the boot jumper, reflashing the firmware with the firmware.bin sd card,  it still isnt recognized my any of my Pi's or my Windows PC.

Weird that with the "boot" jumper in place, my windows computer had no trouble finding the board and reflashing the bootloader.  But, without the "boot" jumper, the computer and Pi's can't detect the Octopus.

 

I have a new Octopus on the way from Amazon.  I should have it Saturday.

  • Like 1
Link to comment
Share on other sites

20 minutes ago, Manny said:

can you share the Klipper "make menuconfig" setup you used please?

If your PC recognise the board, then your PI should too...

Thanks

I followed this step-by-step, and used the SD card method of flashing the board

Octopus (Pro) Klipper Firmware | Voron Documentation (vorondesign.com)

 

As per those instructions, I use the following settings in the menuconfig

Select "enable extra low-level configuration options"

micro-controller architecture set to STMicroelectronics STM32

Processor model to STM32F446

32KiB bootloader

Clock reference to 12mhz crystal

communications inferface to "usb (on pa11/pa12)

 

 

When I said that the PC recognizes the board, i meant that when in "boot mode", with the "boot" jumper in place and after holding the reset button for 5 seconds, as per the PDF you linked, during the process of reflashing the bootloader with the stm cube programmer.  It shows up in the device manager as a STM32 Bootloader.

 

In normal mode, with the boot jumper removed,  my pc doesn't recognize it.  

 

 

Edited by ken226
Link to comment
Share on other sites

It happened to me a while ago when i was messing around with CanBoot, i set up the Bootloader offset at 12KiB instead of 32 and it wasn't recognise the board anymore, it took me a while to figure out what was wrong.

If the DFU mode is working, then there's nothing wrong with your USB port, it must be something else...

  • Like 1
Link to comment
Share on other sites

8 minutes ago, Manny said:

It happened to me a while ago when i was messing around with CanBoot, i set up the Bootloader offset at 12KiB instead of 32 and it wasn't recognise the board anymore, it took me a while to figure out what was wrong.

If the DFU mode is working, then there's nothing wrong with your USB port, it must be something else...

Yea, that makes sense.

But figuring out what is wrong seems a little over my head at this point.

Link to comment
Share on other sites

Ok, this is really weird.  I tried reflashing the firmware on the octopus from my CB1, via SSH and using the DFU method.  So, the reflash worked, and now my CB1 recognizes the Octopus board.

So, I removed the CB1 and connected my Raspberry Pi, and it recognizes the Octopus baord too.  

So, i guess, WoHoo!  maybe!  Now i gotta put all this crap back together and see if it works.image.jpeg.c25c2f731372ae2df9d02d5fc9872734.jpeg

Link to comment
Share on other sites

1 hour ago, Manny said:

Welcome to the club then🤣, i'm glad it worked.

let's see if is all running after all...

The printer seems to work, but now it's acting weird.

Trying to test print, and the hotend fan turns itelf off,  then comes back on when the extruder reaches its target temperature.  The Stealthburner neopixels flicker some weird colors.

it struggles with the gantry levelling.  Lots of retries.

Then, right before it starts printing, I get an error . Something like,  "canceled, probe probe triggered prior to movement"  

 

It's acting like it has erratic voltage somewhere, or some electrical noise.  None of this has ever happened before. 

Edited by ken226
Link to comment
Share on other sites

1 hour ago, Manny said:

Do you have the CanBus on the extruder?

 

No, no CanBus.   Everything is wired to a HartK stealthburner PCB.

 

Everything has been working great for the last 6 months, since I built it.  Great, until now anyway.  

 

The hotend fan thing is very odd.   When the printer boots up, the hotend fan comes on immediately, even while the mainsail interface shows it to be off.   

Then, when I try to start a print, the hotend fan shuts off while the hotend starts heating (mainsail shows the fan ON, the whole time).  When the extruder gets to within about 10-20 degrees of the commanded temp, the hotend fan comes back on (mainsail still shows it ON).   

If I manually control the hotend temp,  the same happens.  The moment the hotend PID goes to 100%, the fun cuts off.  The moment the PID starts cycling, the fan comes back on.

My best guess, is that while the hotend power draw is at 100%, the voltage to the hotend fan drops.  When the PID starts cycling, then the voltage comes back up.  But, it only seems to effect the hotend fan. All of the other fans work as they should.

 

Another observation:   Quad gantry level works fine with the hotend off.  But while it's powered,  it keeps probing until it errors out.   And the speed its probing at seems to change🤨.     Like, Tap.......Tap.........Tap.........Tap.Tap.Tap.Tap............Tap...Tap........Tap.        But, with the hotend turned off,  perfectly, evenly timed and does the QGL normally.  Somethings definitely funky with this thing.

 

It's certainly getting replaced, but at this point im still kinda studying, just out of curiosity.   

 

Edited by ken226
Link to comment
Share on other sites

Nevermind my last two posts regarding the weird fan, hotend and probe behavior.  I'm an idiot.

I had the 24v + power supply and the ground to the HartK PCB swapped at the Octopus board.  

 

The lost MCU connection due to the Debian update, failing to flash via SD, having to reflash the bootloader, and having to reflash the firmware via DFU were real problems. 

 

But everything in my last two posts about weird behavior was due to a rookie mistake.

 

Thanks @Manny for the info on reflashing the bootloader, and for the f446 bootloader hex file.  It's running good now, test printing a Voron calibration cube.

Edited by ken226
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...