prusa3d / Prusa-Firmware-Buddy

Firmware for the Original Prusa MINI, Original Prusa MK4 and the Original Prusa XL 3D printers by Prusa Research.
Other
1.15k stars 221 forks source link

[BUG] Printer Main screen not loading after firmware update 5.1.2 #3629

Closed kldmurshed closed 3 weeks ago

kldmurshed commented 9 months ago

MK4

5.1.2

Original

USB drive or USB/Octoprint USB

Describe the bug After updating the firmware 5.1.2 the screen freezes on the Prusa Screen Bootloader 2.3.4

How to reproduce Every time I boot the screen

Expected behavior Should load the printer main screen

https://github.com/prusa3d/Prusa-Firmware-Buddy/assets/869951/59104efa-ff14-40c9-ba38-bf4061f625de

tempImageFNyzWw

bkerler commented 9 months ago

Which fw version did you upgrade from ? It might resolve the issue if you downgrade to an older bootloader (5.1.0) and then retry to upgrade. Also make sure you use a different usb stick just to make sure, some people have issues with the prusa usb stick.

Tobiyashi commented 9 months ago

I had the same issue with the previous firmware. It helped for me to pull the usb stick after the orange bar reached the middle and stopped. The printer then asked for a stick with the bbf file and i inserted the stick again. The flashing then continued as expected.

kldmurshed commented 9 months ago

Which fw version did you upgrade from ? It might resolve the issue if you downgrade to an older bootloader (5.1.0) and then retry to upgrade. Also make sure you use a different usb stick just to make sure, some people have issues with the prusa usb stick.

I have attempted to upgrade from the previous version 5.1.0 multiple times, even utilizing a new USB stick. Despite several retries and a few instances of downgrading and upgrading, I have not achieved success.

bkerler commented 9 months ago

Did you try downgrading to a much older firmware such as 4.4.x ?

bkerler commented 9 months ago

Another possibility for flashing the firmware would be using prusaslicer and a serial usb cable afair

Area5142 commented 9 months ago

I'm encountering the same issue with firmware version 5.1.2. When I initiate the upgrade process using the "MK4_MK3.9_firmware_5.1.2.bbf" file on a Prusa memory stick, the printer starts upgrading the bootloader and then the firmware. However, it never reaches the main menu. Pressing the reset button or cycling the power does not resolve the issue.

Upon downgrading to firmware version 5.1.0, I was able to access the main menu again. This suggests that the problem is specifically with firmware version 5.1.2. Notably, even though the bootloader was keept as version 2.3.4 during the downgrade process, the printer still functioned normally with firmware 5.1.0.

nils91 commented 9 months ago

Seeing something kinda similar on the MINI+, but the behaviour is a bit weird. Already posted on the forum: https://forum.prusa3d.com/forum/hardware-firmware-and-software-help/mini-wont-boot-to-menu-from-cold/

"Since i´ve flashed the 5.1.2 update onto my printer, i have a very weird problem, where the printer won´t boot fully. It will load the firmware (bar goes to 100%), it completes the short fan self test at startup (fans stop spinning), but it w´ont beep and it w´ont go to the menu. An immediate reboot doesn´t fix it, but if i leave the printer in that state for at least a couple minutes it will boot fully, and as far as i can tell, seems fine and prints.

If a USB stick with the 5.1.2 firmware is connected at cold boot, it will reflash that, but still gets stuck when booting. But same as above, if i leave it for a bit, then reboot, it boots to menu as expected without reflashing."

I think i´ll downgrade for now...

neslekkim commented 9 months ago

This happens on the XL for me, not on the MK4. I ran 4.7.5 -> 5.1 without problems, but with 5.1.2 with the new bootloader, then I couldn't upgrade, the firmware installation was sitting for more than two hours, but nothing finished. After booting it, it gets to 50% like the picture above, and newer boots. Removing the memorystick, replacing the firmware to 5.1.0, it downgrades itself to that version, and it works fine, but if the fw is on the memory stick, it nows flashes the firmware on EVERY boot. This does not happen on my MK4, the fw file is on there (5.1.2 though), and it does not flash it self every boot, so that is stable, but my XL this is tragic. And yes, I don't use the prusa usbstick, that stick is just rubish, so I use an sandisk, have same make&model on both MK4 and XL

This is also discussed in the forums, but it seems that the forums is just a place to let people let out steam, rather than getting any sort of help from Prusa.

kikolobo commented 8 months ago

I have the same issue on an MK4. Downgrading work. Downgrading to an older version and then upgrading did not worked for me. Still hangs. Awaiting new fw with fix.

dukea42 commented 8 months ago

I'll add one more to hopefully raise this priority. If my MK4 needs to restart after a 5.1.2 upgrade (power loss, manual power cycle, reset button, etc.), it hangs on the boot screen. Forced to reinstall 5.1.0 to complete a full boot to main screen. If I'm stubborn and try powering off and on a bunch (dozens of times) - it may eventually boot as expected with 5.1.2.

FreeBSDGeek commented 8 months ago

I hate ot just add a me to but I am seeing the same thing.
New MK4, Tried 3 different USB sticks, made sure they where FAT32, downloaded the firmware a few times, but no luck. 5.1.0 installs fine but 5.1.2 hangs after the update at the bootloader screen.

khenderick commented 8 months ago

I have the same thing. Been in contact with support for the issue and we tried various things such as factory reset etc. Sometimes it helps when I power down (cut power) after it flashed (and is stuck on 100%), but not always.

One thing that support said should not be happening is that the bootloader flashes non-interactively. Apparently the bootloader should always ask before flashing if there's a firmware file found on the USB stick. Is it interactive with any of you?

They also suggested to change the battery on the motherboard, but I didn't have a CR1220. Anybody here already tried whether replacing the battery helped?

neslekkim commented 8 months ago

Regarding changing the battery, what data are we loosing then?, need to do full calibration again? (Not so bad on the MK4, but it's tedious on the XL)

khenderick commented 8 months ago

Not sure. I removed the battery to check what type it was, but since I didn't have any I placed it back, and I didn't notice any loss of data or settings.

khenderick commented 8 months ago

Went to buy a new battery, and unfortunately replacing the battery didn't work.

FreeBSDGeek commented 8 months ago

My Bootloader does not prompt either. If it finds a firmware, it just starts the firmware flash. I thought that was normal, glad to hear it is not but mine is doing the same thing.

I worked with support last night. We tried a number of things and nothing solved it. In the end we flashed 5.1.0 in (that one works) and he was going to pass the problem off to the MK4 firmware team. I haven't heard back yet. He didn't mention the battery but we did to a complete factory reset as well as disconnect all the motors and Nextruder and try it then. Nothing fixed the 5.1.2 hang yet.

kikolobo commented 8 months ago

This is a bootloader bug or firmware bug. It won’t work until they fix the FW. My guess is that there are some components in the wild that are slightly different in our control boards and they are not compatible with the BL. But then again this is just a guess. It might be many things, but for sure it is a software/firmware issue

there’s not much we can do until they fix it.

FreeBSDGeek commented 8 months ago

I agree, I think it is something in the Bootloader but it must be an interaction of the Bootloader and something in the firmware. 5.1.2 is the only one I see the problem with. With the same bootloader (2.3.4) I have tried firmware 5.1.0, 5.0.0, 4.7.3 and they all work fine.

It would be great if we could move back to an older bootloader to test but it seems that once the bootloader if updated, it stays.

kikolobo commented 8 months ago

Sounds right. An interaction of the BL with the FW…

it might be possible to downgrade the BL using an older firmware that has a boot loader update in it.. but it’s a guess.

I think we should wait for an update since the cycle of new releases should be close.

kikolobo commented 8 months ago

Any news if the latest firmware fixes this for everyone? I am in the middle of a large job and can't update for now to check.

kikolobo commented 8 months ago

Tried the latest 5.1.3. issue still persists... Tried downgrading to an older firmware with boot loader downgrade.. The flashing went smooth but once trying to go back to the latest firmware the issue came back again. Guess has something to do with the UART upgrade process.

larsinka commented 8 months ago

I have the same issue, printer doesn't boot

FreeBSDGeek commented 8 months ago

Same issue still as well. I tried upgrading to the new 5.1.3 and it still is stuck trying to boot. I see the progress bar move across to 100% and then it just says locked up at that point. The 5.1.3 firmware didn't solve the issue.

kikolobo commented 8 months ago

Here’s my solution. Factory Reset with “clear all settings and flash firmware with USB” or a similar options. I did that and the 5.1.3 flashed fine for me.

khenderick commented 8 months ago

@kikolobo is that a permanent fix? I also did that with the 5.1.2, but it still gets stuck every now and then. Restarting the printer a dozen times usually gets it to boot up. If you leave the firmware on the USB stick, does it automatically flash the firmware again every time the printer starts?

kikolobo commented 8 months ago

Don’t know if it’s permanent. So far so good. We’ll see what happens on the next update.

it does attempt to refresh every time....

kldmurshed commented 8 months ago

Here’s my solution. Factory Reset with “clear all settings and flash firmware with USB” or a similar options. I did that and the 5.1.3 flashed fine for me.

This solution worked for me. Thank you for bringing this up.

Update: It worked for a while, then the printer stopped booting after a couple of prints. Same issue again. I had to go back to version 5.1.0

kikolobo commented 8 months ago

I spoke to soon 😊 Upon another reboot the screen froze again 😕

theloukou commented 8 months ago

Seeing something kinda similar on the MINI+, but the behaviour is a bit weird. Already posted on the forum: https://forum.prusa3d.com/forum/hardware-firmware-and-software-help/mini-wont-boot-to-menu-from-cold/

"Since i´ve flashed the 5.1.2 update onto my printer, i have a very weird problem, where the printer won´t boot fully. It will load the firmware (bar goes to 100%), it completes the short fan self test at startup (fans stop spinning), but it w´ont beep and it w´ont go to the menu. An immediate reboot doesn´t fix it, but if i leave the printer in that state for at least a couple minutes it will boot fully, and as far as i can tell, seems fine and prints. If a USB stick with the 5.1.2 firmware is connected at cold boot, it will reflash that, but still gets stuck when booting. But same as above, if i leave it for a bit, then reboot, it boots to menu as expected without reflashing."

I think i´ll downgrade for now...

Having the same issue on MINI with last firmware. Loading bar at 100% and just freezes. Bought the printer 6 days ago, so no idea about behavior with other FW versions. Mine has done this EVERY time i turned it on (which is 4 in total, i haven't printed a lot, but still 100%), besides first boot after build (had not upgraded FW yet then thought). Haven't figured out what exactly makes it boot eventually. Tried reseting, removing USB, fully pulling the PSU plug. at some point in just boots. Seems like nothing will ever touch an ATmega and Marlin1 for stability...

bkerler commented 8 months ago

@theloukou this is a clear indication that there is something wrong in reading the eeprom. This happens if you move from very old to latest firmware versions as it seems. Try to downgrade again to the original firmware and then update the firmware version by version.

khenderick commented 8 months ago

It also happens if you update version by version. Since PrusaSlicer embeds the latest firmware version in the gcode so the printer warns about it, I always update the printer's firmware right away.

theloukou commented 8 months ago

@theloukou this is a clear indication that there is something wrong in reading the eeprom. This happens if you move from very old to latest firmware versions as it seems. Try to downgrade again to the original firmware and then update the firmware version by version.

This does not make any sense to me whatsoever? If there was a coding issue with reading the EEPROM (whether it be different structure, or whatever), that would have to happen all the time, and never (eventually)boot. Booting can still happen, just havent figured out what is the actual sequence to do that. I hope they find the root and fix it soon. I was already doubting buying a MINI, now i'm doubling down...

kikolobo commented 8 months ago

I don’t know what the root cause is but it is annoying. Hope they fix it soon. And I am sure they will.

queaker commented 7 months ago

I have the same issue with my xl2t. after upgrading from 5.1.0 to 5.1.2 the device isn't booting any more....

bkerler commented 7 months ago

@theloukou this is a clear indication that there is something wrong in reading the eeprom. This happens if you move from very old to latest firmware versions as it seems. Try to downgrade again to the original firmware and then update the firmware version by version.

This does not make any sense to me whatsoever? If there was a coding issue with reading the EEPROM (whether it be different structure, or whatever), that would have to happen all the time, and never (eventually)boot. Booting can still happen, just havent figured out what is the actual sequence to do that. I hope they find the root and fix it soon. I was already doubting buying a MINI, now i'm doubling down...

On boot, the configuration store is being read from eeprom, which resides on the loveboard. Basically it could be any initialisation that fails that keeps the bootloader from booting, but if that happens on an upgrade, it's much likely either the eeprom or the esp causing this specific issue. Can you reset to factory settings and see if the behaviour changes on the next start ?

Also it's very different depending on MINI, MK4 and XL and of course if it hangs at 50% or 100%.

bkerler commented 7 months ago

I have the same issue with my xl2t. after upgrading from 5.1.0 to 5.1.2 the device isn't booting any more....

@queaker Did you upgrade via usb stick or via prusaslicer ? Can you flash 5.1.0 via prusaslicer and then upgrade to 5.1.2 via prusaslicer ?

bkerler commented 7 months ago

@kikolobo after you did the reset, did you change some settings before it was hanging again ? and if yes, which settings did you change ?

theloukou commented 7 months ago

@theloukou this is a clear indication that there is something wrong in reading the eeprom. This happens if you move from very old to latest firmware versions as it seems. Try to downgrade again to the original firmware and then update the firmware version by version.

This does not make any sense to me whatsoever? If there was a coding issue with reading the EEPROM (whether it be different structure, or whatever), that would have to happen all the time, and never (eventually)boot. Booting can still happen, just havent figured out what is the actual sequence to do that. I hope they find the root and fix it soon. I was already doubting buying a MINI, now i'm doubling down...

On boot, the configuration store is being read from eeprom, which resides on the loveboard. Basically it could be any initialisation that fails that keeps the bootloader from booting, but if that happens on an upgrade, it's much likely either the eeprom or the esp causing this specific issue. Can you reset to factory settings and see if the behaviour changes on the next start ?

Also it's very different depending on MINI, MK4 and XL and of course if it hangs at 50% or 100%.

I am having this issue on a MINI+ (as @nils91 is), so no loveboard, no ESP plugged in either. Also it didnt happen the first time after an upgrade (the upgrade booted just fine actually). It happens EVERY time (needless to say that there is no update happening everytime...). If you "blame" the EEPROM and initialization sequence, then either there is something in that sequence that is not optimized for all printers, or there is some bug/issue between MINI's Buddy board and the unified firmware. Unfortunately i have no experience with Marlin2, let alone the STM32 firmware, so there is no hope and time for me to even start looking into it on my side.

bkerler commented 7 months ago

@theloukou As this normally doesn't happen (and it's impossible to find that bug/issue) I think it would require you to send in the board so the issue can be debugged using Jtag. Please ask Prusa support if that would be possible.

khenderick commented 7 months ago

I've been in contact with support regarding this issue and they didn't ask to send the board back. However, I stopped getting updates on that ticket, so not sure on the state.

Note however that you can just update to an older version and the new bootloader will (without issue) boot in that version. It's only the new 2.3.4 bootloader in combination with >= 5.1.2 that gives the issue. 2.3.4 + 5.1.0 is fine.

queaker commented 7 months ago

I have the same issue with my xl2t. after upgrading from 5.1.0 to 5.1.2 the device isn't booting any more....

@queaker Did you upgrade via usb stick or via prusaslicer ? Can you flash 5.1.0 via prusaslicer and then upgrade to 5.1.2 via prusaslicer ?

I did a downgrade to 5.1.0 via usb-drive. after the downgrade the printer starts again. but now i have to confirm every print because there is a new firmware.

i tried the upgrade again yesterday. but this time from prusa connect. another attempt to upgrade to 5.1.2 again results in the printer no longer starting.

is there anything i can do to help diagnose the problem? i'm a computer science graduate with a specialization in embedded systems. i haven't dealt with the device yet, though, because i just see it as a tool that i don't really want to tinker with. if there's anything i can do, i'm open to helping troubleshoot. i just need to know what....

bkerler commented 7 months ago

@queaker I assume you didn't get any warning or error on upgrading ? My guess is that either the bootloader is never really upgraded (or something prevents the upgrade) or that a specific eeprom setting might prevent booting. If you downgrade to a version without bootloader upgrade and you upgrade the firmware I assume you aren't hitting this issue ?

queaker commented 7 months ago

@queaker I assume you didn't get any warning or error on upgrading ?

unfortunately i have no errors during the update / downgrade.

My guess is that either the bootloader is never really upgraded (or something prevents the upgrade) or that a specific eeprom setting might prevent booting.

with a downgrade and upgrade, something seems to happen with the interpretation or the update of the eeprom. if 5.1.0 was installed, it forgets that the nozzle size is requested and saved as part of the calibration in 5.1.2. this setting is then requested again with an update from 5.1.0 to 5.1.2.

does it make sense to reset the content somehow? the factory default settings will only reset the parameters that the user can manipulate to the default values, right?

If you downgrade to a version without bootloader upgrade and you upgrade the firmware I assume you aren't hitting this issue ?

I did the firmware downgrade (from XL_firmware_5.1.2.bbf) as follows.

  1. i copied the old firmware (XL_firmware_5.1.0.bbf) version on the usb-stick
  2. I pressed and held the rotary knob at startup to force a firmware install
  3. I watched the printer during the firmware downgrade.

i don't know whether the bootloader is also downgraded. should i start the downgrade in another way? how do i install the 5.1.2 firmware without updating the bootloader?

bkerler commented 7 months ago

@queaker to be honest, I haven't looked too deep into the bootloader process, that's clearly on my todo to fully understand how it works. What you could try is to use the prusaslicer and the usb connection instead to flash the firmware (if that does change anything). Having a look at the firmware here, only the hard reset does wipe the previous firmware, whereas both the soft reset and the hard reset do wipe the eeprom values. A hard reset and then to flash the 5.1.2 (ideally via prusaslicer) would definitely be worth a try.

bkerler commented 7 months ago

@khenderick Mhmm so it clearly is something that was introduced with 5.1.2 as the bootloader is the same in your case.

khenderick commented 7 months ago

@khenderick Mhmm so it clearly is something that was introduced with 5.1.2 as the bootloader is the same in your case.

Indeed. And support told me also it was highly unexpected that the bootloader didn't interactively ask me to flash the firmware (even if it was a downgrade, or it was the same version as was already in place). Maybe that helps your insights in the issue.

queaker commented 7 months ago

On 6.0.0-alpha the machine is still not booting after an upgrade from 5.1.0.

https://github.com/prusa3d/Prusa-Firmware-Buddy/assets/4228208/c000454f-edc0-4ad0-80da-70798174f1af

FreeBSDGeek commented 7 months ago

I was able to solve the issue. Working with Prusa Support, they replaced my xBuddy board and I can now flash the newer firmware and it does not hang at the bootloader. I'm not sure what issue on the xBuddy board would cause this but I am glad it is fixed.

bkerler commented 7 months ago

@FreeBSDGeek Thanks for letting us know.

queaker commented 7 months ago

i contacted customer support today with the case. they guided me through a hard reset. since then the printer boots reliably even after an update.

https://help.prusa3d.com/article/factory-reset-mk4-xl_421206

So there seem to be various problems here. @FreeBSDGeek have you tried a hard reset? or did you replace the board directly?