-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Stuck at language selection when selecting German #3558
Comments
How do you update with plugin? Two avrdude commands are needed to flash properly on prusa. That plugin doesn't do that correctly: |
You must use PrusaSlicer to update the firmware if you are using languages. The problem with firmwareupdater is that it uses regular avrdude which doesn't upload also the language data. As a result, when you update to 3.11.1-RC1 with firmwareupdater, the language data is still from the old firmware, hence why it doesn't work there, but works once you revert back to 3.11.0 |
Thanks for the hint. I'm flashing with PrusaSLicer next time. Hopefully the plugin will get an update in the future. |
@BeeCave Please consider to close this issue. |
@BeeCave Can you confirm that the flashing with Prusa Slicer solved the issue? If so please close this issue. |
@3d-gussner Yes, flashing with Prusa Slicer solved the issue. |
@leptun Are broken USB to serial converters still used in MK3S+? Tried to use avrdude without workaround for ';' character on my 2 months old mk3s+ and it failed, so looks like it. Anyway for brave people: |
@arekm it is not “broken”. In the prusa 32u2 usb to serial firmware, “;” is used as an escape character for commands addressed to the 32u2 chip. This has been the standard since the MK2 and it hasn’t changed since the release of the MK3 (except some minor command expansion recently). So the “;” workaround is still needed. What were the arguments that you provided avrdude and what avrdude version did you use? |
Comment in code says "infamous ';' bug" so thought it is bug. My goal was to get stock 'avrdude' working somehow. By intializing mk3 hardware for external flashing (via char entry_magic_receive[] = "w25x20cl_enter\n") first and then calling stock avrdude. That unfortunately won't work if ";" workaround is needed as stock avrdude doesn't have it.
(/tmp/tmp5ipknjf_ contains only second section of firmware, that with languages) |
Try using “wiring” as the programmer type in avrdude (-c wiring). This is what I’m using with stock avrdude and I’ve had no upload issues (somehow) |
"-c wiring" for base firmware works well on stock avrdude for me, too but not for languages. Just tested -c wiring for languages part. So using -c wiring with languages part of hex only (== second firmware section after first :00000001FF marker in hex file). Patched avrdude to issue w25x20cl_enter command.
so printer goes into proper mode
but "wiring" mode doesn't work for external flash / languages. (btw. PrusaSlicer uses "-c arduino" for languages) I guess there is no way to use stock avrdude for flashing languages. btw. |
It may be in the correct mode, but it most likely will not be after avrdude is called. The problem is that when avrdude is called, the serial port is opened again and that triggers a reset of the printer, rendering your previous w25x20cl_enter attempts useless.
Yeah, I think that's correct. The "arduino" protocol is simpler, so that one was used instead to save on flash.
It might be possible to use it, but it probably won't be easy. Just for reference, this is the code in prusaslicer that does this (in the patched avrdude): https://github.com/prusa3d/PrusaSlicer/blob/991f2bdbd18cbc18912147d7886bb1e1e3412742/src/avrdude/arduino.c#L84
For the Prusa-Firmware, it is https://github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/optiboot_xflash.cpp. The slicer part was linked above. |
In my testing serial was opened only once (by avrdude) because I used
exactly this approach - patched wiring code for avrdude to do external flash init. To see if wiring would work. But it didn't (log pasted earlier). Well, we will need to live with a patched avrdude ;( |
Printer type - [MK3S+]
Printer firmware version - [3.11.0, 3.11.1-RC1]
USB/Octoprint
Since 3.11.0 and 3.11.1-RC1 stuck at language selection
Hi all,
since Firmware 3.11.0 and 3.11.1-RC1 i'm stuck in the language selection menu when choosing the german language (Deutsch). Selecting the English works. Selecting the German language in 3.10.1 works flawlessly.
I'm using https://plugins.octoprint.org/plugins/firmwareupdater/ to flash new firmware.
Regards
Markus
To Reproduce
Flash 3.11.0 or 3.11.1-RC1 and select "German - Deutsch"
Expected behavior
Selecting German language works and doesn't end in a loop.
The text was updated successfully, but these errors were encountered: