AT commands of SIM800L aren't returning a response.

Hello everyone, I'm working on a simple program with the SIM800L module and an Arduino MEGA, but I'm having a bit of a problem, and it's that any AT commands I use never return any kind of response, not even an ERROR or an OK. Not even the simple commands of AT or at don't return anything. I'm using my own phone's SIM card on the module, and the module's red light blinks once every 3 seconds, meaning it's successfully connected to a network (I'm also using an external antenna on the U.FL connector instead of the NET pin). This is the sample code I'm using to introduce the AT commands and try to read the responses:

char c;

void setup() { 
  Serial.begin(9600); //Serial Monitor Baudrate
  Serial2.begin(9600); //SIM800L Baudrate
  Serial.println("SIM800L Test");
void loop() {
  //Read from SIM800L and print it on the Serial Monitor
  if(Serial2.available()) {

  //Read from Serial Monitor, display it on the Serial Monitor and write it on the SIM800L
  if(Serial.available()) {
    c =;

My connections are:
SIM800L -> Arduino MEGA

VCC -> 5v (my multimeter reads 4.76-4.84v. I've tried using a diode to take the voltage down to 4v but then the module can't find a network, it blinks every second and after a certain number of blinks it stops for 3 seconds and then continues blinking every second again. I've also tried to use an external adjustable power source but no matter the voltage I set, it's still not able to find a network. I can only stay connected to a network using the 5v pin).
RXD -> Digital Pin 16 (TX2) through a voltage divider made of a 1K and 2.2K ohm resistors that lowers the voltage from 5v to 3.3v.
TXD -> Digital Pin 17 (RX2)

My Serial Monitor is set to 9600 baud and Both NL & CR.

Even though the AT commands don't give back a response, I've been successful in making calls and sending text messages. To send a text message I first use the command AT+CMGF=1 to set the module to text mode and then AT+CMGS="+xxxxxxxxxxxx" to send the SMS, which does arrive to its destination. To make a call I use the command ATD +xxxxxxxxxxxx; and the call is also made successfully. What I haven't been able to do is read whatever messages are sent to me (I use the command AT+CNMI=2,2,0,0,0 to receive them), which I guess has something to do with me not being able to get back any responses from the module.

Before you get fancy, you should use a terminal program such as Putty or Termite or Teraterm to communicate with the SIM800L module. You might actually learn something.

I tried using PuTTY and I'm still not getting replies. In PuTTY, in the "Terminal" settings I enabled "Implicit CR in every LF" (apparently needed for Windows users) and I set "Force on" for "Local echo" and "Local line editing". I used the same commands as above to make a call and send a text, and they all worked, but I'm still not receiving replies from the module.