OctoPrint / OctoPrint-FirmwareUpdater

OctoPrint plugin for flashing pre-compiled firmware images to a 3D printer.
https://plugins.octoprint.org/plugins/firmwareupdater/
GNU Affero General Public License v3.0
353 stars 78 forks source link

I can't use the Firmware Updater plugin #362

Closed luisr320 closed 4 months ago

luisr320 commented 4 months ago

Hardware Setup I have a Prusa iMK3S, with a Raspberry Pi 4B, which works fine. I can upload the Gcode from Prusa Slicer by Wifi to the Octoprint Server and the printer works fine.

Describe the problem

No matter what I do, I just can't flash the new firmware into the printer. I get the message "Starting flash...", it hangs for about 30 seconds and then i get a "Flashing failed; Timeout communicating with the programmer".

Please HELP!. Thank you

Log Files

Firmware updater log:

2024-07-08 14:12:29,295 /usr/bin/avrdude -v -q -p m2560 -c wiring -P /dev/ttyAMA0 -D -U flash:w:/tmp/tmpnhg61777:i 2024-07-08 14:12:29,864 > 2024-07-08 14:12:29,865 > avrdude: Version 6.3-20171130 2024-07-08 14:12:29,865 > Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ 2024-07-08 14:12:29,865 > Copyright (c) 2007-2014 Joerg Wunsch 2024-07-08 14:12:29,866 > 2024-07-08 14:12:29,866 > System wide configuration file is "/etc/avrdude.conf" 2024-07-08 14:12:29,866 > User configuration file is "/home/pi/.avrduderc" 2024-07-08 14:12:29,866 > User configuration file does not exist or is not a regular file, skipping 2024-07-08 14:12:29,867 > 2024-07-08 14:12:29,867 > Using Port : /dev/ttyAMA0 2024-07-08 14:12:29,867 > Using Programmer : wiring 2024-07-08 14:12:29,867 > 2024-07-08 14:12:32,785 > avrdude: stk500v2_ReceiveMessage(): timeout 2024-07-08 14:12:32,786 > 2024-07-08 14:12:36,794 > avrdude: stk500v2_ReceiveMessage(): timeout 2024-07-08 14:12:36,795 > 2024-07-08 14:12:40,803 > avrdude: stk500v2_ReceiveMessage(): timeout 2024-07-08 14:12:40,805 > 2024-07-08 14:12:44,812 > avrdude: stk500v2_ReceiveMessage(): timeout 2024-07-08 14:12:44,813 > 2024-07-08 14:12:48,820 > avrdude: stk500v2_ReceiveMessage(): timeout 2024-07-08 14:12:48,821 > 2024-07-08 14:12:52,830 > avrdude: stk500v2_ReceiveMessage(): timeout 2024-07-08 14:12:52,830 > avrdude: stk500v2_getsync(): timeout communicating with programmer 2024-07-08 14:12:52,831 > 2024-07-08 14:12:52,832 > avrdude done. Thank you. 2024-07-08 14:12:52,832 >

Octopi log:

2024-07-08 12:48:27,506 - octoprint.server.heartbeat - INFO - Server heartbeat <3 2024-07-08 12:48:27,527 - octoprint.plugins.octoeverywhere - INFO - Server con wss://lon.octoeverywhere.com/octoclientws[1] IS past it's RunFor time 2 days, 22:19:37.241884 and IS past it's time since last user activity 2 days, 22:19:34.540668 2024-07-08 12:48:27,527 - octoprint.plugins.octoeverywhere - INFO - Server con wss://lon.octoeverywhere.com/octoclientws[1] RunFor is complete and will be disconnected. 2024-07-08 12:48:27,528 - octoprint.plugins.octoeverywhere - INFO - Closing all open web stream sockets (0) 2024-07-08 12:48:27,528 - octoprint.plugins.octoeverywhere - INFO - OctoServerCon websocket close start. IsPrimary?:True; wsId:2530712144 2024-07-08 12:48:27,531 - octoprint.server - INFO - --- Log roll over detected --------------------------------------------------- 2024-07-08 12:48:27,531 - octoprint.server - INFO - OctoPrint 1.10.2 2024-07-08 12:48:27,533 - octoprint.plugin.core - INFO - 34 plugin(s) registered with the system: | Achievements Plugin (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/achievements | Action Command Notification Support (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/action_command_notification | Action Command Prompt Support (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/action_command_prompt | Announcement Plugin (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/announcements | Anonymous Usage Tracking (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/tracking | Application Keys Plugin (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/appkeys | Backup & Restore (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/backup | Bed Leveling Plugin (2.1.3) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_CR10_Leveling | Bed Visualizer (1.1.1) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_bedlevelvisualizer | Cancel Objects (0.5.0) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_cancelobject | Classic Webcam (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/classicwebcam | Core Wizard (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/corewizard | Dashboard (1.19.11) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_dashboard | Discovery (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/discovery | Error Tracking (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/errortracking | Event Manager (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/eventmanager | File Check (2024.3.27) (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_file_check | FileManager (0.1.6) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_filemanager | Firmware Check (2021.10.11) (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_firmware_check | Firmware Updater (1.14.1) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_firmwareupdater | GCode Viewer (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/gcodeviewer | ipOnConnect (0.2.4) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_ipOnConnect | Logging (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/logging | OctoEverywhere! (3.4.3) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_octoeverywhere | Pi Support Plugin (2023.10.10) (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_pi_support | Plugin Manager (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/pluginmanager | Printoid Plugin (1.2.1) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_printoid | Prusa Leveling Guide (1.0.18) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_PrusaLevelingGuide | Pushover (0.3.8) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_pushover | Slicer Thumbnails (1.0.7) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_prusaslicerthumbnails | Software Update (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/softwareupdate | Themeify (1.2.2) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_themeify | Virtual Printer (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/virtual_printer | WiFi Status (1.9.0) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_wifistatus Prefix legend: ! = disabled, # = blacklisted, * = incompatible 2024-07-08 12:48:27,599 - octoprint.plugins.octoeverywhere - INFO - Service websocket closed. 2024-07-08 12:48:27,616 - octoprint.plugins.octoeverywhere - INFO - OctoServerCon disconnect complete. 2024-07-08 12:48:27,671 - octoprint.plugins.octoeverywhere - INFO - Disconnected from OctoEverywhere, server con wss://lon.octoeverywhere.com/octoclientws[1] 2024-07-08 12:48:27,678 - octoprint.plugins.octoeverywhere - INFO - Closing all open web stream sockets (0) 2024-07-08 12:48:27,694 - octoprint.environment - INFO - Detected environment is Python 3.7.3 under Linux (linux). Details: | hardware: | cores: 4 | freq: 1500.0 | ram: 1909071872 | os: | bits: 32 | id: linux | platform: linux | plugins: | pi_support: | model: Raspberry Pi 4 Model B Rev 1.1 | octopi_camera_stack: webcamd | octopi_version: 0.18.0 | octopiuptodate_build: 0.18.0-1.8.6-20221018093204 | octopiuptodate_build_short: 2022.10.18.093204 | throttle_check_enabled: true | throttle_check_functional: true | throttle_state: '0x50000' | python: | pip: 20.3.3 | version: 3.7.3 | virtualenv: /home/pi/oprint 2024-07-08 12:48:27,695 - octoprint.server - INFO - ------------------------------------------------------------------------------ 2024-07-08 12:48:27,684 - octoprint.plugins.octoeverywhere - INFO - Server con wss://lon.octoeverywhere.com/octoclientws[1] IS past it's RunFor time 2 days, 22:19:37.399298 and IS past it's time since last user activity 2 days, 22:19:34.698080 2024-07-08 12:48:27,750 - octoprint.plugins.octoeverywhere - INFO - Server con wss://lon.octoeverywhere.com/octoclientws[1] RunFor is complete, disconnected, and exiting the main thread. 2024-07-08 12:48:27,763 - octoprint.plugins.octoeverywhere - INFO - RepeatTimer thread exit 2024-07-08 12:48:27,784 - octoprint.plugins.octoeverywhere - INFO - Attempting to use lowest latency server: wss://lon.octoeverywhere.com/octoclientws 2024-07-08 12:48:27,825 - octoprint.plugins.octoeverywhere - INFO - Attempting to talk to OctoEverywhere, server con wss://lon.octoeverywhere.com/octoclientws[1] wsId:2505363408 2024-07-08 12:48:28,290 - octoprint.plugins.tracking - INFO - Sent tracking event ping, payload: {'octoprint_uptime': 13, 'printer_state': 'OPERATIONAL'} 2024-07-08 12:48:28,535 - octoprint.plugins.octoeverywhere - INFO - Connected To OctoEverywhere, server con wss://lon.octoeverywhere.com/octoclientws[1]. Starting handshake... 2024-07-08 12:48:29,405 - octoprint.plugins.octoeverywhere - INFO - Handshake complete, server con wss://lon.octoeverywhere.com/octoclientws[1], successfully connected to OctoEverywhere! 2024-07-08 12:48:29,605 - octoprint.plugins.tracking - INFO - Sent tracking event pong, payload: {'version': '1.10.2', 'os': 'linux', 'bits': 32, 'python': '3.7.3', 'pip': '20.3.3', 'cores': 4, 'freq': 1500.0, 'ram': 1909071872, 'pi_model': 'Raspberry Pi 4 Model B Rev 1.1', 'octopi_version': '0.18.0', 'octopiuptodate_build': '0.18.0-1.8.6-20221018093204', 'plugins': 'wifistatus:1.9.0,themeify:1.2.2,prusaslicerthumbnails:1.0.7,pushover:0.3.8,prusalevelingguide:1.0.18,printoid:1.2.1,iponconnect:0.2.4,firmwareupdater:1.14.1,filemanager:0.1.6,dashboard:1.19.11,cancelobject:0.5.0,octoeverywhere:3.4.3,bedlevelvisualizer:1.1.1,cr10_leveling:2.1.3', 'achievements': 'the_wizard,tgif,one_small_step_for_man,marathon,half_marathon,night_owl,all_beginnings_are_hard,so_close,the_manufacturer_i,early_bird'} 2024-07-08 12:48:32,755 - octoprint.server.util.flask - INFO - Passively logging in user luisr320 from 192.168.1.204 2024-07-08 12:48:32,756 - octoprint.access.users - INFO - Logged in user: luisr320 2024-07-08 12:48:32,774 - octoprint.server.util.flask - INFO - Passively logging in user luisr320 from 127.0.0.1 2024-07-08 12:48:32,802 - octoprint.access.users - INFO - Logged in user: luisr320 2024-07-08 12:48:32,900 - octoprint.server.util.flask - INFO - Passively logging in user luisr320 from 192.168.1.204 2024-07-08 12:48:32,901 - octoprint.access.users - INFO - Logged in user: luisr320 2024-07-08 12:48:32,968 - octoprint.server.util.flask - INFO - Passively logging in user luisr320 from 192.168.1.204 2024-07-08 12:48:32,969 - octoprint.access.users - INFO - Logged in user: luisr320 2024-07-08 12:48:36,214 - octoprint.server.util.flask - INFO - Passively logging in user luisr320 from 192.168.1.204 2024-07-08 12:48:36,215 - octoprint.access.users - INFO - Logged in user: luisr320 2024-07-08 12:48:51,013 - octoprint.server.util.flask - INFO - Passively logging in user luisr320 from 192.168.1.204 2024-07-08 12:48:51,014 - octoprint.access.users - INFO - Logged in user: luisr320 2024-07-08 12:49:09,457 - octoprint.server.preemptive_cache - INFO - ... done in 44.90s 2024-07-08 12:49:09,459 - octoprint.server.preemptive_cache - INFO - Preemptively caching / (ui _default) for {'base_url': 'http://octopi.local/', 'path': '/', 'query_string': 'l10n=en'} 2024-07-08 12:49:10,057 - octoprint.server.preemptive_cache - INFO - ... done in 0.60s 2024-07-08 12:49:10,716 - octoprint.plugins.octoeverywhere - INFO - Slipstream took 253220.50853395462 to fully update the cache 2024-07-08 12:49:14,336 - octoprint.server.util.sockjs - INFO - New connection from client: 192.168.1.204 2024-07-08 12:49:14,508 - octoprint.server.util.flask - INFO - Passively logging in user luisr320 from 192.168.1.204 2024-07-08 12:49:14,508 - octoprint.access.users - INFO - Logged in user: luisr320 2024-07-08 12:49:14,682 - octoprint.plugins.softwareupdate - INFO - Fetching check overlays from https://plugins.octoprint.org/update_check_overlay.json 2024-07-08 12:49:15,817 - octoprint.server.util.sockjs - INFO - User luisr320 logged in on the socket from client 192.168.1.204 2024-07-08 12:49:16,825 - octoprint.plugins.announcements - INFO - Loaded channel _important from https://octoprint.org/feeds/important.xml in 0.32s 2024-07-08 12:49:16,913 - octoprint.plugins.pluginmanager - INFO - Loaded plugin notices data from https://plugins.octoprint.org/notices.json 2024-07-08 12:49:17,308 - octoprint.plugins.tracking - INFO - Sent tracking event webui_load, payload: {'browser_name': 'Chrome', 'browser_version': '126.0.0.0', 'os_name': 'Windows', 'os_version': '10'} 2024-07-08 12:49:17,643 - octoprint.plugins.announcements - INFO - Loaded channel _releases from https://octoprint.org/feeds/releases.xml in 0.35s 2024-07-08 12:49:18,137 - octoprint.plugins.announcements - INFO - Loaded channel _blog from https://octoprint.org/feeds/octoblog.xml in 0.31s 2024-07-08 12:49:18,727 - octoprint.plugins.announcements - INFO - Loaded channel _plugins from https://plugins.octoprint.org/feed.xml in 0.35s 2024-07-08 12:49:19,131 - octoprint.plugins.softwareupdate - INFO - Saved version cache to disk 2024-07-08 12:49:19,246 - octoprint.plugins.announcements - INFO - Loaded channel _octopi from https://octoprint.org/feeds/octopi.xml in 0.33s 2024-07-08 12:53:59,980 - octoprint.util.comm - INFO - Changing monitoring state from "Operational" to "Offline" 2024-07-08 12:54:00,029 - octoprint.server - INFO - Starting autorefresh of serial port list 2024-07-08 12:54:00,034 - octoprint.plugins.action_command_notification - INFO - Notifications cleared 2024-07-08 12:54:00,074 - octoprint.plugins.printoid - INFO - //// Send alert to Printoid: 'printer-state' with value Offline (luisr320) 2024-07-08 12:54:00,152 - octoprint.server - INFO - Serial port list was updated, refreshing the port list in the frontend 2024-07-08 12:54:03,708 - octoprint - ERROR - Exception on /api/plugin/appkeys [GET] Traceback (most recent call last): File "/home/pi/oprint/lib/python3.7/site-packages/flask/app.py", line 2529, in wsgi_app response = self.full_dispatch_request() File "/home/pi/oprint/lib/python3.7/site-packages/flask/app.py", line 1825, in full_dispatch_request rv = self.handle_user_exception(e) File "/home/pi/oprint/lib/python3.7/site-packages/flask/app.py", line 1821, in full_dispatch_request rv = self.preprocess_request() File "/home/pi/oprint/lib/python3.7/site-packages/flask/app.py", line 2313, in preprocess_request rv = self.ensure_sync(before_func)() File "/home/pi/oprint/lib/python3.7/site-packages/flask_limiter/extension.py", line 1168, in _check_request_limit raise e File "/home/pi/oprint/lib/python3.7/site-packages/flask_limiter/extension.py", line 1147, in _check_request_limit in_middleware, File "/home/pi/oprint/lib/python3.7/site-packages/flask_limiter/extension.py", line 1022, in __filter_limits marked_for_limiting, File "/home/pi/oprint/lib/python3.7/site-packages/flask_limiter/manager.py", line 102, in resolve_limits decorated_limits.extend(self.blueprint_limits(app, blueprint)) File "/home/pi/oprint/lib/python3.7/site-packages/flask_limiter/manager.py", line 185, in blueprint_limits app, blueprint File "/home/pi/oprint/lib/python3.7/site-packages/flask_limiter/manager.py", line 250, in _blueprint_exemption_scope for k, f in self._blueprint_exemptions.items() File "/home/pi/oprint/lib/python3.7/site-packages/flask_limiter/manager.py", line 248, in ancestor_exemption = { RuntimeError: dictionary changed size during iteration 2024-07-08 12:54:04,346 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from https://plugins.octoprint.org/plugins.json 2024-07-08 12:54:37,026 - octoprint.plugins.firmwareupdater - INFO - Firmware update profile index: 0 2024-07-08 12:54:37,036 - octoprint.plugins.firmwareupdater - INFO - Firmware update profile name: Default 2024-07-08 12:54:37,037 - octoprint.plugins.firmwareupdater - INFO - Printer port: /dev/ttyAMA0 2024-07-08 12:54:37,044 - octoprint.plugins.firmwareupdater - INFO - Flash method: avrdude 2024-07-08 12:54:37,067 - octoprint.plugins.firmwareupdater - INFO - Firmware update started 2024-07-08 12:54:37,092 - octoprint.plugins.firmwareupdater - INFO - Running '/usr/bin/avrdude -v -q -p m2560 -c wiring -P /dev/ttyAMA0 -D -U flash:w:/tmp/tmpr2_hqn_w:i' in /usr/bin 2024-07-08 12:55:02,986 - octoprint.plugins.firmwareupdater - ERROR - Flashing failed. Timeout communicating with programmer.

Additional context I keep getting the Udervoltage warning on Octoprint, but it works fine

benlye commented 4 months ago

avrdude isn't getting a response when it tries to connect to the port you've told it to use.

I don't have this board but from what others have commented it looks like you're using the right avrdude settings, so the problem is probably in your config / wiring.

There's not really anything I can do to help - you're better off looking for a user group where someone might have a similar setup.

benlye commented 4 months ago

You might find something useful in https://github.com/OctoPrint/OctoPrint-FirmwareUpdater/issues/307. If you're using the RPi header you're probably going to have to wire up more pins and use linuxgpio instead of wiring. It seems like the RX/TX ports in that header can't be used to flash the MCU the way you're trying to do it.

luisr320 commented 4 months ago

Thank you. I think that the problem I have is due to the connection between the Prusa board and the Rpi4 board being done trough the RX/TX Uart port. I think that the connection for the firmware updater to work must be done via USB

flo269 commented 4 months ago

Hey, I am experiencing the same symptoms, with a slightly different setup. I have the same versions installed as you, but I am connected via USB using a Raspberry Pi 3 Model B Rev 1.2.

MK3s+ and no hardware or octopi (apart from OctoPrint) changes since the last, flawlessly working, updates.

plugin_firmwareupdater_console.log

2023-10-27 10:39:35,299 Flashing successful.
2024-03-07 17:11:07,248 
2024-03-07 17:11:07,262 /usr/bin/avrdude -v -q -p m2560 -c wiring -P /dev/ttyACM0 -D -U flash:w:/tmp/tmpsihp5db9:i
2024-03-07 17:11:08,508 > 
2024-03-07 17:11:08,530 > avrdude: Version 6.3-20171130
2024-03-07 17:11:08,536 >          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
2024-03-07 17:11:08,541 >          Copyright (c) 2007-2014 Joerg Wunsch
2024-03-07 17:11:08,558 > 
2024-03-07 17:11:08,558 >          System wide configuration file is "/etc/avrdude.conf"
2024-03-07 17:11:08,559 >          User configuration file is "/home/pi/.avrduderc"
2024-03-07 17:11:08,559 >          User configuration file does not exist or is not a regular file, skipping
2024-03-07 17:11:08,560 > 
2024-03-07 17:11:08,560 >          Using Port                    : /dev/ttyACM0
2024-03-07 17:11:08,576 >          Using Programmer              : wiring
2024-03-07 17:11:08,582 >          AVR Part                      : ATmega2560
2024-03-07 17:11:08,593 >          Chip Erase delay              : 9000 us
2024-03-07 17:11:08,598 >          PAGEL                         : PD7
2024-03-07 17:11:08,604 >          BS2                           : PA0
2024-03-07 17:11:08,610 >          RESET disposition             : dedicated
2024-03-07 17:11:08,621 >          RETRY pulse                   : SCK
2024-03-07 17:11:08,622 >          serial program mode           : yes
2024-03-07 17:11:08,622 >          parallel program mode         : yes
2024-03-07 17:11:08,623 >          Timeout                       : 200
2024-03-07 17:11:08,630 >          StabDelay                     : 100
2024-03-07 17:11:08,636 >          CmdexeDelay                   : 25
2024-03-07 17:11:08,642 >          SyncLoops                     : 32
2024-03-07 17:11:08,647 >          ByteDelay                     : 0
2024-03-07 17:11:08,653 >          PollIndex                     : 3
2024-03-07 17:11:08,664 >          PollValue                     : 0x53
2024-03-07 17:11:08,670 >          Memory Detail                 :
2024-03-07 17:11:08,681 > 
2024-03-07 17:11:08,687 >                                   Block Poll               Page                       Polled
2024-03-07 17:11:08,693 >            Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
2024-03-07 17:11:08,700 >            ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
2024-03-07 17:11:08,706 >            eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
2024-03-07 17:11:08,712 >            flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
2024-03-07 17:11:08,718 >            lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
2024-03-07 17:11:08,723 >            hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
2024-03-07 17:11:08,729 >            efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
2024-03-07 17:11:08,735 >            lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
2024-03-07 17:11:08,741 >            calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
2024-03-07 17:11:08,751 >            signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
2024-03-07 17:11:08,762 > 
2024-03-07 17:11:08,768 >          Programmer Type : Wiring
2024-03-07 17:11:08,774 >          Description     : Wiring
2024-03-07 17:11:08,785 >          Programmer Model: AVRISP
2024-03-07 17:11:08,796 >          Hardware Version: 15
2024-03-07 17:11:08,807 >          Firmware Version Master : 2.10
2024-03-07 17:11:08,812 >          Vtarget         : 0.0 V
2024-03-07 17:11:08,818 >          SCK period      : 0.1 us
2024-03-07 17:11:08,824 > 
2024-03-07 17:11:08,829 > avrdude: AVR device initialized and ready to accept instructions
2024-03-07 17:11:08,835 > avrdude: Device signature = 0x1e9801 (probably m2560)
2024-03-07 17:11:08,846 > avrdude: reading input file "/tmp/tmpsihp5db9"
2024-03-07 17:11:08,852 > avrdude: writing flash (246430 bytes):
2024-03-07 17:11:08,863 > 
2024-03-07 17:11:52,014 > avrdude: 246430 bytes of flash written
2024-03-07 17:11:52,015 > avrdude: verifying flash memory against /tmp/tmpsihp5db9:
2024-03-07 17:11:52,015 > avrdude: load data flash data from input file /tmp/tmpsihp5db9:
2024-03-07 17:11:52,015 > avrdude: input file /tmp/tmpsihp5db9 contains 246430 bytes
2024-03-07 17:11:52,016 > avrdude: reading on-chip flash data:
2024-03-07 17:11:52,016 > 
2024-03-07 17:12:23,696 > avrdude: verifying ...
2024-03-07 17:12:23,697 > avrdude: 246430 bytes of flash verified
2024-03-07 17:12:23,697 > 
2024-03-07 17:12:23,697 > avrdude done.  Thank you.
2024-03-07 17:12:23,698 > 
2024-03-07 17:12:23,698 > 
2024-03-07 17:12:23,707 Flashing successful.
2024-07-08 14:47:42,067 
2024-07-08 14:47:42,363 /usr/bin/avrdude -v -q -p m2560 -c wiring -P /dev/ttyACM0 -D -U flash:w:/tmp/tmp5i7_hubw:i
2024-07-08 14:47:43,498 > 
2024-07-08 14:47:43,498 > avrdude: Version 6.3-20171130
2024-07-08 14:47:43,499 >          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
2024-07-08 14:47:43,499 >          Copyright (c) 2007-2014 Joerg Wunsch
2024-07-08 14:47:43,499 > 
2024-07-08 14:47:43,500 >          System wide configuration file is "/etc/avrdude.conf"
2024-07-08 14:47:43,500 >          User configuration file is "/home/pi/.avrduderc"
2024-07-08 14:47:43,500 >          User configuration file does not exist or is not a regular file, skipping
2024-07-08 14:47:43,501 > 
2024-07-08 14:47:43,501 >          Using Port                    : /dev/ttyACM0
2024-07-08 14:47:43,501 >          Using Programmer              : wiring
2024-07-08 14:47:43,502 > 
2024-07-08 14:47:47,001 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:47:47,002 > 
2024-07-08 14:47:51,021 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:47:51,022 > 
2024-07-08 14:47:55,022 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:47:55,023 > 
2024-07-08 14:47:59,032 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:47:59,033 > 
2024-07-08 14:48:03,039 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:48:03,039 > 
2024-07-08 14:48:07,049 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:48:07,050 > avrdude: stk500v2_getsync(): timeout communicating with programmer
2024-07-08 14:48:07,050 > 
2024-07-08 14:48:07,051 > avrdude done.  Thank you.
2024-07-08 14:48:07,051 > 
2024-07-08 14:48:07,051 > 
2024-07-08 14:48:58,847 
2024-07-08 14:48:58,853 /usr/bin/avrdude -v -q -p m2560 -c wiring -P /dev/ttyACM0 -D -U flash:w:/tmp/tmp303j4qj1:i
2024-07-08 14:48:59,548 > 
2024-07-08 14:48:59,549 > avrdude: Version 6.3-20171130
2024-07-08 14:48:59,572 >          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
2024-07-08 14:48:59,573 >          Copyright (c) 2007-2014 Joerg Wunsch
2024-07-08 14:48:59,579 > 
2024-07-08 14:48:59,579 >          System wide configuration file is "/etc/avrdude.conf"
2024-07-08 14:48:59,590 >          User configuration file is "/home/pi/.avrduderc"
2024-07-08 14:48:59,602 >          User configuration file does not exist or is not a regular file, skipping
2024-07-08 14:48:59,608 > 
2024-07-08 14:48:59,610 >          Using Port                    : /dev/ttyACM0
2024-07-08 14:48:59,611 >          Using Programmer              : wiring
2024-07-08 14:48:59,624 > 
2024-07-08 14:49:04,239 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:49:04,240 > 
2024-07-08 14:49:08,248 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:49:08,249 > 
2024-07-08 14:49:12,258 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:49:12,258 > 
2024-07-08 14:49:16,269 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:49:16,269 > 
2024-07-08 14:49:20,282 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:49:20,283 > 
2024-07-08 14:49:24,294 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:49:24,294 > avrdude: stk500v2_getsync(): timeout communicating with programmer
2024-07-08 14:49:24,300 > 
2024-07-08 14:49:24,300 > avrdude done.  Thank you.
2024-07-08 14:49:24,301 > 
2024-07-08 14:49:24,301 > 
2024-07-08 14:51:16,103 
2024-07-08 14:51:16,111 /usr/bin/avrdude -v -q -p m2560 -c wiring -P /dev/ttyACM0 -D -U flash:w:/tmp/tmpfotv_o9t:i
2024-07-08 14:51:16,804 > 
2024-07-08 14:51:16,810 > avrdude: Version 6.3-20171130
2024-07-08 14:51:16,814 >          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
2024-07-08 14:51:16,815 >          Copyright (c) 2007-2014 Joerg Wunsch
2024-07-08 14:51:16,821 > 
2024-07-08 14:51:16,822 >          System wide configuration file is "/etc/avrdude.conf"
2024-07-08 14:51:16,823 >          User configuration file is "/home/pi/.avrduderc"
2024-07-08 14:51:16,824 >          User configuration file does not exist or is not a regular file, skipping
2024-07-08 14:51:16,838 > 
2024-07-08 14:51:16,839 >          Using Port                    : /dev/ttyACM0
2024-07-08 14:51:16,850 >          Using Programmer              : wiring
2024-07-08 14:51:16,851 > 
2024-07-08 14:51:21,033 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:51:21,034 > 
2024-07-08 14:51:25,043 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:51:25,044 > 
2024-07-08 14:51:29,049 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:51:29,050 > 
2024-07-08 14:51:33,059 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:51:33,060 > 
2024-07-08 14:51:37,066 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:51:37,067 > 
2024-07-08 14:51:41,080 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 14:51:41,081 > avrdude: stk500v2_getsync(): timeout communicating with programmer
2024-07-08 14:51:41,081 > 
2024-07-08 14:51:41,081 > avrdude done.  Thank you.
2024-07-08 14:51:41,082 > 
2024-07-08 14:51:41,082 > 
2024-07-08 20:43:49,784 
2024-07-08 20:43:49,811 /usr/bin/avrdude -v -q -p m2560 -c wiring -P /dev/ttyACM0 -D -U flash:w:/tmp/tmpmdcmobu0:i
2024-07-08 20:43:50,481 > 
2024-07-08 20:43:50,487 > avrdude: Version 6.3-20171130
2024-07-08 20:43:50,492 >          Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
2024-07-08 20:43:50,498 >          Copyright (c) 2007-2014 Joerg Wunsch
2024-07-08 20:43:50,509 > 
2024-07-08 20:43:50,515 >          System wide configuration file is "/etc/avrdude.conf"
2024-07-08 20:43:50,520 >          User configuration file is "/home/pi/.avrduderc"
2024-07-08 20:43:50,536 >          User configuration file does not exist or is not a regular file, skipping
2024-07-08 20:43:50,542 > 
2024-07-08 20:43:50,553 >          Using Port                    : /dev/ttyACM0
2024-07-08 20:43:50,556 >          Using Programmer              : wiring
2024-07-08 20:43:50,562 > 
2024-07-08 20:43:54,031 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 20:43:54,031 > 
2024-07-08 20:43:58,037 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 20:43:58,043 > 
2024-07-08 20:44:02,047 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 20:44:02,047 > 
2024-07-08 20:44:06,057 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 20:44:06,057 > 
2024-07-08 20:44:10,067 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 20:44:10,067 > 
2024-07-08 20:44:14,076 > avrdude: stk500v2_ReceiveMessage(): timeout
2024-07-08 20:44:14,077 > avrdude: stk500v2_getsync(): timeout communicating with programmer
2024-07-08 20:44:14,078 > 
2024-07-08 20:44:14,078 > avrdude done.  Thank you.
2024-07-08 20:44:14,078 > 
2024-07-08 20:44:14,078 > 

octoprint.log

024-07-08 20:34:44,200 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2024-07-08 20:43:47,172 - octoprint.plugins.firmwareupdater - INFO - Firmware update profile index: 0
2024-07-08 20:43:47,207 - octoprint.plugins.firmwareupdater - INFO - Firmware update profile name: Default
2024-07-08 20:43:47,207 - octoprint.plugins.firmwareupdater - INFO - Printer port: /dev/ttyACM0
2024-07-08 20:43:47,233 - octoprint.plugins.firmwareupdater - INFO - Flash method: avrdude
2024-07-08 20:43:47,346 - octoprint.plugins.softwareupdate - INFO - Fetching check overlays from https://plugins.octoprint.org/update_check_overlay.json
2024-07-08 20:43:49,510 - octoprint.plugins.firmwareupdater - INFO - Firmware update started
2024-07-08 20:43:49,520 - octoprint.plugins.firmwareupdater - INFO - Disconnecting from printer
2024-07-08 20:43:49,603 - octoprint.util.comm - INFO - Changing monitoring state from "Operational" to "Offline"
2024-07-08 20:43:49,783 - octoprint.plugins.firmwareupdater - INFO - Running '/usr/bin/avrdude -v -q -p m2560 -c wiring -P /dev/ttyACM0 -D -U flash:w:/tmp/tmpmdcmobu0:i' in /usr/bin
2024-07-08 20:43:49,927 - octoprint.server - INFO - Starting autorefresh of serial port list
2024-07-08 20:43:49,939 - octoprint.plugins.action_command_notification - INFO - Notifications cleared
2024-07-08 20:43:49,947 - octoprint.plugins.enclosure - INFO - Detected Error or Disconnect in Disconnected will call listeners for shutdown_on_error!
2024-07-08 20:44:14,079 - octoprint.plugins.firmwareupdater - ERROR - Flashing failed. Timeout communicating with programmer.
2024-07-08 20:44:14,094 - octoprint.plugins.firmwareupdater - INFO - Reconnecting to printer: port=/dev/ttyACM0, baudrate=115200, profile={'axes': {'e': {'inverted': False, 'speed': 300}, 'x': {'inverted': False, 'speed': 6000}, 'y': {'inverted': False, 'speed': 6000}, 'z': {'inverted': False, 'speed': 200}}, 'color': 'default', 'extruder': {'count': 1, 'defaultExtrusionLength': 5, 'nozzleDiameter': 0.4, 'offsets': [(0.0, 0.0)], 'sharedNozzle': False}, 'heatedBed': True, 'heatedChamber': False, 'id': '_default', 'model': 'Pruse i3 MK3S+', 'name': 'MyRoots Printer', 'volume': {'custom_box': {'x_max': 250.0, 'x_min': 0.0, 'y_max': 210.0, 'y_min': -4.0, 'z_max': 210.0, 'z_min': 0.0}, 'depth': 210.0, 'formFactor': 'rectangular', 'height': 210.0, 'origin': 'lowerleft', 'width': 250.0}}
2024-07-08 20:44:14,480 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Opening serial connection"
2024-07-08 20:44:14,493 - octoprint.util.comm - INFO - Connecting to port /dev/ttyACM0, baudrate 115200
2024-07-08 20:44:14,538 - octoprint.util.comm - INFO - Changing monitoring state from "Opening serial connection" to "Connecting"
2024-07-08 20:44:14,578 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2024-07-08 20:44:14,618 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2024-07-08 20:44:14,643 - octoprint.util.comm - INFO - Changing monitoring state from "Connecting" to "Operational"
2024-07-08 20:44:14,732 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2024-07-08 20:44:14,816 - octoprint.util.comm - INFO - Printer reports firmware name "Prusa-Firmware 3.13.3 based on Marlin"
2024-07-08 20:44:14,816 - octoprint.util.comm - INFO - Firmware info line: FIRMWARE_NAME:Prusa-Firmware 3.13.3 based on Marlin FIRMWARE_URL:https://github.com/prusa3d/Prusa-Firmware PROTOCOL_VERSION:1.0 MACHINE_TYPE:Prusa i3 MK3S EXTRUDER_COUNT:1 UUID:00000000-0000-0000-0000-000000000000
2024-07-08 20:44:14,824 - octoprint.util.comm - INFO - Detected Prusa firmware, enabling relevant features for issue free communication
2024-07-08 20:44:14,842 - octoprint.util.comm - INFO - Firmware states that it supports temperature autoreporting
2024-07-08 20:44:14,888 - octoprint.server - INFO - Autorefresh of serial port list stopped
2024-07-08 20:44:14,901 - octoprint.util.comm - INFO - Firmware states that it supports long filenames
2024-07-08 20:44:14,914 - octoprint.plugins.firmwareupdater - INFO - Got CONNECTED event
2024-07-08 20:44:14,938 - octoprint.plugins.firmwareupdater - INFO - Run postflash flag is not set
2024-07-08 20:44:15,040 - octoprint.util.comm - INFO - Firmware sent the following capability report:
  AUTOREPORT_TEMP: supported
  AUTOREPORT_FANS: supported
  AUTOREPORT_POSITION: supported
  EXTENDED_M20: supported
  PRUSA_MMU2: supported

Sysinfo:

browser.user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:127.0) Gecko/20100101 Firefox/127.0
connectivity.connection_check: 9.9.9.9:53
connectivity.connection_ok: True
connectivity.enabled: True
connectivity.online: True
connectivity.resolution_check: octoprint.org
connectivity.resolution_ok: True
env.hardware.cores: 4
env.hardware.freq: 1200.0
env.hardware.ram: 912703488
env.os.bits: 32
env.os.id: linux
env.os.platform: linux
env.plugins.pi_support.model: Raspberry Pi 3 Model B Rev 1.2
env.plugins.pi_support.octopi_camera_stack: webcamd
env.plugins.pi_support.octopi_version: 1.0.0
env.plugins.pi_support.octopiuptodate_build: 1.0.0-1.8.6-20230222095002
env.plugins.pi_support.octopiuptodate_build_short: 2023.02.22.095002
env.plugins.pi_support.throttle_check_enabled: True
env.plugins.pi_support.throttle_check_functional: True
env.plugins.pi_support.throttle_state: 0x0
env.python.pip: 22.3
env.python.version: 3.9.2
env.python.virtualenv: True
octoprint.last_safe_mode.date: unknown
octoprint.last_safe_mode.reason: unknown
octoprint.safe_mode: False
octoprint.version: 1.10.2
printer.firmware: Prusa-Firmware 3.13.3 based on Marlin
systeminfo.generated: 2024-07-08T19:05:19Z
systeminfo.generator: zipapi

octoprint-systeminfo-20240708211720.zip

luisr320 commented 4 months ago

So you are connecting the Rpi4 with the Prusa board using the USB ports? But you are using the /dev/ttyACM0? I think this is the UART RX/TX, not the USB

flo269 commented 4 months ago

Yes, I print with this setup all time and even today between the failed update attempts. I haven't changed a hardware thing (apart from Filament) in ages. But I'm using a Raspberry Pi 3 Model B Rev 1.2. . Screenshot 2024-07-08 at 21 10 52

luisr320 commented 4 months ago

Ok, so finally i figured it out. I was trying to use the TX/RX ports of both the Rpi4 and the Einsy Board, and even though it works for transferring the gcode from PrusaSlicer to the printer via Wifi, it wont work for the firmware updater. For that, I connected the Einsy Board USB port directly to one of the the Rpi4 USB ports, which created a new tty device named ACM0, and by leaving all the setups options as default, I managed to update the new firmware remotely. Hurray!!! Try leaving the baudrate in AUTO, and use the "wiring" connection

flo269 commented 4 months ago

Great to hear that it works for you. I tried auto baudrate and "wiring" connection is set and used as before. I'm still stuck.

@anyone Anything else I could do that might be helpful to find out what's going on? Thanks! :-)

flo269 commented 4 months ago

I just remembered that I had installed "Octoprint-PrusaResetMode" a while back. That was what was blocking the connection. I disabled it and then everything worked flawlessly...

Sorry for the noise!!

github-actions[bot] commented 4 months ago

This issue has been automatically marked as stale because it has not had any recent activity. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed in 5 days.

github-actions[bot] commented 3 months ago

This issue has been automatically locked because there was no further activity after it was closed. Please open a new issue for any related problems.