1) What hardware do I need?
2) How fast are the SMS server tools?
3) My GSM modem hangs often
4) Can I change the sender ID of sent messages?
5) How can I resend failed messages?
6) Command echoes are missing some characters
7) My modem does not answer to any AT-Commands
8) Error Message: Modem is not clear to send
9) Received messages or answers to AT commands contain often garbage.
10) How can I check the modem manually
11) What means +CMS ERROR 512?
12) Why does my modem answer ERROR?
13) I cannot receive messages
14) I cannot send messages
15) Error loading libmm.so.11
16) Can smart phones be used to receive messages?
1) What hardware do I need?
You need a Computer with at least one serial port.
It does not matter how fast the CPU is and how much memory you installed.
You also need at least one GSM modem with SMS command set according to the european specification GSM 07.05 (=ETSI TS 300 585),
a character-based interface with hex-encoded binary transfer of message blocks ("PDU Mode") of it,
and alphabet support according to the GSM 03.38 (=ETSI TS 100 900).
The software runs on Windows and all Unix-Style operating systems.
2) How fast are the SMS Server Tools?
The performance depends on the number of modems that you use and on the modem itself.
Sending a single message takes between 5 and 10 seconds.
You can increase the performance by using up to 64 modems.
3) My GSM modem hangs often
This is mostly caused by a weak power supply.
Most GSM modems of Falcom and Siemens work with a 12V 800mA power supply.
You may try to add a capaciator at the power supply (2200µF/25V)
or change to a stabilized power supply.
4) Can I change the sender ID of sent messages?
This software uses the signalling channel that is limited to the senders phone number only.
You cannot change it. If you really need that feature, you need a large-account to the SMSC
and another software, for example SendXMS. Be prepared to very high costs.
5) How can I resend failed messages?
The program does already two retries. If you need more, then simply
move the files from the failed directory to the outgoing directory.
You can use the script smsresend to do that.
This script inserts a retry counter so that the number of retries per message can be limited.
Run this script with a timer (for example cron) if you need automatic retries.
6) Command echoes are missing some characters
You see in the logfile that the commands are echoed by the modem.
But the echoes from the modem are missing some characters and therefore the modem does not
answer or answers with ERROR. This happens when the modem or cable does not support hardware
handshake and when the handshake wires are simply bridged. Try a lower bitrate or use the
send_delay option in the config file to make the program even slower. But to make it really
stable and fast, it's highly recommend to replace the bad hardware.
7) My modem does not answer to any AT-Commands
You probably set a wrong baudrate or a wrong serial port name. If both are ok, then ensure
that no other program is currently using the serial port already. Many unix systems have a
"getty" program for login through the serial port that you probably need to disable.
The command lsof might be helpful to check this. If this is Ok, then check the modem
manually.
It could bee a good idea to test the modem under another operating system (for example Windows or Knoppix) and it might also help to check if another modem is accessible on that suspicious serial port.
8) Error Message: Modem is not clear to send
The modem does not signal that it is ready to accept commands. The CTS wire is not activated.
This can be caused by a broken cable, missing CTS wire or missing hardware handshake support in your hardware.
Try to disable hardware handshake in the config file and use the lowest possible baudrate.
9) Received messages or modem answers contain often garbage
This is mostly caused by missing hardware handshake, but it can also be caused by a too high serial bitrate.
Try 2400 baud, this will have only minor effect to the overall performance.
If this does not help, then try to use the send_delay option in the config file to make the program even slower.
Another cause might be that another program accesses the same serial port while the SMS Server Tools are talking to the modem.
10) How can I check the modem manually?
Check the modem using a terminal program like Hyperterminal, minicom or tip. Use the
9600 or 19200 baud, no parity, 8 bit, 1 stopbit. Enable hardware handshake (RTS/CTS) because this software
also needs this. Here are some interesting AT-commands that you might try to enter:
Command | Answer | Meaning |
AT | OK | Serial cable works and current serial settings are useable |
AT+CPIN? | READY | The modem knows the PIN already |
PIN | The modem needs the PIN number | |
PUK | The modem needs the PUK (the pin is locked) | |
ERROR | The SIM card if not found | |
AT+CPIN=1111 | OK | Enter the PIN |
ERROR | The PIN is wrong or it was entered before | |
AT+CPIN=12345678,1111 | OK | Enter the fixed PUK and set a new PIN |
ERROR | The PUK is wrong | |
AT+CREG? | 0,1 | The modem is connected to the phone network |
0,2 | The modem is connecting to the phone network | |
0,5 | The modem is connecting to a roaming partner network | |
other | The modem is not connected to the network |
11) What means +CMS ERROR 512?
This error code should be described in the modems manual. There are a lot of possible
reasons. Most users see this error code when they try to send a message while the modem received another one
at the same time. This causes a collision in the message transfer protocol between modem and SMSC. There
is nothing you can do against this, therefore the software retries sending 2 times after an ERROR.
12) Why does my modem answer ERROR?
Normaly the modem manual should contain a description of every command incuding possible ERROR causes.
Some modems support the command AT+CMEE=1 to get more informations about the ERROR cause.
You can try to put this command into the init-string.
13) I cannot receive messages
First check that you have defined a modem to receiving. Default value for setting incoming
is no.
Some modems store received messages in the internal memory instead of the SIM card but only the SIM card memory is accessible via serial port. In this case, the init-string AT+CPMS="SM","SM","SM" tells the modem to store all messages on the SIM card (SM). To store messages in the internal memory, use "ME" instead. Some modem do not accept three values in this command and answer with ERROR. In this case, try only one value: AT+CPMS="SM". Another possible setting is "MT" which tells the modem to access both memory locations. Falcom Samba and maybe some other modems ignore the AT+CPMS command. In this case, try AT^SSMSS=1 instead.
Some modems route received messages directly to the terminal and do not store messages on the SIM card. To disable this routing use the init-string like AT+CNMI=2,0,0,2,1. Check the manual of modem for correct values.
14) I cannot send messages
First check that the destination number is given using international format.
If this does not help, define a correct SMSC number in the config file.
Note that this number must also be given using international format.
This setting often helps when the default SMSC number that is stored on the SIM card is wrong or missing.
15) Error loading libmm.so.11.
If you see an error message like this when you start smsd, then the operating system did not find the file
libmm.so.11. Add the correct path (probably /usr/local/lib) to the environment variable LD_LIBRARY_PATH.
GNU/Linux users can also set the path in /etc/ld.so.conf.
16) Can smart phones be used to receive messages?
Usually no. Smart phones do not show incoming messages to the AT command interface.
Those devices can be used for sending only.
Generally: