I am running a Anet A8 3D Printer. I just upgraded from Marlin 1.1.8 to the new Marlin 1.1.9 release. I am using the standard configuration files from the Example Confirguartion folder for Anet A8
Under Marlin 1.1.9, each time that I power on my printer, the menu shows “No SD Card”. I have to select the “Init. SD Card” command to get it to display “Print from SD Card”. As long as the printer stays powered on, the SD card functions as they under Marlin 1.1.8 and I do not have to select the “Init. SD card” command again.
Under Marlin 1.1.8 I did not have this problem, it recognized my SD card on power up.
Configuration.zip
I have the same issue with the Anet A6.
Rgatiff please try to uncomment in your config file:
//#define SD_CHECK_AND_RETRY
By the way, not working for me.
@Rgatliff @roel8032
This problem will only appear on a few mainboard. Because there is no SD detect pin.
You can try this change to temporarily solve your problem.
/* power on init. sd card */
#if ENABLED(SDSUPPORT)
if (!card.cardOK) card.initsd();
#endif

Not working:
Error:
exit status 1
'if' was not declared in this scope.
@roel8032
I compiled is Ok.
You can change it to try this
#if ENABLED(SDSUPPORT)
card.initsd();
#endif
Thanks cjsoong. This works.
@Thinkyhead, how to low lever format an SD card?
I used SD formatter.
Besides the card is known by a Infitary M508 3d printer, and also with Anet A6 at 1.1.8.
I've never done a low-level format. I'd have to Google it.
Seems the patch works, though, which could indicate an actual issue. The way we can find out is to add some debugging…
/* power on init. sd card */
#if ENABLED(SDSUPPORT)
SERIAL_ECHOLNPAIR("At startup the card is ", card.cardOK ? "OK" : "not OK");
card.initsd();
#endif
Thank you, I will update using this code.
I installed the code at the beginning of the main program loop in Marlin_main.cpp and now on power up, the SD drive is recognized. I appreciate you help on this.
As it turns out, your code fixed the CD Init issue but it created another issue. Now when the printer is waiting on work to do, the exhaust fan is creating a vibration due to a very low current is going to it but not enough to cause the fan to turn over causing the fan to set there and vibration. After I backed the code out, the exhaust fan quite make a noise. Should I have put your code somewhere in the Marlin_main.cpp?
That is quite normal for a Chinese fan. It is the bearing that makes noise. Touch it with your finger
@Rgatliff
I have checked the code of "initsd" and it doesn't matter with FAN.
I have no problem with my machine.
Are you sure that it is related to adding "initsd"?
Not related.
I have a feeling that that somehow it is related to where I put it and not due to the code that I inserted which is causing some other code to get disrupted.
I inserted the code right after the following
/* The main Marlin program loop
…
….
void loop() {
card.initsd();
Should I have inserted it right before this main program loop code?
From: cjsoong [mailto:[email protected]]
Sent: Monday, August 13, 2018 9:27 PM
To: MarlinFirmware/Marlin
Cc: Rgatliff; Mention
Subject: Re: [MarlinFirmware/Marlin] SD Card is not reconized on power up 1.1.9 (#11533)
@Rgatliff https://github.com/Rgatliff
I have checked the code of "initsd" and it doesn't matter with FAN.
I have no problem with my machine.
Are you sure that it is related to adding "initsd"?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/11533#issuecomment-412732588 , or mute the thread https://github.com/notifications/unsubscribe-auth/AoXQNXyl4fHbupERrR9rajZpSb_jOkEhks5uQjVwgaJpZM4V5stH .Image removed by sender.
@Rgatliff
Should I have inserted it right before this main program loop code?
Yes, the provided code should be inserted before the main loop. This way the SD card is only initialised at power up.
In your case the card is constantly being initialised. When the card is initialised, the cooling fan gets a spin and that's what you're seeing because the fan is activated for a very short time at each initialisation.
@cjsoong
No problems here with this sollution. Thank you.
That is what it needed. Put it at the end of the setup routine. Now the fan is not making a noise.
Thanks to all the help me with this issue.
Robert
From: tommyvhb [mailto:[email protected]]
Sent: Tuesday, August 14, 2018 10:56 AM
To: MarlinFirmware/Marlin
Cc: Rgatliff; Mention
Subject: Re: [MarlinFirmware/Marlin] SD Card is not reconized on power up 1.1.9 (#11533)
@Rgatliff https://github.com/Rgatliff
Should I have inserted it right before this main program loop code?
Yes, the provided code should be inserted before the main loop. This way the SD card is only initialised at power up.
In your case the card is constantly being initialised. When the card is initialised, the cooling fan gets a spin and that's what you're seeing because the fan is activated for a very short time at each initialisation.
@cjsoong https://github.com/cjsoong
No problems here with this sollution. Thank you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/MarlinFirmware/Marlin/issues/11533#issuecomment-412922156 , or mute the thread https://github.com/notifications/unsubscribe-auth/AoXQNZdZTXqESNk_rwWq-Mpu4Cbp27zzks5uQvMEgaJpZM4V5stH .Image removed by sender.
The solution is here below:
There is an error in cardreader.h on line 207
replace:
by:
No.
// Macros to support pins/buttons exist testing
#define _PINEX_1(PN) (defined(PN##_PIN) && PN##_PIN >= 0)
#define PIN_EXISTS(V...) DO(PINEX,&&,V)
_PIN is added automagically.
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.
Most helpful comment
@Rgatliff @roel8032
This problem will only appear on a few mainboard. Because there is no SD detect pin.
You can try this change to temporarily solve your problem.
Marlin_main.cpp