Difference between revisions of "GPRS Data"

From IPLOG
Jump to: navigation, search
Line 1: Line 1:
 
<font color="red" size="+1">This page is beign temporarily revised with the newest updates.</font>
 
<font color="red" size="+1">This page is beign temporarily revised with the newest updates.</font>
  
= How to Enable GPRS Data on IPLOG-GAMA G2/G3 =
+
= How to Set Up GPRS Data on IPLOG-GAMA G2/G3 =
 +
 
  
 
== IPLOG-GAMA G2 ==
 
== IPLOG-GAMA G2 ==
Line 8: Line 9:
  
  
=== 1. Edit the Configuration File ===
+
=== GPRS Data Enable ===
 +
 
 +
==== 1. Edit the Configuration File ====
 
Open the file '''/etc/init.d/S41gprs''' by default text editor '''Vi'''.
 
Open the file '''/etc/init.d/S41gprs''' by default text editor '''Vi'''.
  
Line 100: Line 103:
  
  
=== 3. Device Reboot ===
+
==== 3. Device Reboot ====
 
It is strongly recommended to do a reboot.
 
It is strongly recommended to do a reboot.
 
{{NotePre
 
{{NotePre
Line 107: Line 110:
  
  
=== 4. Check the Connection ===
+
==== 4. Check the Connection ====
 
After system reboot check if GPRS connection works.   
 
After system reboot check if GPRS connection works.   
 
{{NotePre
 
{{NotePre
Line 135: Line 138:
  
  
'''Error posibilities'''  
+
'''Error posibilities:'''  
  
 
[[PIN_Check|SIM card PIN confifuration.]]
 
[[PIN_Check|SIM card PIN confifuration.]]
Line 146: Line 149:
  
 
SIM card contains a credit and mobile data are enable.
 
SIM card contains a credit and mobile data are enable.
 +
 +
 +
 +
 +
=== APN Configuration ===
 +
An Access Point Name (APN) is the name of a gateway between a GSM, GPRS, 3G or 4G mobile network and another computer network, frequently the public Internet.
 +
In the Czech Republic, the most commonly used name for the APN point is the '''"internet"'''. The "internet" is a default APN point name, if your operator has the same APN name, use the default configuration. It can be different in other countries. Below you can find the easy way how to change name of APN point. 
 +
 +
 +
==== Edit the Configuration File ====
 +
Open the file '''/etc/ppp/peers/gprs-chat''' by the default text editor '''Vi'''.
 +
 +
{{NotePre
 +
|text=root@buildroot:~# vi /etc/ppp/peers/gprs-chat
 +
}}
 +
 +
File '''gprs-chat''' template. Important is the row 13 begins 'OK AT+CGDCONT=...', where the "YOUR_APN_NAME" is a name your APN (including quotes).
 +
 +
<syntaxhighlight lang="shell" line="1">
 +
TIMEOUT 35
 +
ECHO ON
 +
ABORT '\nBUSY\r'
 +
ABORT '\nERROR\r'
 +
ABORT '\nNO  ANSWER\r'
 +
ABORT '\nNO  CARRIER\r'
 +
ABORT '\nNO  DIALTONE\r'
 +
ABORT '\nRINGING\r\n\r\nRINGING\r'
 +
'' \rAT
 +
OK-+++\c-OK  ATH0
 +
OK \rATZ
 +
OK 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'
 +
OK AT+CGDCONT=3,"IP","YOUR_APN_NAME","0.0.0.0",0,0
 +
OK ATD*99***3#
 +
CONNECT ''
 +
</syntaxhighlight> 
 +
 +
{{Tip|TipText= <br/>
 +
Text editing - Hit the '''i''' (insert mode).<br/>
 +
Save and Exit - Write charakter ''':wq''' (write and quit). The cursor moves to bottom of screen whenever a colon (:) is typed. This type of command is completed by hitting the '''Enter''' key. }}
 +
 +
 +
==== Device Reboot ====
 +
It is strongly recommended to do a reboot.
 +
{{NotePre
 +
|text=root@buildroot:~# reboot
 +
}}
 +
 +
 +
 +
 +
=== Monitoring of Active Data Connection ===
 +
The PPP connection is established only once until the GSM connection fails. Such outages in the mobile network actually occur, and as a result the PPP connection can break up. To enable automatic connection after the break up occurred, you need to upload the appropriate scripts to the device.
 +
 +
 +
==== Create and Save Script ====
 +
Save the script to the directory '''/home/gsm_wdg.sh'''.
 +
 +
<syntaxhighlight lang="shell" line="1">
 +
 +
#!/bin/bash
 +
 +
LOGFILE=/var/log/gsm_wdg.log
 +
NOW=$(date +"%Y%m%d_%H%M%S")
 +
PPP_CONECT=$(ifconfig | grep ppp0 | wc -l)
 +
 +
lsusb | grep -q 1bc7:0021
 +
if [[ $? == 0 ]]; then
 +
echo $NOW :: GSM ok >> $LOGFILE
 +
if [[ $PPP_CONECT == "1" ]]; then
 +
echo $NOW :: "PPP is OK" >> $LOGFILE
 +
exit 0
 +
else
 +
/etc/init.d/S41gprs start
 +
echo $NOW :: "PPP was repaired" >> $LOGFILE
 +
exit 0
 +
fi
 +
fi
 +
 +
echo $NOW :: GSM err, try to fix >> $LOGFILE
 +
 +
/etc/init.d/S41gprs stop
 +
/etc/init.d/S50smsd stop
 +
 +
/etc/init.d/S38gsm restart
 +
 +
NOW=$(date +"%Y%m%d_%H%M%S")
 +
echo $NOW :: GSM HW reset >> $LOGFILE
 +
 +
sleep 10
 +
 +
NOW=$(date +"%Y%m%d_%H%M%S")
 +
 +
lsusb | grep -q 1bc7:0021
 +
if [[ $? == 0 ]]; then
 +
echo $NOW :: GSM ok, try to restart services >> $LOGFILE
 +
 +
/etc/init.d/S41gprs restart
 +
/etc/init.d/S50smsd restart
 +
NOW=$(date +"%Y%m%d_%H%M%S")
 +
echo $NOW :: GSM SW reset >> $LOGFILE
 +
 +
exit 0
 +
fi
 +
 +
echo $NOW :: GSM err, quit >> $LOGFILE
 +
</syntaxhighlight>
 +
 +
This script checks the internal GSM module connection activity and PPP connection activity. In the case of any error, it will try to fix it. By the run this script starts the control a once and then the script ends. Therefore, it is necessary to run it automatically, for example by CRON.
 +
 +
 +
==== Automatic start - CRON ====
 +
To the end of file '''/etc/crontabs/root''' add the line:
 +
'''*/5 * * * * /home/gsm_wdg.sh'''
 +
 +
'''Meaning:'''CRON application every 5 minutes automatically run the script '''/home/gsm_wdg.sh'''.   
 +
 +
After CRON configuration update restart the CRON script.
 +
{{NotePre
 +
|text=root@buildroot:~# /etc/init.d/S80crond restart
 +
}}

Revision as of 10:55, 12 June 2019

This page is beign temporarily revised with the newest updates.

How to Set Up GPRS Data on IPLOG-GAMA G2/G3

IPLOG-GAMA G2

The property GPRS data is disabled from the default configuration. However, the system has everything what you need to successfully establish a PPP connection. This allows the IPLOG-GAMA G2 unit access to the mobile Internet.


GPRS Data Enable

1. Edit the Configuration File

Open the file /etc/init.d/S41gprs by default text editor Vi.

root@iplog:~# vi /etc/init.d/S41gprs


The file contains two commented lines 45 and 52 (#pon and #poff), delete the comment charakter # before.

The resulting file should look like this:
#!/bin/sh
#
# Starts the GPRS
#

NAME=gprs
CONN=vodafone
PRODUCT=`metel-eeprom -c read product`
PCB_ASS=`metel-eeprom -c read assembly-pcb`

PRODUCT=${PRODUCT##* }
PCB_ASS=${PCB_ASS##* }

join()
{
 # $1 - file
 # $2 - wait for $2 seconds

   for i in $(seq 1 $2)
   do
        if [ -e $1 ]
        then
                # Telit found
                return 0
        else
                # Wait: 1s
                sleep 1
        fi
   done

   return 1
}

start()
{
        printf "Starting $NAME: "
        # For IPLOG_GAMA_G2_10052018 and newer wait for supply power ON and Teli
        if [ $PRODUCT == 0x494702 ]; then
          if [ ${PCB_ASS%%_*} != 27042017 ] && [ ${PCB_ASS%%_*} != 18092017 ]; t
            join "/dev/ttyACM0" 15
            # wait 5s for catch GSM signal
            sleep 5
          fi
        fi
        pon gprs
        [ $? = 0 ] && echo "OK" || echo "FAIL"
}

stop()
{
        printf "Stopping $NAME: "
        poff
        [ $? = 0 ] && echo "OK" || echo "FAIL"
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart|reload)
                stop
                start
                ;;
        *)
                echo "Usage: $0 {start|stop|restart}"
                exit 1
esac

exit $?

#end-of-file

Tip:
Text editing - Hit the i (insert mode).
Save and Exit - Write charakter :wq (write and quit). The cursor moves to bottom of screen whenever a colon (:) is typed. This type of command is completed by hitting the Enter key.



3. Device Reboot

It is strongly recommended to do a reboot.

root@buildroot:~# reboot


4. Check the Connection

After system reboot check if GPRS connection works.

root@buildroot:~# ifconfig ppp0


If the connection was established the output will looks like:

ppp0      Link encap:Point-to-Point Protocol
          inet addr:100.91.38.191  P-t-P:100.91.38.191  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:68 (68.0 B)  TX bytes:120 (120.0 B)


If connection does not work:

ifconfig: ppp0: error fetching interface information: Device not found


Error posibilities:

SIM card PIN confifuration.

GSM LED on the front panel flash, shines = it is not registered to GSM network.

Antenna is connected and 2G/3G signal is available on site.

The APN configuration corresponds to the local operator.

SIM card contains a credit and mobile data are enable.



APN Configuration

An Access Point Name (APN) is the name of a gateway between a GSM, GPRS, 3G or 4G mobile network and another computer network, frequently the public Internet. In the Czech Republic, the most commonly used name for the APN point is the "internet". The "internet" is a default APN point name, if your operator has the same APN name, use the default configuration. It can be different in other countries. Below you can find the easy way how to change name of APN point.


Edit the Configuration File

Open the file /etc/ppp/peers/gprs-chat by the default text editor Vi.

root@buildroot:~# vi /etc/ppp/peers/gprs-chat

File gprs-chat template. Important is the row 13 begins 'OK AT+CGDCONT=...', where the "YOUR_APN_NAME" is a name your APN (including quotes).

TIMEOUT 35
ECHO ON
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO  ANSWER\r'
ABORT '\nNO  CARRIER\r'
ABORT '\nNO  DIALTONE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
'' \rAT
OK-+++\c-OK   ATH0
OK \rATZ
OK 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'
OK AT+CGDCONT=3,"IP","YOUR_APN_NAME","0.0.0.0",0,0
OK ATD*99***3#
CONNECT ''

Tip:
Text editing - Hit the i (insert mode).
Save and Exit - Write charakter :wq (write and quit). The cursor moves to bottom of screen whenever a colon (:) is typed. This type of command is completed by hitting the Enter key.



Device Reboot

It is strongly recommended to do a reboot.

root@buildroot:~# reboot



Monitoring of Active Data Connection

The PPP connection is established only once until the GSM connection fails. Such outages in the mobile network actually occur, and as a result the PPP connection can break up. To enable automatic connection after the break up occurred, you need to upload the appropriate scripts to the device.


Create and Save Script

Save the script to the directory /home/gsm_wdg.sh.

#!/bin/bash

LOGFILE=/var/log/gsm_wdg.log
NOW=$(date +"%Y%m%d_%H%M%S")
PPP_CONECT=$(ifconfig | grep ppp0 | wc -l)

lsusb | grep -q 1bc7:0021
if [[ $? == 0 ]]; then
	echo $NOW :: GSM ok >> $LOGFILE
	if [[ $PPP_CONECT == "1" ]]; then
		echo $NOW :: "PPP is OK" >> $LOGFILE
		exit 0
	else
		/etc/init.d/S41gprs start
		echo $NOW :: "PPP was repaired" >> $LOGFILE
		exit 0
	fi
fi

echo $NOW :: GSM err, try to fix >> $LOGFILE

/etc/init.d/S41gprs stop
/etc/init.d/S50smsd stop

/etc/init.d/S38gsm restart

NOW=$(date +"%Y%m%d_%H%M%S")
echo $NOW :: GSM HW reset >> $LOGFILE

sleep 10

NOW=$(date +"%Y%m%d_%H%M%S")

lsusb | grep -q 1bc7:0021
if [[ $? == 0 ]]; then
	echo $NOW :: GSM ok, try to restart services >> $LOGFILE

	/etc/init.d/S41gprs restart
	/etc/init.d/S50smsd restart
	NOW=$(date +"%Y%m%d_%H%M%S")
	echo $NOW :: GSM SW reset >> $LOGFILE

	exit 0
fi

echo $NOW :: GSM err, quit >> $LOGFILE

This script checks the internal GSM module connection activity and PPP connection activity. In the case of any error, it will try to fix it. By the run this script starts the control a once and then the script ends. Therefore, it is necessary to run it automatically, for example by CRON.


Automatic start - CRON

To the end of file /etc/crontabs/root add the line: */5 * * * * /home/gsm_wdg.sh

Meaning:CRON application every 5 minutes automatically run the script /home/gsm_wdg.sh.

After CRON configuration update restart the CRON script.

root@buildroot:~# /etc/init.d/S80crond restart