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.04k stars 19.15k forks source link

[BUG] SD card is not reading #24712

Open FreeZuu69 opened 1 year ago

FreeZuu69 commented 1 year ago

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

Yes, and the problem still exists.

Bug Description

SD card is not reading.

my system

Mks Gen L v2.1 Mks H43 Display Mks H43 Adapter Mks PWC v3.0

112

Bug Timeline

a new error, it does not read the card in any way.

Expected behavior

As soon as the printer is turned on, the contents of the sd card should appear, but the files are not visible. There is no such problem in the previous version. Marlin-V2.X-MKS-H43-main

Actual behavior

No response

Steps to Reproduce

No response

Version of Marlin Firmware

Marlin-2.1.1

Printer model

Corexy

Electronics

Mks gen L 2.1 , Mks Pwc, Mks H43 LCD, bltouch, h43 a adapter

Add-ons

No response

Bed Leveling

ABL Bilinear mesh

Your Slicer

Prusa Slicer

Host Software

SD Card (headless)

Don't forget to include

Additional information & file uploads

Marlin.zip

borland1 commented 1 year ago

Disabled by default...

Configuration.h

* SD CARD
 *
 * SD Card support is disabled by default. If your controller has an SD slot,
 * you must uncomment the following option or it won't work.
 */
//#define SDSUPPORT

/**
 * SD CARD: ENABLE CRC
 *
 * Use CRC checks and retries on the SD communication.
 */
//#define SD_CHECK_AND_RETRY
FreeZuu69 commented 1 year ago

I tried both of them differently. nothing has changed, the problem persists.

ellensp commented 1 year ago

Provided Config does not compile

Compiling .pio/build/mega2560/src/src/core/serial.cpp.o
In file included from Marlin/src/HAL/AVR/../../inc/MarlinConfig.h:49:0,
                 from Marlin/src/HAL/AVR/HAL.cpp:24:
Marlin/src/HAL/AVR/../../inc/SanityCheck.h:3186:4: error: #error "TMC2208 or TMC2209 on Z2 requires Z2_HARDWARE_SERIAL or Z2_SERIAL_(RX|TX)_PIN."

Updated to current bugfix configs and added Z2 pins

Configuration-2.0.x.zip

ellensp commented 1 year ago

First issue I see

PIN:  12   Port: B6        E1_CS_PIN                              protected
.                          PS_ON_PIN                              protected
.                          Z2_SERIAL_RX_PIN                       protected
.                          E1_SERIAL_RX_PIN                       protected

So there is a conflict with PS_ON_PIN and Z2_SERIAL_RX_PIN that needs resolved. No idea where it should be so putting it on pin 4 for now.

define PS_ON_PIN 4

ellensp commented 1 year ago

no sd detect pin either

define SD_DETECT_PIN 49

ellensp commented 1 year ago

Odd behavior during testing, with the MKS H43 Adapter-A connected and the SD_DETECT_PIN defined

If you disable DGUS_LCD_UI_MKS and enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER The sd card on the MKS H43 Adapter-A works as expected

But when you enable DGUS_LCD_UI_MKS and disable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER The sd card on the MKS H43 Adapter-A fails to work...

If your connected via serial and insert a sdcard the controller seem to do a partial reboot and then flashes the led (pin 13) forever. Even even resetting the micro with the reset button does not help. You have to power down after this.

ellensp commented 1 year ago

It seem to be a memory issue... to many things enabled on old mega2560 with only 4k If you for example change TMC2209 to TMC2209_STANDALONE, without those 5 serial buffers it frees up enough ram to work as expected.

jmger commented 1 year ago

YES, I have the same issue. I have the Creality Ender 3 Max with BTT Octopus Pro F429 board. I enabled SDSUPPORT and CRC check. The SDCARD was working in 2.0.x. My BTT BOARD uploaded and installed the 2.1.2 Firmware file just fine. Once or twice I get the message Initialization fail. For the SDCARD.

jmger commented 1 year ago

HI for at least my issue where SDCARD was not detected/working in Marlin 2.1.2. I had to add the line #define SDCARD_CONNECTION ONBOARD to the Configuration.adv file. Apparently, This line was left out. Now everything is working.

agolinko commented 1 year ago

Not working for me too. After boot, contents of SDCARD is visible. But when select something to print, after confirm, it does nothing. When trying to open SD card again it shows empty card.

Hardware: Kingroon K3PS/Robin nano board, BLTouch Marlin 2.1.2.1

bhargavbe commented 11 months ago

I am also facing the same issue now, suddenly !!!, was working fine before, in 2.1.2.1 branch, It had another issue of stopping print intermediately without any reason. Now print doesn't even start. For additional information.

  1. I have tried to print from SD card from menu.
  2. I have tried to print from SD card from prontoface.
  3. I have tried to print from prontoface as a host and selected file from my PC. In all above scenario "Not even first line execute". So it should not be the issue specific in SD Card but it's the issue related to print.

    All commands sent from serial port directly works fine,

Hardware: Ramps 1.4, Mega 2560 Config.zip

mechano commented 10 months ago

Not working for me too. After boot, contents of SDCARD is visible. But when select something to print, after confirm, it does nothing. When trying to open SD card again it shows empty card.

Hardware: Kingroon K3PS/Robin nano board, BLTouch Marlin 2.1.2.1

Same beaviour, everything perfect and fully working but the SD reader. Files appears I select one and it doesn't print. When I go back to media the files disappear. If I extract and insert again the SD card they appeat again but still no printing. Tryed both 2.1.2.1 and 2.1.2.

I saw around 2.1.2 firmwares fully working. So I think it's only a misconfiguration.

ElMedic0 commented 5 months ago

I had the same issue, fixed by uncommenting those if you are using the lcd sdcard slot, //#define SDCARD_CONNECTION LCD //#define NO_SD_DETECT And also left the power loss commented (disabled). //#define POWER_LOSS_RECOVERY