Status indication (of the network) is controlled by GSM module in the operation mode. If the indication is absent during the modem power supply, but the modem is working (responding to AT commands), then the following reasons are possible:
- This feature is disabled in the module. You should enable it. For example, it can be done using the following AT command in Cinterion modules: at^ssync=1;
- Modem is not registered in the network (it is true for iRZ ES90u modem);
- Malfunction.
International Mobile Equipment Identity (IMEI) is displayed by "AT+GSN" or identical "AT+CGSN command.
Indication of receiving of new message occurs if the controller is active (for example, DTR signal is enabled). If the control device is disabled, message receiving must be carried out according to GSM standard 03.38. If DTR signal is not used, stable message transmission is provided by use of AT+CNMA confirmation procedure.
at+cnmi command sets indication for a new short message.
Make sure that your settings are correct:
at+cnmi=<mode>,<mt>
Parameters description
<mode>:
0 - buffering of unsolicited result codes in the modem.
1 - Dropping indicating message and declining unsolicited result codes of a new received message, when the communications channel "modem – control device" is reserved (e.g. in online data transmission mode). Otherwise, they are transmitted directly to the control device.
2 - Buffering of unsolicited result codes in the modem, when the communications channel modem - control device is reserved, with their offloading to the control device after backup. Otherwise, they are transmitted directly to the control device.
3 - Unsolicited result codes transmission directly to the control device. When the communications channel modem - control device is reserved, URC messages are transmitted in accordance with the parameters <uri>, <udri> и <urat> of AT^SCFG command.
<mt>:
0 – Messages indicators SMS-DELIVER are not forwarded to the control device;
1 - If SMS-DELIVER is stored in the modem, memory unit message indicator is sent to the control device using unsolicited result code.
2 - SMS-DELIVER messages, except class 2 messages and messages from the store message group are transmitted directly to the control device using unsolicited result code.
3 - SMS-DELIVER messages of class 3 are transmitted directly to the control device by means of unsolicited result codes, defined by value <mt>=2. Messages indication with other data coding schemes is made in accordance with <mt>=1.
According to "3GPP TS 27.007 (GSM 07.07): AT command set for User Equipment (UE)" ATS0 command is also used as GPRS compatibility command for automatic respond to network request for PDP context activation. Therefore, when giving ATS0 write command, parameter <n> of which has a value greater than 0, the equipment ME attempts to make GPRS connection, if the service is still not connected and configured properly (AT^SCFG command setting). If automatic GPRS connection fails, ME equipment is still trying to connect for about 5 minutes before the response for ATS0 command result "ERROR" or "CME ERROR: unknown" will be given, although the new value <n> is valid. In such cases to avoid the risk of long-term response to ATS0 command you should enable auto-reply mode for GPRS, if GPRS is not used.
Before setting auto-reply, give the command at^scfg="GPRS/ATS0/withAttach",off.
It is also necessary that SIM card should be installed in the modem, and PIN code is cleared.
To arrange data exchange via CSD connection (some operators do not offer this service), you should first configure the modem using AT commands.
Setting up master modem (the call will be initialized from its side):
at+ipr=9600 (exchange rate of com port)
at&d0 (DTR ignoring)
ate0 (echo off)
at&w (saving)
at^smso (off)
Setting up slave modem (SIM card to be inserted):
at+ipr=9600 (exchange rate of com port)
at^scfg="GPRS/ATS0/withAttach",off
ats0=1 (auto-reply)
at&c1 (DCD mode definition)
at&d0 (DTR ignoring)
at+cbst=71,0,1
ate0 (echo off)
at&w (saving)
at^smso (off).
Install the modems in their places. Supply power, wait for modems registration (LED flashing becomes short).
Give atd8921... command from the master modem (create CSD connection). Wait for the response (usually less than 10 seconds) that a connection is established, with LEDs on the two modems lit continuously. Next, close (disable) the HyperTerminal to free com port. You can transmit data.
To interrupt CSD connection, enter the command «+++» to switch from data transmission mode to command mode. Then enter ath command to disconnect.
Manufacturers offer programs for some counters that can install CSD connection and interrogate the counter. Some programs require a specific response from the modem about CSD connection - the program is created for the specific modem. It is easy checked – the connection is not established through the counter manufacturers program, but is established through HyperTerminal.
If the counter directly (via cable) is interrogated, and is not interrogated via CSD, you should increase the timeout (it can be named differently in different counters) in the counter settings.
Differences in hardware
| Hardware | MC35iT / TC35iT | MC52iT/MC55iT | Migration |
| Power supply | 8V to 30V | 8V to 30V | ![]() |
| SIM cards | 3V only | 1.8V & 3V | ![]() |
| Serial Interface | 300bps to 115,000bps | 300bps to 115,000bps | ![]() |
| Character Framing | 8N1 / 7E1,7O1,8N1, 8E1, 8O1, 8N2 | 8N1 | ![]() |
| Frequencies | 900,1800 | 900, 1800 / 850, 900, 1800, 1900 | ![]() |
| Operational temp. | -25 0C to +55 0C |
-30 0C to +75 0C | ![]() |
| Temp. Switch off | yes | yes | ![]() |
| Real Time Clock | yes | yes | ![]() |
| Status LED | yes | yes | ![]() |
| Power Saving | 0, 1, 5, 6, 7, 8 | 0, 1, 5, 6, 7, 8, 9 | ![]() |
| GPRS Class | Class 8 / n.a. | Class 8 / Class 10 | ![]() |
| Voice Codecs | HR, FR, EFR | HR, FR, EFR, AMR | ![]() |
Differences in the program part
| Software | MC35iT / TC35iT | MC52iT / MC55iT | Migration |
| TCP / UDP | no | yes | ![]() |
| HTTP | no | yes | ![]() |
| FTP | no | yes | ![]() |
| POP3 / SMTP | no | yes | ![]() |
| Fax | group 3 class 2 & 1 | group 3 class 2 & 1 | ![]() |
| Transparent TCP | no | no / yes | ![]() |
| Audio – Echo / Limiter | suppression / yes | Cancellation / no | ![]() |
| Concatenated SMS | no / yes | no |
![]() |
| Approvals | R&TTE, GCF | R&TTE, GCF, UL, FCC, IC, PTCRB | ![]() |
|
Explanations: |
|
|
Bold |
- Defines new features or improvements in new products; |
![]() |
- The migration of this parameter will cause no complications, because it has not been changed or improved; |
![]() |
- You should pay particular attention to this parameter during the migration, because changes may not be compatible with the old solutions; |
This error may be caused by incorrectly installed driver, but more often it is caused by the wrong dial-up number. Mobile phones generally use number *99#, but you need to specify the number *99***1# for Siemens and Cinterion modems.
Another possible reason is that you are using incomplete RS232 cable. In this case the modem will successfully answer the inquiry, but the connection will not work. Replace the cable for a complete one, having all the lines.
Working with companies that use wireless access in payment terminals, our engineers have often faced the error making "Instant Payments Integrated System" (OSMP) modems software operate incorrectly. This error is expressed in the following: the software cannot get the name of the operator and the balance of the SIM card installed in the modem. The error appears only if the modem uses COM-ports expansion board with assigned port number for the modem higher than 9.
The error is ceased if the number assigned for modem COM port is set from 1 to 9. If all the numbers are occupied, you can reassign any device connected to COM port in this range (ie, cash acceptor or watchdog) for a major number.
To reassign the COM port number you should do the following steps:
1. Select the COM port to be reassigned in the "Device Manager". Enter its properties.
2. Click on the "Port Settings" tab and click "Advanced” button.
3. Select the COM-port that is not marked "(Used)".
4. Click OK
To make the modem to pick up the handset during the incoming call, you have to run AT command:
ats0=n
, where n - is number of rings. Usually n is set by one, i.e. ats0=1
After setting this command you should run at&w command and at^smso command to shut down the module safely and save all settings.
You should check the operation of auto-pick up mode in DATA-Call (CSD) mode. When you call to the modem from the ordinary mobile phone, the cellular network usually sends a marker that it is a voice call. But during the voice call the modem will not pick up the receiver!
AT command to make a call to transfer data (DATA-Call, CSD): atdXXXXXXXXXXX
AT command for a voice call: atdXXXXXXXXXXX;
(So, voice call requires a semicolon after the number, on the contrary, it should be absent for CSD).
Besides, auto-pick up will not operate if you do not specify a fixed rate by AT+IPR command.
Some modems have open software platforms Open AT® (GSM modem iRZ Q24PL001) or Java (GSM modems iRZ TC65Smart, TC65i-485GI, TC65Lite). With the help of appropriate software you can create/support GPRS/EDGE connection for these modems.
Other modems in these communications standards are slave. To create/support GPRS/EDGE/UMTS connection they have to be controlled by some control devices (computer, industrial controller).
Almost all modems have built-in TCP/IP stack, making software creation easier. AT commands description for work with TCP/IP stack, and examples of their use you can find in the list of AT commands.
List of error codes:http://www.smssolutions.net/tutorials/gsm/gsmerrorcodes/
|
Siemens:
|
Cinterion:
|
Pay attention that SDKs for Siemens and Cinterion modules differ. To determine module that is installed in your terminal, connect to it via COM port using the terminal program and enter ATI command. The module will display the software manufacturer, model and revision.
Any modem with USB or RS232 (RS485) can be controlled by AT commands. Complete guides to AT commands for each individual modem you can find in "Product Support" section. This section describes the most frequently asked shutdown and modem reboot commands.
To reboot the modem with further re-registration you should use the following command in the operator's network
AT+CFUN=1,1
The first number in this command means the mode in which the modem to be after the restart - in this case, it is full operational capacity. There are also different hibernation modes, which can be used to temporarily modem disable. For a complete description, see the relevant document.
The second number in this command is the indication for the modem to be restarted. One is for restart.
This command is recommended by 3GPP consortium (http://www.3gpp.org) for mobile equipment. This command has an implementation of the vast majority of terminals and modems.
To turn off the modem based on modules from Siemens you can use the command:
AT^SMSO
Though this command has an implementation in the mobile equipment of Siemens, its use is NOT RECOMMENDED for the reason that this command, as not having 3GPP consortium support, may at any time be excluded from the modem commands during the firmware update. For your reference: Any command with ^ character after AT is own initiative of Siemens company and is not standard and not recommended for use.
New modems iRZ MC35S and iRZ MC35PU have forced reset ability implemented by the external program. This function is realized by eightfold rising and lowering of DTR signal during the given time. Recommended values: 0.5 s - pulse, 0.5 sec – pause.
Windows utility:DTR8X.exe (474.50 KB)
You can use the following Perl script for Linux:
---------------------------DTR8X.pl----------------------------------------
#!/usr/bin/perl -w
# yum install perl-Device-SerialPort # Fedora
# apt-get install libdevice-serialport-perl # Debian
# ./DTR8X.pl /dev/ttyUSB0 # syntax
use Device::SerialPort;
my $device = '/dev/ttyS0'; # default device
my $milliseconds = 500; # 0.5s delay
my $count = 8;
$device = $ARGV[0] if ($#ARGV == 0); # get device from command line
my $port=new Device::SerialPort($device) || die "new($device): $! ";
for (my $i = 0; $i <= $count; $i++) { $port->pulse_dtr_off($milliseconds); }
Windows utility: DTR8X.exe (474.50 KB)
You can use the following Perl script for Linux:
---------------------------DTR8X.pl----------------------------------------
#!/usr/bin/perl -w
# yum install perl-Device-SerialPort # Fedora
# apt-get install libdevice-serialport-perl # Debian
# ./DTR8X.pl /dev/ttyUSB0 # syntax
use Device::SerialPort;
my $device = '/dev/ttyS0'; # default device
my $milliseconds = 500; # 0.5s delay
my $count = 8;
$device = $ARGV[0] if ($#ARGV == 0); # get device from command line
my $port=new Device::SerialPort($device) || die "new($device): $! ";
for (my $i = 0; $i <= $count; $i++) { $port->pulse_dtr_off($milliseconds); }
There are two ways to install USB modem in Linux. The first is changing drivers in the core source code, following by reassembly of the corresponding module. The second is to change the device PID code using Windows program.
The first way
First, you need to know the device VID (Vendor ID) and PID (Product ID). You can do this using lsusb command after connecting the modem to the system:
$ lsusb
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 10c4:8341 Cygnal Integrated Products, Inc.
Bus 001 Device 001: ID 0000:0000
We are interested in the second line. Characters 10c4 are VID, and 8341 are PID. PID for different modems will differ.
Now that we know VID and PID, you will need the core source code. They are set by the following command in Ubuntu:
sudo apt-get install linux-source
Next, add the modem ID to the driver source code
cd /usr/src/linux/
sudo gedit drivers/usb/serial/cp2101.c
Find the line
{ USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */
and add the following line to it
{ USB_DEVICE(0x10C4, 0x8341) }, /* Siemens MC35PU GPRS modem*/
Reassemble the core:
make
Copy the new module instead of the old one:
sudo cp /usr/src/linux/drivers/usb/serial/cp2101.ko /lib/modules/версия_ядра/kernel/drivers/usb/serial/cp2101.ko
Restart your computer. After the changes the modem will be determined as USB to COM converter.
The second way
Connect the modem to Windows PC and install the driver ( http://radiofid.ru/upload_data//drivers/irz/MC35pu/mc35pu.zip). Download and run CP210x Customization Utility (http://radiofid.ru/upload_data//soft/AN144SW.zip).
Check box in PID section and enter the value EA60. Select Program Device button.

Then Linux will determine the modem as common USB to COM converter. To use such modem in Windows, you need to install USB to COM converter driver from Silicon Labs site (https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx).





