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

FEATURE REQUEST: Enable updater to find and read zip'ed files #335

Closed puterboy closed 1 year ago

puterboy commented 1 year ago

Prusa at least distributes its firmware in Zip'ed files. It would save a step if the module could recognize and read Zip files (two steps if you then want to come back and delete the uncompressed version after updating) This shouldn't be too hard as Zip is a well-known standard with plenty of tools to read.

Thanks

benlye commented 1 year ago

Can you upload (or point me at) an example of a zip file? Is the file inside always named the same? Is there only one file inside, or are there multiple files? If it's a zip file containing one bin file (or if the firmware bin file always has the same name) then it shouldn't be too hard.

puterboy commented 1 year ago

It's just a compressed Zip of a folder that contains a single (uncompressed) folder with the same name that in turn contains one .hex firmware file plus a couple of pdfs.

$ unzip -l prusa3d_fw_3_12_1_MK3S.zip
Archive:  prusa3d_fw_3_12_1_MK3S.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2023-01-23 08:21   prusa3d_fw_3_12_1_MK3S/
   935909  2023-01-16 05:53   prusa3d_fw_3_12_1_MK3S/Firmware_upgrade_guide_CS.pdf
   947775  2023-01-16 05:53   prusa3d_fw_3_12_1_MK3S/Firmware_upgrade_guide_DE.pdf
   951528  2023-01-16 05:54   prusa3d_fw_3_12_1_MK3S/Firmware_upgrade_guide_ENG.pdf
   947239  2023-01-16 05:54   prusa3d_fw_3_12_1_MK3S/Firmware_upgrade_guide_ES.pdf
   947675  2023-01-16 05:54   prusa3d_fw_3_12_1_MK3S/Firmware_upgrade_guide_FR.pdf
   946434  2023-01-16 05:54   prusa3d_fw_3_12_1_MK3S/Firmware_upgrade_guide_IT.pdf
  1528209  2023-01-16 05:54   prusa3d_fw_3_12_1_MK3S/Firmware_upgrade_guide_PL.pdf
  1048002  2023-01-23 08:19   prusa3d_fw_3_12_1_MK3S/prusa3d_fw_MK3S_MK3S+_3_12_1_5686.hex
---------                     -------
  8252771                     9 files

Here is the download site: https://help.prusa3d.com/downloads

benlye commented 1 year ago

Hmm, I don't think I'll implement this.

I can see how it would be slightly more convenient for some users, but uploading a ~7MB file to the Pi just to extract and use a 1MB hex file seems wasteful.

It's not like it's a big burden for the end user to extract the firmware file out of the ZIP file, and doing that on a system which is (hopefully) running antivirus and anti-malware software, and should have much more power for the decompression, just seems like a better idea.

puterboy commented 1 year ago

Couldn't you just do the equivalent of unzip -l to identify the hex file and then just unzip & unload that file?

Ben Lye wrote at about 02:33:37 -0800 on Wednesday, February 1, 2023:

Hmm, I don't think I'll implement this.

I can see how it would be slightly more convenient for some users, but uploading a ~7MB file to the Pi just to extract and use a 1MB hex file seems wasteful.

It's not like it's a big burden for the end user to extract the firmware file out of the ZIP file, and doing that on a system which is (hopefully) running antivirus and anti-malware software, and should have much more power for the decompression, just seems like a better idea.

-- Reply to this email directly or view it on GitHub: https://github.com/OctoPrint/OctoPrint-FirmwareUpdater/issues/335#issuecomment-1411834572 You are receiving this because you authored the thread.

Message ID: @.***>

benlye commented 1 year ago

No, that's not how it works when the browser uploads a file. There's really no way to do it on the client side or in the browser within the plugin.

github-actions[bot] commented 1 year 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 1 year 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.