SD cards not working at all with Arduino Mega

Ok, so here are the setting:

Problem: I keep getting SD card initialization failed when I use sketch examples like SDInfo from SD library or even SdFat library. Been trying for over 3-4 days so far and still nothing at all.

Things I've tried:

  1. Formatting the SD with the default software provided by this forum.
  2. Changing the CS pin from 53 to 10 or even 4 (although I suppose the default pin for Mega is 53)
  3. Added these 2 lines inside the void setup()

pinMode(53, OUTPUT);
digitalWrite(53,HIGH);

4.Added a sample .txt file with no text in it (read somewhere it needed an empty file after formatting)
5. Changed SD library version from 1.2.2 (the latest) to 1.0.8 or 1.0.9 or even 1.1.1
6. Change VCC from 5v to 3,3v
7.Before purchasing this sd card adaptor, I used another one for the big SD cards (the one with 8 pins if I'm not mistaken) and same problem!

Notes: the sd card works perfectly fine on Windows and as a smartphone external sd.
The sd card adaptor is new and from a trusted vendor but when connected to arduino, there's no led from it blinking or turned on (I don't know if there should be one)
The R17 led on arduino stays on (red colour)
The R18 led on arduino stays on (green colour)

EDIT: Ok solved this problem! All I had to do was reverse pins MOSI and MISO, so
MOSI-> 51 and MISO-> 50
Apparently, some microsd modules do have different pinouts then the rest.

Now the problem I'm encountering is the following one:

Initializing SD card...Wiring is correct and a card is present.

Card type: SD2
Could not find FAT16/FAT32 partition.
Make sure you've formatted the card

Any help please?

I have the following MEGA-microSD16GB(SAMSUNG) Setup, and it is working fine!

//SIMPLE WRITE AND READ

#include<SPI.h>   //sd cARD USES spi bUS
#include<SD.h>    //contains library functions

#define CSPIN 4   //slecting DPin-4 does not require to set direction
File myFile;      //file pointer variavle declaration

void setup()
{
  Serial.begin(9600);
  Serial.print("inizialization SD... ");

  if (!SD.begin(4))
  {
    Serial.println("inizialization failed!");
    while (1);
  }
  Serial.println("inizialization complete.");
  SD.remove("Test2.txt"); //remove any existing file with this name
  myFile = SD.open("Test2.txt", FILE_WRITE);  //file created and opened for writing

  if (myFile)       //file has really been opened
  {
    myFile.println("Arduino");
    myFile.close();

  }
  myFile = SD.open("Test2.txt", FILE_READ);  //file created and opened for writing

  if (myFile)       //file has really been opened
  {
    while (myFile.available())
    {
      Serial.print((char)myFile.read());
    }
    myFile.close();
  }
}

void loop()
{

}

If you read the last part of my thread, I got it solved but it doesn't recognize my sd as fat32 or fat16

sh4d0w11s:
Things I’ve tried:2. Changing the CS pin from 53 to 10 or even 4 (although I suppose the default pin for Mega is 53)

No, there is no default, the CS pin in the code is the pin to which the CS is attached to. Pin 4 is the pin by convention because that is the pin used by SD on shields like the Ethernet one, and it shows in the standard examples. Pin 53 is used on a Mega because SDs on the back of LCDs use that.

  1. Added these 2 lines inside the void setup()
    pinMode(53, OUTPUT);
    digitalWrite(53,HIGH);[/b]

I don’t think it is necessary to use the first command with current versions of the iDE, and I don’t think it was ever required to use the second.