M08R returns CMS ERROR: 3870 after send 5 SMS

Working module is M08R.
After sending 4 SMS successfully, i will get CMS ERROR: 3870 when trying to send the next while the message is same.
After that when i retry to send SMS again i will get CMS ERROR: 304 while the message is not changed and previous SMS are sent properly.
The problem will be OK if restart the module but it will occur again.
I am working in PDU mode and i am pretty sure the PDU encoding is correct because i did that in Qnavigator.
I made another test, its result was same when i tried to send 10 SMS including 160 character in text mode last one was incomplete and after that message was empty at receiver.
I think this is some memory management problem in module firmware, hoping i am wrong!

Are you using 0x11 as the PDU-type octet? If not, what value are you using?

1 Like

hi
PDU segments are generated by Qnavigator,i dont know what is the value of PDU-type.
but i know this is not PDU problem because in text mode i can only send 10 SMS after each restart.

If the first two digits of the assembled PDU are “00”, the PDU-type is the next two digits.

I expect your PDU starts “0011”, making the PDU-type “11” (in hexadecimal). If not, how does it start?

Given the text-mode limitation, I suspect your provider might have measures in place to prevent your SIM from being used to send spam.

But that doesn’t explain the difference (5 vs 10) in the number of texts you can send. Text-mode SMSs are sent as PDUs as well, it’s just that the modem does the text-to-PDU conversion.

So text-mode also uses a PDU-type octet, of course. This is the first parameter returned by the AT+CSMP? command:

AT+CSMP?
+CSMP: 17,167,0,0
OK

In this case, it’s 17 decimal, which is 11 in hexadecimal (0x11).

Is the time over which these SMSs are sent important? Ie, if you send one per hour, can you then send more then 5 or 10?

Restarting the modem causes it to re-register with the network. This may clear any count of recent SMSs sent which the provider is keeping.

To test this, you could deregister and re-register without restarting the modem.

1 Like

Thanks for your response
Yes i checked and PDU-type is 0Ă—11.
AT+CSMP? response is +CSMP: 17,167,0,0.
I deregistered modem from network using AT+COPS=2
Response was OK then checked registration status using AT+COPS? Response was AT+COPS=2 which means network is deregistered and after a few seconds changed register state to automatic using AT+COPS=0 and response was OK too then checked AT+COPS? Again And it was registered to network correctly, tried to send more SMS but doesn’t work.
There is no matter of time it occurred again with 30 min interval.
But i can’t understand one thing when i retry to send more sms in PDU mode it returns CMS ERROR 304 which means some parameter is incorrect in PDU format but after try it in text mode it returns OK and sends an empty sms to receiver.
I can definitely say there is no limitation with network provider because after send 10 SMS in text mode i still can send empty sms in this mode and it receive at destination.

Guess what!
I changed sms length to 80 english character now in text mode it can send 19 SMS but last one only have 10 character and others are correct!
I test this in PDU mode with same message it can send 7 correct SMS now.
I really think something is wrong with module.

It’s beginning to look that way to me too.

1 Like

I really ask Quectel to check this issue out.
We used this module on our products without information about this issue.

Hi, we have the same issue with the quectel modules.
A workaround is to put a timer in your code to restart the module after a few minutes.
But, this won’t be ideal if you are running on battery.
We are trying to find a solution however, I believe this is software issue and IS solvable.