Quectel MC60 SIM Module loops where it shouldnt

Ok, it confused me a second that on the pcb pin0 is in the manual actually pin1.
So far so good. I get a response back but it loops constantly and respnonds the same:

AT

AT


OK

+CPIN: READY

AT


OK

+CPIN: READY


OK

ERROR

AT


OK

+CPIN: READY


OK

ERROR


OK

ERROR

Call Ready

AT


OK

+CPIN: READY


OK

ERROR


OK

ERROR

Call Ready


OK

ERROR

SMS Ready

AT


OK

+CPIN: READY


OK

ERROR


OK

ERROR

Call Ready


OK

ERROR

SMS Ready


OK

ERROR

AT


OK

+CPIN: READY


OK

ERROR


OK

ERROR

Call Ready


OK

ERROR

SMS Ready


OK

ERROR


OK

ERROR

AT


OK

+CPIN: READY


OK

ERROR


OK

ERROR

Call Ready


OK

ERROR

SMS Ready


OK

ERROR


OK

ERROR


OK

ERROR

I guess something in the code above is not correct. But when i look up some other examples, they are similar. "+CPIN: READY" means that the pin code works (in my case there is none).

#include <SoftwareSerial.h>

SoftwareSerial gsm(2, 3);
SoftwareSerial enableVREG(7, 8);


void setup()
{
  Serial.begin(9600);
  gsm.begin(9600);
  enableVREG.begin(9600);
}

void loop()
{
  if (Serial.available())
  {
    Serial.print("Serial available: ");
    Serial.println(Serial.available());
    String data = Serial.readString();
    Serial.println(data);
    if (data == "*") {
      Serial.println("Asterisc");
      gsm.write(0x1a);
    } else {
      gsm.println(data);
    }

  }
  while (gsm.available())
  {
    Serial.print("GSM available: ");
    Serial.println(gsm.available());
    String data = gsm.readString();
    Serial.println(data);
  }
  Serial.println(gsm.available());
  delay(2000);
}

It seems that "gsm.available();" never returns more than 0.