I can finally make a phone call, receive, and answer it. But if I try to send an SMS I receive CMS ERROR: 500. The GSM modem I am using is Telit GL865-Quad module. Since the Call function is working, what's preventing the SMS to work? please enlightenment me. The Sim Card works fine on my phone to rule out some of the problems. I am using a hyperterminal to type the commands at 19200 speed. This is the user guide with commands for your own convenience.
To send an SMS:
AT+CMGF=1 // Select Text Mode
OK
AT+CMGW=”+xxxxxxxxxxxx” // my number
> Hi
>
+CMGW: 8
OK
AT+CMSS=8
Error: +CMS ERROR: 500
Any ideas to what the error means, since its unknown error? What are some commands to type out to pinpoint the problem?
I would appreciate your help, thanks!
+CMS ERROR: 500 is unfortunately a very generic error message.
I have a few suspicions which may solve your problem:
1) Timing problem
Writing an SMS to the SIM card will take a "significant" amount of time. Between writing the SMS to SIM and sending the SMS wait a couple of seconds.
2) Check that the SMS really did get written to SIM
Using the CMGR command you can verify if the SMS is written to SIM and it's current status.
For example:
AT+CMGR=8
Alternatives:
You can always send an SMS directly without storing on the SIM. This is generally a more favored approach for multiple reasons including SMS sending is quicker and SIM lifetime is extended due to reduced read/writes.
This can be achieved by using:
AT+CMGS=<destination address>
>Hi
You can additionally use the CNMI command to prevent incoming messages being stored on the SIM and being output directly to the console/telnet connection.
Replying on a 7 year old thread - sorry.
Make sure you terminate your message "Hello" with ASCII SUB (0x1A)
Related
I've huawei EC156 cdma modem, I tried to send SMS via AT commands with many commands, But always received response "command not support".
I have used the following commands:
1- AT+CMGS
2- AT + GWWC
Also, I didn't find any C# Libraries dealing with cdma modems.
You definitely need to check the AT commands user manual of your device and check their syntax.
AT+CMGS has two different modes:
in PDU mode its syntax is AT+CMGS=<PDU>
in text mode it is AT+CMGS=< dest phone number>
In both cases AT+CMGS is wrong, and operation not supported is the error you get for a wrong syntax (after setting verbose error mode with AT+CMEE=2).
There are plenty of questions showing the correct AT commands sequence required to send an SMS, for example this one.
I summarize that sequence here briefly:
Some things ti check before starting:
Make sure that the SIM is inserted
Make sure that the PIN code has been correctly inserted (by issuing AT+CPIN? you have to receive the READY response)
Make sure that the device is correctly registered to the network (by issuing AT+CREG? you have to receive the +CREG: 0,1 response)
Then:
Switch to text mode by issuing AT+CMGF=1
Tell to the device the phone number you want send the SMS to, by issuing AT+CMGS=<PHONE NUMBER>. The device will output the > prompt character
Write your text
Close the SMS by providing the Ctrl-Z character (0x1A ASCII code)
On success, the response +CMGS: <N> will be displayed, with N in the range 0-255 meaning the progressive ID of sent messages
I want to send SMS ideally using PHP in a Linux Environment. I have a GSM modem which I want to use to send SMS.
Can anybody please tell me an easy way to send SMS from Linux using a USB GSM modem?
Thank you
Your GSM modem will almost certainly support AT commands - you can see some history of AT, or Hayes, commands here: https://en.wikipedia.org/wiki/Hayes_command_set
The commands supported can vary from device to device but the simplest command sequence to send an SMS message is fairly standard - an example, showing the communication over the serial port, is:
AT+CMGF=1. [you send this]
OK [Modem responds]
AT+CMGS="+31628870634". [you send this]
> Yourtextmessage.→. [Modem responds with > and you send text followed by return at end]
+CMGS: 198 [Modem responds after a few moments when message is sent]
You should be able to find many more examples with a quick search including using PHP - e.g. (at the time of writing): https://gonzalo123.com/2011/03/21/howto-sendread-smss-using-a-gsm-modem-at-commands-and-php/
Its worth being aware that different modems may work differently - you will need to experiment to ensure you have a relabel solution.
I am trying to Read SMS through HSDPA Modem. I Tried
AT+CMGR=1
AT+CMGR=123
AT+CMGR="ALL'
AT+CMGR="REC ALL"
AT+CMGL="ALL"
Commands but No Sucess. Is Any problem with serialport configuration or something else Any other possible solution please help me
Baud Rate:9600
Data bits:8
Parity:None
Stop bit:1
Once you have connected your terminal emulator to your modem (typically /dev/ttyUSB0 on Linux), try AT. If you get an OK or ERROR that means you have no problem with serial port configuration because the modem is responding to you. If you get nothing (ei, no reply from the modem), then you probably have a serial connection or modem hardware issue. Personnaly I'm using miniterm.py (on Linux) and the configuration is
maurice#mickey> sudo miniterm.py -e /dev/ttyUSB0`
--- Miniterm on /dev/ttyUSB0: 9600,8,N,1 ---
Just as yours.
Regarding reading the SMSes, at+cmgl=? should reply either ERROR or a list of statuses. If you get ERROR, this means your modem doesn't accept SMS. Otherwise you should get something like +cmgl: ("REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL")
Now, if you issue at+cmgr, the answer should look like
+CMGL: 8,"REC UNREAD","+XXXXXXXXXXXX",,"16/02/19,19:52:07+12"
Test 1
+CMGL: 9,"REC UNREAD","+XXXXXXXXXXXX",,"16/02/19,19:52:16+12"
Test 2
where +XXXXXXXXXXXX is the sender MSISDN and "Test 1" is the message sent in the SMS (its content). Again, if you get ERROR, that means your modem doesn't accept SMSes. If you have sent some SMSes but the list is empty, maybe SMS are blocked on the HLR for this specific SIM.
To read the 8th SMS, issue at+cmgr=8 and you should get
+CMGR: "REC READ","+XXXXXXXXXXXX",,"16/02/19,19:52:07+12"
Test 1
OK
I'm programming an app to send SMS through a GSM modem with the serial port. I've been able to send SMS for a couple of days using the MessagingToolkit library but suddennly I'm not being able to send SMS anymore.
According to the logs this is due to a Network error. I found out that the "standard" error that I'm facing is:
CMS ERROR: 512 User abort
I found a list of error codes here http://www.smssolutions.net/tutorials/gsm/gsmerrorcodes/ but I can't find any further explanation on the error.
Does anyone that's familiar with GSM knows what's this error about?
When I'm initializing the modem I also get this error message from the starting configurations, it might be related to the 512 error:
2011.04.11-09.23.16: Sending: AT+COPS=0,2
2011.04.11-09.23.17: Error in command AT+COPS=0,2 : ERROR
Thanks!
Have you verified that you are registered with your operator properly? You can do this by sending a AT+CREG?
Regarding the AT+COPS error message. It seems like you aren't sending enough parameters.
AT+COPS=<mode>,[<format>,<oper>[,<AcT>]]
Are you trying to manually select an operator rather than letting the modem take the default operator setup with the SIM card?
I want to send / receive sms using AT commands from my computer to my mobile phone. I connected my phone to my computer using a USB port. My computer detects the modem and I am able to send sms from the computer to mobile phone. However, I am not able to receive sms in my computer..
I am presenting a sample of what I get from AT editor
AT+CMGF=1
OK
AT+CNMI=1,2,0,0,0
Error
What can I do to send this prob and why am I getting this Error?
Every phone has different capabilities so you should check which values for each parameter are valid for your phone by sending it a
AT+CNMI=?
For example my phone doesn't support your example because mode 1 is not supported. For the full syntax of +CNMI you can consult the AT Manual of your manufacturer or the ETSI standard or read this brief tutorial http://www.cellular.co.za/at_etsi.htm
AT+CNMI is used anyway just to get a notification when a SMS arrives, in order to read the content of the stored SMS you have to use AT+CMGL= or AT+CMGR=.
Briefly:
AT+CMGF=1 ;sets the text mode
AT+CMGL=? ;tells you which memories are available
AT+CSCS=? ;tells you which character sets are available
AT+CSCS="8859-1" ;sets Latin1 as the charset so that you can see eventually accented letters
AT+CMGL="ALL" ;prints every text message you have stored in your phone
Most of the phones returns Error when some special AT command sent to them and +CNMI is one of that command. It will return error also when send AT+CNMI=?.
So forget Phones buy a GSM Modem based on RS232 or USB and then try it again.