MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.22k stars 19.22k forks source link

[BUG] Marlin firmware.bin unable to load a second time in VScode for version 2.0.8 #21846

Closed ebraiman closed 3 years ago

ebraiman commented 3 years ago

Did you test the latest bugfix-2.0.x code?

Yes, and the problem still exists.

Bug Description

So when loading Marlin version 2.0.8 firmware.bin on SKR_v14 or MKS_Sgen_L_v2, firmware reload fails via USB.

Bug Timeline

2.0.8

Expected behavior

firmware.bin from VScode loads via serial(UBS) connection.

Actual behavior

Firmware.bin fails to load from Marlin firmware upload in VScode for version 2.0.8 for both SKR_v14 (Turbo) and MKS sGen L v2.0.

Steps to Reproduce

  1. download newest marlin firmware 2.0.8
  2. open in VScode and extracting zip file for marlin firmware
  3. change configuration.h for motherboard for either SKR_v14 or MKS_sgen_Lv2 or watch livestream video.
  4. change platformio.ini for LPC1769
  5. Upload build to either motherboard for firmware.bin

Version of Marlin Firmware

2.0.8

Printer model

N/A

Electronics

SKR_14(turbo), MKS sGen L v2

Add-ons

N/A

Your Slicer

Other (explain below)

Host Software

No response

Additional information & file uploads

[Uploading Marlin-2.0.8and2.0.7.2.zip…]()

ebraiman commented 3 years ago

Here is what occurs at end of compile on VScode...

Upload disk: C:\

Configuring upload protocol... AVAILABLE: blackmagic, cmsis-dap, jlink, mbed CURRENT: upload_protocol = mbed Looking for upload disk... *** [upload] C:\firmware.bin: Permission denied Use manually specified: C:\ Uploading .pio\build\LPC1769\firmware.bin

ebraiman commented 3 years ago

Here is a video of us TS the issue ... https://youtu.be/LAk2L-mw-Xo

thisiskeithb commented 3 years ago

This isn't a Marlin bug. Copy firmware.bin to your microSD card manually and place in your board in power cycle it.


This Issue Queue is for Marlin bug reports and development-related issues, and we prefer not to handle user-support questions here. (As noted on this page.) For best results getting help with configuration and troubleshooting, please use the following resources:

After seeking help from the community, if the consensus points to a bug in Marlin, then you should post a bug report.

ebraiman commented 3 years ago

I understand what you're saying, but you've lost functionality between builds. One would think this a bug?

ellensp commented 3 years ago

The only way I can see this could happen is if your have a FIRMWARE.CUR in your C:\ This would really confused the uploader as one of the ways it locates the sd card drive is to look for FIRMWARE.CUR in the root of the drive

thisiskeithb commented 3 years ago

I understand what you're saying, but you've lost functionality between builds. One would think this a bug?

The "Upload" function is typically meant for a programmer like an ST-Link, J-Link, etc. PlatformIO will look for a firmware.cur file if your board exposes the SD card to the OS, but is not a reliable way to copy firmware to your board.

This is why I explained that you need to copy the file manually.

This is not a Marlin bug.

Please use the links in my last reply for further discussion since this Issue Queue is for Marlin bug reports and development-related issues, and we prefer not to handle user-support questions here.

ebraiman commented 3 years ago

First, this functionality has existed since SKR 1.3 was on the market with Marlin firmware. Second, roll back to Marlin 2.0.7.2 and try upload functionality in VScode. Third, roll forward to Marlin 2.0.8 and see if it functions the same. Considering I've made over a 100 tutorials on it, I think I know how it works. I'm not saying this to be arrogant, but if you're not going to try the functionality, why waste our time with conversation?

ebraiman commented 3 years ago

Watch the end of the tutorial here and see the functionality.

https://youtu.be/MbCe-dfTNAY (This is in Marlin 2.0.7.2, try the same with 2.0.8)

ebraiman commented 3 years ago

remember to try and load firmware a second time from VScode after first power-cycle in 2.0.8

ebraiman commented 3 years ago

BTW, it's FIRMWARE.CUR and binary file is called firmware.bin. And yes I know they are both binary files.

ebraiman commented 3 years ago

FYI, which link in Discord Marlin? I posted a comment 2 hours ago?

ellensp commented 3 years ago

"this functionality has existed since SKR 1.3 " This is not accurate. This functionally was added for REARM, which predates skr1.3 by quiet some time. This is why the uploader also looks for the volume label "REARM" (on Linux system)

I just tried this, multiple time on windows. I cannot get it to fail.

As I said before I suspect you have a FIRMWARE.CUR file in the root of your C drive. Unless you have a very odd system C drive is NOT your sd card. Delete FIRMWARE.CUR from your C drive root.

ebraiman commented 3 years ago

You are correct there was a FIRMWARE.CUR on root of c: drive. So here is the question, if it works with 2.0.7.2, why does it not with 2.0.8? Meaning it will load when FIRMWARE.CUR is present on C drive root with 2.0.7.2 and push build to SD card on board, whereas with 2.0.8 will not.

github-actions[bot] commented 3 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.