SIM7600CE-T module... odd serial output returned

I've been working with one of these shields... SIM7600CE-T_4G(LTE)_Shield_V1.0_SKU_TEL0124-DFRobot

In particular the module is receiving an SMS... but I don't seem to be able to display the whole message on the Arduino.

I've cut it back to a very basic sketch as follows

#include <SoftwareSerial.h>

SoftwareSerial SIM7600(7, 8); 

void setup()
{
  SIM7600.begin(57600); 
  Serial.begin(57600);   
}

void loop()
{
   while(Serial.available()) 
  {
    SIM7600.write(Serial.read());
  }
  
  while (SIM7600.available()) 
  {
    Serial.write(SIM7600.read());
  }

}

The SMS appears to arrive ok... and I can read it (with the AT+CMGR=x command)... BUT.. any messages over 37 characters seem to get corrupted... the last few characters seem random.

Here is the serial output (2 messages sent: 30 chars & 50 chars : 1234567890 repeating)...

+CMTI: "SM",0
AT+CMGR=0

+CMGR: "REC UNREAD","+64292011***","","21/10/18,20:36:15+52"
123456789012345678901234567890

OK

+CMTI: "SM",1
AT+CMGR=1

+CMGR: "REC UNREAD","+64292011***","","21/10/18,20:36:53+52"
123456789012345678901234567890123456792479
O

Anyone got any ideas about what is going on?

SoftwareSerial is very unnlikely to operate at 57600 with any other activity on the processor.

I'd be surprised if it was any good over 19200 or even 9600 in most applications.

Get a MEGA or other processor which has multiple hardware serial ports,
Problem solved

Thanks, don't know why I didn't try that. Dropped back to 9600 baud and it is now much more reliable. Ultimately I'll be using an ESP32, but for now 9600 will do.

Yup, the ESP will be much better, but I wouldn’t trust SS with anything over 19200 on any hardware.

Plus, it just eats cpu cycles for no benefit.