M95 issue with AT commands ( cms error 603 and cme error 3 )

Hello, I’m a student in Vocational training certificate of computer science in France, I am working on a project for school, for a part of my project, i use an M95 module with a Raspberry Pi 3, i need to use AT commands with the module to send messages and also to connect to a MQTT server, i already talk with a person of the support by e-mail two weeks ago ( 26 april ) because i needed an more recent firmware verion for the M95a module which i used before, my professor tried to flash the module (M95a) with the firmware version that you send me, but it didn’t work ( Qflash displayed an error message saying that the module cannot be flashed/upgraded ) so he found an M95fa-03std module and he tried with this one and this time it worked, i send an email to the support today with the same explaination and they told me to post my question details here.

The problem is when i launch one of my program to send an sms with AT commands, i use mobaXterm to connect to the Raspberry remotly with ssh, so when i launch my program i have the cms error 603 that appear in my terminal window ( i use minicom which is a terminal emulator for raspberry to see the response of the AT commands that i use in my program ), i search in the Quectel_M95_AT_Commands_Manual_V3.2 but i didn’t find the cms error 603", in this documentation there is an cme error with this code ( “cme 603” ) but no cms error with this code, i already succed to send an sms last friday and i don’t modiify anything particulary, but i stil have this error and also the cme error 3.

Bellow, there is my program ( in python ) :

#!/usr/local/bin/python

#--coding:Latin-1-

#Importation des librairies série et gestion du temps #

import serial

import time

#_______ Initialisation de la liaison UART ______#

ser=serial.Serial("/dev/ttyAMA0", baudrate=115200)

ser.write(‘ATI\r’.encode(‘ascii’))

ser.write(‘AT+CPIN=“1234”’.encode(‘ascii’))

ser.write(‘AT+CMGF=1’.encode(‘ascii’))

#______________ Choix du mode texte _____________#

ser.write(‘AT+CMGF=1\r’.encode(‘ascii’))

#___________ Paramétrage du mode texte __________#

ser.write(‘AT+CSMP=17,167,0,r\r’.encode(‘ascii’))

time.sleep(0.1)

#___________ Sélection du destinataire __________#

ser.write(‘AT+CMGS="+33613048740"\r’.encode(‘ascii’))

time.sleep(0.1)

#___________________ Message ____________________#

ser.write(‘Test envoi SMS Raspberry\r’.encode(‘ascii’))

ser.write(chr(26).encode(‘ascii’))

Bellow there is the response of the AT commands that i use in my program ( in minicom ):

AT+CSMP=17,167,0,rMGF=1AT+CMGF=1
Quectel_Ltd
Quectel_M95
Revision: M95FAR02A08

OK

+CME ERROR: 3
AT+CMGS="+33613048740"
*>Test envoi SMS Raspberry
*>
+CMS ERROR: 603

CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.8 | VT102 | Offline | ttyAMA0

if you wonder how i did my tests, there is an screenshot bellow where you can see it :

Do you know what are these errors, what can cause it and how i can solve these errors ?
I am at your disposition for any other information that you might want to have

Thanks in advance

Make sure you are adding the \r on every AT command you send.

For example, here I see some that are missing:

ser.write(‘ATI\r’.encode(‘ascii’))

ser.write(‘AT+CPIN=“1234”’.encode(‘ascii’))  // <== missing

ser.write(‘AT+CMGF=1’.encode(‘ascii’))   // <== missing

Hello, thank you for your reply, it works