Sim800L

Good morning to all, I write because I'm literally going crazy, I can not understand why my sim800L does not want to work. I followed the instructions to link it to a site:

I'll load the program:

#include <SoftwareSerial.h>

//Create software serial object to communicate with SIM800L
SoftwareSerial mySerial(3, 2); //SIM800L Tx & Rx is connected to Arduino #3 & #2

void setup()
{
  //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);
  
  //Begin serial communication with Arduino and SIM800L
  mySerial.begin(9600);

  Serial.println("Initializing..."); 
  delay(1000);

  mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
  updateSerial();
  
  mySerial.println("AT+CMGF=1"); // Configuring TEXT mode
  updateSerial();
  mySerial.println("AT+CNMI=1,2,0,0,0"); // Decides how newly arrived SMS messages should be handled
  updateSerial();
}

void loop()
{
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available()) 
  {
    mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
  }
  while(mySerial.available()) 
  {
    Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
  }
}

and that's what comes out of the serial port:

Initializing...
AT
OK
AT+CMGF=1
ERROR
AT+CNMI=1,2,0,0,0
ERROR

I do not understand why, and already the second I try to sim800L but do not want to work. Does anyone know how to help me? And a project that I should finish soon...
thank you very much to anyone who wants to help me

AT+CMGF=1
ERROR

Looks like it doesn't understand the "+CMGF" command. Have you looked for a firmware update? Could there be a problem with your SIM card?

what you mean by it: Have you looked for a firmware update?

Yes I've already checked the sim, I put it in a phone and it works, I also thought it was the sim...

Mozzini97:
what you mean by it: Have you looked for a firmware update?

Ask your SIM800L what firmware version it is running. Check to see if there is a newer version of the SIM800L firmware.

Good evening, I tried to see what version of the firmware I have but I can not find this information, where should I look? How do I update it? Excuse me but I'm at the basics...

I think that is the default command line terminator. Try terminating the AT command messages with \r.

mySerial.println("AT+CMGF=1\r")

Mozzini97:
Good evening, I tried to see what version of the firmware I have but I can not find this information, where should I look? How do I update it? Excuse me but I'm at the basics...

I expect there is an AT command for that.

SIM800 Series_AT Command Manual_V1.09

These look like they might be useful:

2.2.34 AT+GMI Request Manufacturer Identification .........................................................49 
2.2.35 AT+GMM Request TA Model Identification ............................................................50 
2.2.36 AT+GMR Request TA Revision Identification of Software Release.........................50

I would try the AT+GMI, AT+GMM, and AT+GMR commands to see the manufacturer, model, and software release.

I had the same problem the first time.
Reason was that I put the card AFTER applying the power supply.
Otherwise, it's going to be instantaneous

I put the board in before powering it up, I think it depends on how the board contacts it. However I both put the board before and after the module gives me error...