Is the ME part of my SIM800C well working?


#1

Hello,
I am very new to the SIM domain (and new to cell phones too!). I want to check if a SIM800C evaluation module with a recently purchased SIM card to a local provider works well, and I’m not sure of anything.
The communication between the RPi0 and the module is OK, and I decided to power the SIM module with an old PC power supply, so I do not have to worry about the 2 amps of maximum current .
I have written software that places the SIM module in a known state when the system is restarted or powered up, it seems to work well. Then I run “miniterm.py” to send commands and requests to the module.

My first question is: how can I be sure that the module is connected to the radio network ? (note: in the following texte, the character ’⏎’ means the two characters “\ r \ n” in that order, while ’↵’ means “\ r” only, with ’\ r’ = 0x0D, 13, and ’\ n ’= 0x0A, 10, .

The most surprising is that every time I start the module, the LED of the network LED always flashes the same way (10 flashes in 8~ seconds), the antenna being connected or not !

The module has a strange behavior. For example, using miniterm program, the command:

at+cband?↵

gave

⏎+CBAND: PCS_MODE, ALL_BAND⏎

at the first query. I do not feel especially bad with that !
When I try to modify this parameter, the answer is of type

⏎+CBAND: XXXXX⏎⏎OK⏎

except for PGSM_MODE which gives

⏎+CME ERROR: operation not authorized⏎

. For all these commands, if I add “,ALL_BAND” to the first parameter, the answer is

⏎+CME ERROR: unauthorized operation⏎

. It looks like that the ALL_BAND option is always added, a sort of default setting. But in that case, why did the module answered "⏎+CBAND: PCS_MODE, ALL_BAND?⏎ at the very first query ?

I am really wondering if the ME part of the SIM is well working. Could someone tell me, please, how can I check that.

Thank you for the attention you paid to this topic.


#2

Hi,
In which country are you using this?

Module blinks the network LED at every second rate if there is no network connection .
It blinks every 3 seconds when it connects to network.

Normally its set to EGSM_MODE,ALL_BAND for auto detection of bands.


#3

Hello Ravi,

Thank You very much for the help you offer to beginners. For your web site(s) too, that is(are) very nice.

Related to blinking rates of the Netlignt, the following is a table got from the reference doc (…Radio/SIM/SIM800C_Hardware_Design_V1.02.pdf page 35). In the central column, I added the time between 10 flashes (64ms) of the Netlight.

Status              T/10 pls   SIM800C behavior

Off                 (♾)        SIM800C is not running
64ms On/ 800ms Off  (8.64)     SIM800C not registered the network
64ms On/ 3000ms Off (30.64)    SIM800C registered to the network
64ms On/ 300ms Off  (3.64)     GPRS communication is established

So, there is no 1 Hz blinking rate, as everybody use to talk about in the forums and Internet pages. But I suppose that they all talk about this 1.15Hz.

I am located in Peru. The “+COPN” command is listing more than 600 items.

With help of the miniterm.py program, I setted the module for a default 15200 baudrate (“at+ipr=115200;&w↵”). I noted that “;&w” is not necessay because the parameter of this command is supposed to be saved automaticaly in NVRAM (non-volatile flash memory).

After having restarted the module it can display (removing extra empty lines) :

at+cfun=1,1
OK
RDY
+CFUN: 1
+CPIN: READY
Call Ready
SMS Ready
at+cops=?
+COPS: ,(0-4),(0-2)
OK

I don’t know where to look !

I have to say that there are days that I am testing this module. During this time, at least once, I had this :

at+cops?
+COPS: (3,“71606”, “71606”, “71606”),(2,“TIM PERU”,“TIMPERU”,“71610”),(0-4),(0-2)

Thank you.


#4

What is SIM registration status., AT+CREG?


#5

Hello Ravi,
Thank you for the attention you paid to me.

Powering on the module, typing the command “miniterm.py --ask --eol CRLF --raw --exit-char 25 /dev/ttyAMA0 115200 ; # ^Y” and then pushing the “Pon/Poff” of the button, I get (empty lines removed) :

— Miniterm on /dev/ttyAMA0 115200,8,N,1 —
— Quit: Ctrl+Y | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H —
RDY
+CFUN: 1
+CPIN: READY
Call Ready
SMS Ready
at+creg=1
OK
+CREG: 2
+CREG: 0

Of course, the two last lines are “rewritten” every 60 seconds, more or less.


#6

I mean you should check the status of registration using command AT+CREG?
? is part of the command itself.
Module will give registration status.


#7

Hello Ravi, and thank you.

RDY
+CFUN: 1
+CPIN: READY
Call Ready
SMS Ready
AT+CREG?
+CREG: 0,0
OK
AT+CREG?
+CREG: 0,0
OK
AT+CREG?
+CREG: 0,0
OK
AT+CREG?
+CREG: 0,0
OK
AT+CREG?
+CREG: 0,0
OK

The last command had been sent one hour after haing powered on of the module.


#8

Why there are so many CREG? commands executed?


#9

I did not respond corectly first. I send myself all these commands.
I dont know. I guess the module is trying to register every minute. But when I try the command “AT + CSQ” and the response is “+ CSQ: 0.0” which looks bad to me. Could it be possible that I previously sent some bad command that would have places the module in that bad state?


#10

What is your current band setting?
And the repeat might be due to your controller getting reset. How are you sending this data to module?
Serial terminal?


#11

Hello Ravi,
Thank you for your answer.

The module and the Raspberry pi Zero connected together for the serial communication and a GPIO to simulate the PowerON/PowerOff push button. The RPi0 is connected and powered by the USB to my Desktop computer. The communication between my desktop and the RPi0 is done via ssh. RPi0 is executing miniterm.py. Finaly, the AT commands and the responses appear on the terminal of my desktop.

Powering then starting (push button more than 1 seconde) the SIM module, while miniterm.py is running (extra empty lines removed and AT commands entered by myself in bold):

RDY
+CFUN: 1
+CPIN: READY
Call Ready
SMS Ready
at+cband?
+CBAND: EGSM_MODE
OK

I read somewhere that some SIM card are limited (G3?, not sure). Could my problem come from such a limitation ?

EDIT : Adding the result of an “AT&V” command, changing presentation for a quick compare:

AT&V
DEFAULT PROFILE                 USER PROFILE                    ACTIVE PROFILE
S0: 0                           S0: 0                           S0: 0
S3: 13                          S3: 13                          S3: 13
S4: 10                          S4: 10                          S4: 10
S5: 8                           S5: 8                           S5: 8
S6: 2                           S6: 2                           S6: 2
S7: 60                          S7: 60                          S7: 60
S8: 2                           S8: 2                           S8: 2
S10: 15                         S10: 15                         S10: 15
+CRLP: 61,61,48,6               +CRLP: 61,61,48,6               +CRLP: 61,61,48,6
V: 1                            V: 1                            V: 1
E: 1                            E: 1                            E: 1
Q: 0                            Q: 0                            Q: 0
X: 4                            X: 4                            X: 4
&C: 1                           &C: 1                           &C: 1
&D: 1                           &D: 1                           &D: 1
+CLTS: 0                        +CLTS: 0                        +CLTS: 0
+CREG: 0                        +CREG: 0                        +CREG: 0
+CGREG: 0                       +CGREG: 0                       +CGREG: 0
+CMEE: 0                        +CMEE: 0                        +CMEE: 0
+CIURC: 1                       +CIURC: 1                       +CIURC: 1
+CFGRI: 2                       +CFGRI: 2                       +CFGRI: 2
+CMTE: 0                        +CMTE: 0                        +CMTE: 0
+CANT: 0,0,10                   +CANT: 0,0,10                   +CANT: 0,0,10
+STKPCIS: 0                     +STKPCIS: 0                     +STKPCIS: 0
+CMGF: 0                        +CMGF: 0                        +CMGF: 0
+CNMI: 2,1,0,0,0                +CNMI: 2,1,0,0,0                +CNMI: 2,1,0,0,0
+CSCS: "IRA"                    +CSCS: "IRA"                    +CSCS: "IRA"
+VTD: 1                         +VTD: 1                         +VTD: 1
+CALS: 1                        +CALS: 1                        +CALS: 1
+CHF: 0                         +CHF: 0                         +CHF: 0
+CAAS: 1                        +CAAS: 1                        +CAAS: 1
+CBUZZERRING: 0                 +CBUZZERRING: 0                 +CBUZZERRING: 0
+DDET: 0                        +DDET: 0                        +DDET: 0
+MORING: 0                      +MORING: 0                      +MORING: 0
+SVR: 16                        +SVR: 16                        +SVR: 16
+CCPD: 1                        +CCPD: 1                        +CCPD: 1
+CSNS: 0                        +CSNS: 0                        +CSNS: 0
+CSGS: 1                        +CSGS: 1                        +CSGS: 1
+CNETLIGHT: 1                   +CNETLIGHT: 1                   +CNETLIGHT: 1
+SLEDS: 64,64,64,800,3000,300   +SLEDS: 64,64,64,800,3000,300   +SLEDS: 64,64,64,800,3000,300
+CSDT: 0                        +CSDT: 0                        +CSDT: 0
+CSMINS: 0                      +CSMINS: 0                      +CSMINS: 0
+EXUNSOL: 0                     +EXUNSOL: 0                     +EXUNSOL: 0
+FSHEX: 0                       +FSHEX: 0                       +FSHEX: 0
+FSEXT: 0                       +FSEXT: 0                       +FSEXT: 0
+IPR: 0                         +IPR: 115200                    +IPR: 115200
+IFC: 0,0                       +IFC: 0,0                       +IFC: 0,0
+CSCLK: 0                       +CSCLK: 0                       +CSCLK: 0

We can see that only the default baudrate had been changed. Hoping it will help finding what’s wrong…


#12

Hello,

I decided to enter commands / requests that could help expert to have an idea on the reason why the SIM module looks not working. I write “looks” because I am still not sure of the way to know the state of this module.

the result saying “CME ERROR: unknown” make me wondering if the CME part is well working.

at+ifc?
+IFC: 0,0
OK
at+cmee=2
OK
at+cacm
+CME ERROR: unknown
at+camm?
+CME ERROR: unknown
at+caoc=2
+CME ERROR: unknown
at+cbst?
+CME ERROR: unknown
at+ccwa?
+CCWA: 0
OK
at+cscs?
+CSCS: “IRA”
OK
at+csta?
+CSTA: 129
OK
at+cimi
716170026391480
OK
at+clck
+CME ERROR: Unspecified Error
at+clip?
+CLIP: 1,2
OK
at+clir?
+CLIR: 0,2
OK
at+colp?
+COLP: 0,2
OK
at+cops?
+COPS: 0
OK
at+cpas
+CPAS: 2
OK
at+cr?
+CR: 0
OK
at+creg?
+CREG: 0,0
OK
at+crlp?
+CRLP: 61,61,48,6,7
OK
at+crsl?
+CRSL: 24
OK
at+csq
+CSQ: 0,0
OK
at+cmux?
+CMUX: 0,0,5,127,10,3,30,10,2
OK
at+cnum
OK
at+cpol?
+CPOL: 1,2,“310410”
+CPOL: 2,2,“310410”
+CPOL: 3,2,“73001”
+CPOL: 4,2,“73001”
+CPOL: 5,2,“73001”
+CPOL: 6,2,“21401”
+CPOL: 7,2,“21401”
+CPOL: 8,2,“21403”
+CPOL: 9,2,“21403”
+CPOL: 10,2,“72405”
+CPOL: 11,2,“72405”
+CPOL: 12,2,“72431”
+CPOL: 13,2,“72431”
+CPOL: 14,2,“72416”
+CPOL: 15,2,“72416”
+CPOL: 16,2,“72402”
+CPOL: 17,2,“72402”
+CPOL: 18,2,“72403”
+CPOL: 19,2,“72403”
+CPOL: 20,2,“72404”
+CPOL: 21,2,“72404”
+CPOL: 22,2,“334050”
+CPOL: 23,2,“334050”
+CPOL: 24,2,“72234”
OK
at+cfun?
+CFUN: 1
OK
at+ccwe?
+CME ERROR: unknown
at+cbc
+CBC: 0,98,4191
OK
at+cssn?
+CSSN: 0,0
OK

The more strange is that I repeated these commands / requires with the antenna disconnected and the results are EXACTLY the same !


#13

You module is not talking to the network.
Can you add ALL BAND setting, your band setting is EGSM_MODE only?

AT+CBAND=“EGSM_MODE,ALL_BAND” and see if it works.
Share a image of your setup showing how you have connected things.
Or a short video might also help.


#14

Hello,
Here are the pictures:



Using the oscilloscope and after having sent the command AT&C, I monitored the DCD signal status of the SIM module. It is permanently à 1 (high).

I thought I wrote it, but no ! I already tried to change Operation Band, here are the results :

at+cband="PCS_MODE";+cband?            +CBAND: PCS_MODE OK
at+cband="EGSM_PCS_MODE";+cband?       +CBAND: EGSM_PCS_MODE OK
at+cband="EGSM_MODE";+cband?           +CBAND: EGSM_MODE OK
at+cband="DCS_MODE";+cband?            +CBAND: DCS_MODE OK
at+cband="EGSM_DCS_MODE";+cband?       +CBAND: EGSM_DCS_MODE OK
at+cband="PGSM_MODE";+cband?           +CME ERROR: operation not allowed
at+cband="GSM850_MODE";+cband?         +CBAND: GSM850_MODE OK
at+cband="GSM850_PCS_MODE";+cband?     +CBAND: GSM850_PCS_MODE OK

But :
AT+CBAND="whatever_mode,ALL_BAND"↵ -> +CME ERROR: operation not allowed


#15

I should also say that the first objective is to send and receive SMS only. I have no ideas of the meaning of these modes :face_with_raised_eyebrow:
I go and try to find something on these modes on Internet…

If we look at the last image of this page,
http://m2msupport.net/m2msupport/atcband-get-and-set-the-mobile-operating-band/
it seems that the first diagnostic test displayed by this software is “at+csq”, and in the example, it displays a good level. When I do this test, I get “+CSQ: 0.0” which means, if I well understand, that there is almost no incoming radio signal. This missing radio signal could explain that with or without an antenna, the results are always the same.
NOTE : I have a good cell phone running very close to the module.