Why are some of AT commands failing when others aren't?

I have an Arduino Uno hooked up to an esp8266. I have it setup as an access point. I can send data to it via a tcp client and print the data in the serial monitor. It seems to be working ok. However, when I issue some AT commands to the esp8266 it echos back misspelled commands instead of the command that I sent. When this happens the command doesn’t work. For instance, if I issue this command from the serial monitor: AT+GMR I get the following response:

AT+GLR

AT vershon:1.1.0.0(Lay 11 2016 08:09:56)
SDK version:0.5.4epa11

Note the echo’d command is AT+GLR not AT+GMR. Its not misspelled the same way every time and some commands don’t work. I’m a total noob so any help would be appreciated. Here’s my sketch:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  // Open serial communications and wait for port to open:
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }


  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(115200);
}

void loop() { // run over and over
   
   int incomingByte = 0;
  if (mySerial.available()>0) {
    String a = mySerial.readString();
    Serial.println(a);
    if (digitalRead(LED_BUILTIN) == HIGH){
      digitalWrite(LED_BUILTIN, LOW);
    }
    else 
    {
      digitalWrite(LED_BUILTIN, HIGH);
    }
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

SoftwareSerial can't handle 115200 baud. send AT+UART_DEF=9600,8,1,0,0 to AT firmware. hopefully it goes thru. then set the SoftwareSerial to 9600 baud

You nailed it! Thanks for the help! Things are working much more consistent now.