Jpeg

Previously we have used GPRS shield to establish internet connection. Now we will use 3G, 4G/LTE shield for PPP internet connection. In order to make a 3G and 4G connection we will need to use Quectel UC20 and Quectel EC25 modules respectively.

As this tutorial is for 4G PPP Internet connection, we will use Quectel EC25, which is a series of LTE category 4 module optimized specially for M2M, IoT and multimedia applications. Due to rich set of protocols, industry-standard interfaces and abundant functionalities extend the applicability of the module ti a wide range of M2M and IoT applications such as industrial router, industrial PDA, rugged tablet PC, video surveillance and digital signage.

Features

  • Backward compatible with existing EDGE and GSM/GPRS networks.
  • Data rates: 150Mbps downlink and 50Mbps uplink
  • Simple migration from 3G to 4G
  • Operates with power from Raspberry Pi. Externally, 9V power can be supplied.
  • Operation Temperature -40°C ~ +85°C

Lets have a look on the pin assignment of the shield. GPIO23 disables wireless communications and GPIO24 is used for force hardware reset.

pinmap3g

Sixfab 3G,4G/LTE shield pin assignment

We will need to follow the following steps:

# The tutorial is covered using Raspberry Pi 3

1. Connect EC25 module to the shield.

Jpeg

Sixfab 3G,4G/LTE shield and EC25 module

Jpeg

EC25 module connected to shield

2. Insert SIM into the shield.

Jpeg

Inserting Sim to Shield

3. Attach the shield to the raspberry pi. Connect USB to Raspberry Pi

Jpeg

Shield Attached to Raspberry Pi 3

Jpeg

USB connected

4. Connect Raspberry Pi to Internet via WiFi or Ethernet.

Open the terminal(if you are using desktop or laptop you may connect raspberry pi with SSH. Also enable ssh from the Menu > Preferences > Raspberry Pi Configuration as shown in the figure below)

6

Raspbian Interface

7

Raspberry Pi Configuration

5. Once Raspberry Pi is connected, update Raspberry Pi by following command

piraspberrypi-_017

Update command in Terminal

6. Quectel Module support is to be added to the kernel, since Raspbian Jessie Kernel doesn’t support Quectel EC25/ UC20 modules.

6a. Install rpi-update

9

Installing rpi-update

6b. Update Raspberry Pi Kernel using following command

10

Running rpi-update

6c. Once updated Reboot the device

11

rebooting device

6d. Connect USB Cable to sheild from Raspberry Pi.

Use

and check if ttyUSB3 is available.

12

ls /dev

13

Looking for ttyUSB3

7. Now ppp-creator.sh script is to be downloaded.

14

Downloading ppp-creator.sh

*HOLOGRAM is the APN. As for example, APN for Boost Mobile is Boost_Mobile, for Verizon is  internet, for Virgin Mobile is Sprint etc. ttyUSB3 is the connection.

If you are using UART of Raspberry Pi 3 then use ttyS0 instead of ttyUSB3 or for other versions of Raspberry Pi use ttyAMA0.

15

change mode command

8. Disconnect Raspberry Pi from WiFi or Ethernet.

Type

or

Here & sign allows to run the command in background.

16

Connecting to Internet

The SIGNAL LED indicates the connectivity, HIGH indicates Network is connected.
(Open a browser and check a website)

17

Signal LED

9. Just to check the status of shield and ip, type

18

19

Checking IP and status

35 thoughts on “[Updated] Tutorial 3 | Make a PPP internet connection with 3G, 4G/LTE Shields on Raspberry Pi”

  1. Hello i followed you step by step, i use orange sim, when i arrive to sudo pppd call gprs give me that : connection script error.

    But i fixed the problem in this way but i need to know how can fixed normally:
    I connect the LTE shield with the QNavigator software, and then i use AT+CPIN=”0000″ and after that i reconnect the USB cable to the LTE shield (The LTE shield already connect to the PI and UART SW is ON).
    Then the sudo pppd call gprs work !!!

    I think the problem is the CPIN in the script gprs but i dont know how can i fix .
    Or if you can tell me what is the problem exactly.
    A guys from the support team from sixfab was already did the configuration for it and it was working properly but not now i faced this problem again(connection script failed when i type sudo pppd call gprs)

    Thank you very much

    1. Please modify /etc/chatscripts/quectel-chat-connect file, add bold line

      ABORT \”BUSY\”
      ABORT \”NO CARRIER\”
      ABORT \”NO DIALTONE\”
      ABORT \”ERROR\”
      ABORT \”NO ANSWER\”
      TIMEOUT 30
      \”\” AT
      OK ATE0
      OK ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2
      OK AT+CPIN=0000
      # Insert the APN provided by your network operator, default apn is $1
      OK AT+CGDCONT=1,\”IP\”,\”\\T\”,,0,0
      OK ATD*99#
      CONNECT

  2. Hi this is what happens when I call sudo pppd call gprs
    pppd options in effect:
    debug # (from /etc/ppp/peers/gprs)
    nodetach # (from /etc/ppp/peers/gprs)
    dump # (from /etc/ppp/peers/gprs)
    noauth # (from /etc/ppp/peers/gprs)
    remotename 3gppp # (from /etc/ppp/peers/gprs)
    /dev/ttyUSB3 # (from /etc/ppp/peers/gprs)
    115200 # (from /etc/ppp/peers/gprs)
    lock # (from /etc/ppp/peers/gprs)
    connect chat -s -v -f /etc/chatscripts/quectel-chat-connect -T HOLOGRAM # (from /etc/ppp/peers/gprs)
    disconnect chat -s -v -f /etc/chatscripts/quectel-chat-disconnect # (from /etc/ppp/peers/gprs)
    nocrtscts # (from /etc/ppp/peers/gprs)
    modem # (from /etc/ppp/peers/gprs)
    asyncmap 0 # (from /etc/ppp/options)
    lcp-echo-failure 4 # (from /etc/ppp/options)
    lcp-echo-interval 30 # (from /etc/ppp/options)
    hide-password # (from /etc/ppp/peers/gprs)
    novj # (from /etc/ppp/peers/gprs)
    novjccomp # (from /etc/ppp/peers/gprs)
    ipcp-accept-local # (from /etc/ppp/peers/gprs)
    ipcp-accept-remote # (from /etc/ppp/peers/gprs)
    ipparam 3gppp # (from /etc/ppp/peers/gprs)
    noipdefault # (from /etc/ppp/peers/gprs)
    ipcp-max-failure 30 # (from /etc/ppp/peers/gprs)
    defaultroute # (from /etc/ppp/peers/gprs)
    usepeerdns # (from /etc/ppp/peers/gprs)
    noccp # (from /etc/ppp/peers/gprs)
    noipx # (from /etc/ppp/options)
    abort on (BUSY)
    abort on (NO CARRIER)
    abort on (NO DIALTONE)
    abort on (ERROR)
    abort on (NO ANSWER)
    timeout set to 30 seconds
    send (AT^M)
    expect (OK)
    ^M
    OK
    — got it

    send (ATE0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25EFAR02A04M4G^M
    ^M
    SubEdition: V03^M
    ^M
    +CSQ: 99,99^M
    ^M
    +CPIN: READY^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,2^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”HOLOGRAM”,,0,0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATD*99#^M)
    expect (CONNECT)
    ^M
    ^M
    CONNECT
    — got it

    Script chat -s -v -f /etc/chatscripts/quectel-chat-connect -T HOLOGRAM finished (pid 1686), status = 0x0
    Serial connection established.
    using channel 6
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0xf ]
    No auth is possible
    sent [LCP ConfRej id=0xf ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x10 ]
    sent [LCP ConfAck id=0x10 ]
    sent [LCP EchoReq id=0x0 magic=0xb3f50719]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x11 magic=0xd122d3fb]
    rcvd [LCP EchoRep id=0x0 magic=0xd122d3fb b3 f5 07 19]
    Modem hangup
    Connection terminated.
    Any idea what I’m doing wrong?

  3. Hi, i followed this tutorial step by step as well but managed to connect successfully only 3 out of like 30 times. I have read Quectel’s EC25 datasheet and was wondering if this have something to do with USB driver issues ? (datasheet mention something about editing the kernel file)

    I hope you could get back to me as soon as possible.

  4. Hi, I am having a similar issue trying to get connected. I am using a working T-Mobile sim that I removed from a tablet. I am using EC25-A and for the APN passed into the ppp-creator.sh script I used fast.tmobile.com. When I try to connect I get the following output.

    [email protected]:~# pppd call gprs
    pppd options in effect:
    debug # (from /etc/ppp/peers/gprs)
    nodetach # (from /etc/ppp/peers/gprs)
    dump # (from /etc/ppp/peers/gprs)
    noauth # (from /etc/ppp/peers/gprs)
    remotename 3gppp # (from /etc/ppp/peers/gprs)
    /dev/ttyUSB3 # (from /etc/ppp/peers/gprs)
    115200 # (from /etc/ppp/peers/gprs)
    lock # (from /etc/ppp/peers/gprs)
    connect chat -s -v -f /etc/chatscripts/quectel-chat-connect -T fast.tmobile.com # (from /etc/ppp/peers/gprs)
    disconnect chat -s -v -f /etc/chatscripts/quectel-chat-disconnect # (from /etc/ppp/peers/gprs)
    nocrtscts # (from /etc/ppp/peers/gprs)
    modem # (from /etc/ppp/peers/gprs)
    asyncmap 0 # (from /etc/ppp/options)
    lcp-echo-failure 4 # (from /etc/ppp/options)
    lcp-echo-interval 30 # (from /etc/ppp/options)
    hide-password # (from /etc/ppp/peers/gprs)
    novj # (from /etc/ppp/peers/gprs)
    novjccomp # (from /etc/ppp/peers/gprs)
    ipcp-accept-local # (from /etc/ppp/peers/gprs)
    ipcp-accept-remote # (from /etc/ppp/peers/gprs)
    ipparam 3gppp # (from /etc/ppp/peers/gprs)
    noipdefault # (from /etc/ppp/peers/gprs)
    ipcp-max-failure 30 # (from /etc/ppp/peers/gprs)
    defaultroute # (from /etc/ppp/peers/gprs)
    usepeerdns # (from /etc/ppp/peers/gprs)
    noccp # (from /etc/ppp/peers/gprs)
    noipx # (from /etc/ppp/options)
    abort on (BUSY)
    abort on (NO CARRIER)
    abort on (NO DIALTONE)
    abort on (ERROR)
    abort on (NO ANSWER)
    timeout set to 30 seconds
    send (AT^M)
    expect (OK)
    ^M
    OK
    — got it

    send (ATE0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25AFAR02A06M4G^M
    ^M
    SubEdition: V02^M
    ^M
    +CSQ: 99,99^M
    ^M
    +CPIN: READY^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,0^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”fast.tmobile.com”,,0,0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATD*99#^M)
    expect (CONNECT)
    ^M
    ^M
    CONNECT
    — got it

    Script chat -s -v -f /etc/chatscripts/quectel-chat-connect -T fast.tmobile.com finished (pid 15671), status = 0x0
    Serial connection established.
    using channel 6
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0xf ]
    No auth is possible
    sent [LCP ConfRej id=0xf ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x10 ]
    sent [LCP ConfAck id=0x10 ]
    sent [LCP EchoReq id=0x0 magic=0xd35bf255]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x11 magic=0xd18a38b4]
    rcvd [LCP EchoRep id=0x0 magic=0xd18a38b4 d3 5b f2 55]
    Modem hangup
    Connection terminated.

      1. I tried with and without several times without any luck (i guess the log provided was from one of the times I tried without) but I tried again the next day and was able to get connected.

  5. A tip for people wanting to get pppd to start on boot…

    1. Edit /etc/ppp/peers/gprs and comment out “nodetach”.
    2. Create a /etc/network/interfaces.d/tunnel with contents…
    auto tunnel
    iface tunnel inet ppp
    provider gprs
    3. Reboot and ppp0 should be there if connection was successful. Logs will go to /var/log/messages

  6. Hi all,

    I got the exact same issue as Scott has, I’m using my T-mobile SIM card on EC25-A having the errors!! please HELP!!!

  7. Can anyone guide what could be the issue !! Many thanks

    [email protected]:/home/pi# sudo pppd call gprs
    pppd options in effect:
    debug # (from /etc/ppp/peers/gprs)
    nodetach # (from /etc/ppp/peers/gprs)
    dump # (from /etc/ppp/peers/gprs)
    noauth # (from /etc/ppp/peers/gprs)
    remotename 3gppp # (from /etc/ppp/peers/gprs)
    /dev/ttyUSB3 # (from /etc/ppp/peers/gprs)
    115200 # (from /etc/ppp/peers/gprs)
    lock # (from /etc/ppp/peers/gprs)
    connect chat -s -v -f /etc/chatscripts/quectel-chat-connect -T internet.ae # (from /etc/ppp/peers/gprs)
    disconnect chat -s -v -f /etc/chatscripts/quectel-chat-disconnect # (from /etc/ppp/peers/gprs)
    nocrtscts # (from /etc/ppp/peers/gprs)
    modem # (from /etc/ppp/peers/gprs)
    asyncmap 0 # (from /etc/ppp/options)
    lcp-echo-failure 4 # (from /etc/ppp/options)
    lcp-echo-interval 30 # (from /etc/ppp/options)
    hide-password # (from /etc/ppp/peers/gprs)
    novj # (from /etc/ppp/peers/gprs)
    novjccomp # (from /etc/ppp/peers/gprs)
    ipcp-accept-local # (from /etc/ppp/peers/gprs)
    ipcp-accept-remote # (from /etc/ppp/peers/gprs)
    ipparam 3gppp # (from /etc/ppp/peers/gprs)
    noipdefault # (from /etc/ppp/peers/gprs)
    ipcp-max-failure 30 # (from /etc/ppp/peers/gprs)
    defaultroute # (from /etc/ppp/peers/gprs)
    usepeerdns # (from /etc/ppp/peers/gprs)
    noccp # (from /etc/ppp/peers/gprs)
    noipx # (from /etc/ppp/options)
    abort on (BUSY)
    abort on (NO CARRIER)
    abort on (NO DIALTONE)
    abort on (ERROR)
    abort on (NO ANSWER)
    timeout set to 30 seconds
    send (AT^M)
    expect (OK)
    ^M
    OK
    — got it

    send (ATE0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25AUFAR02A02M4G^M
    ^M
    SubEdition: V09^M
    ^M
    +CSQ: 19,99^M
    ^M
    +CPIN: READY^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,2^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”internet.ae”,,0,0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATD*99#^M)
    expect (CONNECT)
    ^M
    ^M
    CONNECT
    — got it

    Script chat -s -v -f /etc/chatscripts/quectel-chat-connect -T internet.ae finished (pid 2142), status = 0x0
    Serial connection established.
    using channel 6
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0xf ]
    No auth is possible
    sent [LCP ConfRej id=0xf ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x10 ]
    sent [LCP ConfAck id=0x10 ]
    sent [LCP EchoReq id=0x0 magic=0x7c7fd76a]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x11 magic=0xd131bd5b]
    rcvd [LCP EchoRep id=0x0 magic=0xd131bd5b 7c 7f d7 6a]
    Modem hangup
    Connection terminated.
    [email protected]:/home/pi#

  8. Completely new to Raspberry Pi and Sixfab, so I’ll apologise for any stupid questions.

    when I execute: sudo pppd call gprs
    my connection is terminated
    I’m using my AT&T sim card from my iPad and using APN name ATT

    Thanks in advance,

    [email protected]:~ $ sudo pppd call gprs
    pppd options in effect:
    debug # (from /etc/ppp/peers/gprs)
    nodetach # (from /etc/ppp/peers/gprs)
    dump # (from /etc/ppp/peers/gprs)
    noauth # (from /etc/ppp/peers/gprs)
    remotename 3gppp # (from /etc/ppp/peers/gprs)
    /dev/ttyUSB3 # (from /etc/ppp/peers/gprs)
    115200 # (from /etc/ppp/peers/gprs)
    lock # (from /etc/ppp/peers/gprs)
    connect chat -s -v -f /etc/chatscripts/quectel-chat-connect -T ATT # (from /etc/ppp/peers/gprs)
    disconnect chat -s -v -f /etc/chatscripts/quectel-chat-disconnect # (from /etc/ppp/peers/gprs)
    nocrtscts # (from /etc/ppp/peers/gprs)
    modem # (from /etc/ppp/peers/gprs)
    asyncmap 0 # (from /etc/ppp/options)
    lcp-echo-failure 4 # (from /etc/ppp/options)
    lcp-echo-interval 30 # (from /etc/ppp/options)
    hide-password # (from /etc/ppp/peers/gprs)
    novj # (from /etc/ppp/peers/gprs)
    novjccomp # (from /etc/ppp/peers/gprs)
    ipcp-accept-local # (from /etc/ppp/peers/gprs)
    ipcp-accept-remote # (from /etc/ppp/peers/gprs)
    ipparam 3gppp # (from /etc/ppp/peers/gprs)
    noipdefault # (from /etc/ppp/peers/gprs)
    ipcp-max-failure 30 # (from /etc/ppp/peers/gprs)
    defaultroute # (from /etc/ppp/peers/gprs)
    usepeerdns # (from /etc/ppp/peers/gprs)
    noccp # (from /etc/ppp/peers/gprs)
    noipx # (from /etc/ppp/options)
    abort on (BUSY)
    abort on (NO CARRIER)
    abort on (NO DIALTONE)
    abort on (ERROR)
    abort on (NO ANSWER)
    timeout set to 30 seconds
    send (AT^M)
    expect (OK)
    ^M
    OK
    — got it

    send (ATE0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25AFAR02A06M4G^M
    ^M
    SubEdition: V02^M
    ^M
    +CSQ: 12,99^M
    ^M
    +CPIN: READY^M
    ^M
    +COPS: 0,0,”AT&T”,7^M
    ^M
    +CGREG: 0,1^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”ATT”,,0,0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATD*99#^M)
    expect (CONNECT)
    ^M
    ^M
    CONNECT
    — got it

    Script chat -s -v -f /etc/chatscripts/quectel-chat-connect -T ATT finished (pid 7739), status = 0x0
    Serial connection established.
    using channel 11
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x1e ]
    No auth is possible
    sent [LCP ConfRej id=0x1e ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x1f ]
    sent [LCP ConfAck id=0x1f ]
    sent [LCP EchoReq id=0x0 magic=0x173bd578]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x20 magic=0xee6239de]
    rcvd [LCP EchoRep id=0x0 magic=0xee6239de 17 3b d5 78]
    Modem hangup
    Connection terminated.

    1. this problem is caused by the operator, at previous comments Scott says : I tried with and without several times without any luck (i guess the log provided was from one of the times I tried without) but I tried again the next day and was able to get connected.

  9. Hey guys, Has anyone had success with maintaining reliable connection for extended time? I have put in a script on the lxterminal auto start to establish a connection every time the pi is restarted/shutdown as previous mentioned method did not work for me, this works well and every time I get a connection, the issue I am having is if it is left on for over 24hrs the ip address on the sim is updated and the connection drops out and does not reconnect and I have to either use ifdown ppp0 then ifup ppp0 or use pppd call gprs, Is there a way to auto reconnect let’s say if ppp0 drops out or pinging to google is lost etc these device will be located in remote areas and the connection needs to be fully automated, has anyone had any success? The same goes for if the sim runs out of data, it needs to keep attempting to reconnect so once the sim is loaded with data again it connects back online. Thanks

  10. connection work but ppp0 inet xxx.xxx.xxx.xxx show different ip to no-ip
    i get no remote access, port 80 dont work to the pi what i make wrong

  11. any idea why it’s nor working. I change the pin code

    [email protected]:~ $ sudo pppd call gprs
    pppd options in effect:
    debug # (from /etc/ppp/peers/gprs)
    nodetach # (from /etc/ppp/peers/gprs)
    dump # (from /etc/ppp/peers/gprs)
    noauth # (from /etc/ppp/peers/gprs)
    remotename 3gppp # (from /etc/ppp/peers/gprs)
    /dev/ttyUSB3 # (from /etc/ppp/peers/gprs)
    115200 # (from /etc/ppp/peers/gprs)
    lock # (from /etc/ppp/peers/gprs)
    connect chat -s -v -f /etc/chatscripts/quectel-chat-connect -T free # (from /etc/ppp/peers/gprs)
    disconnect chat -s -v -f /etc/chatscripts/quectel-chat-disconnect # (from /etc/ppp/peers/gprs)
    nocrtscts # (from /etc/ppp/peers/gprs)
    modem # (from /etc/ppp/peers/gprs)
    asyncmap 0 # (from /etc/ppp/options)
    lcp-echo-failure 4 # (from /etc/ppp/options)
    lcp-echo-interval 30 # (from /etc/ppp/options)
    hide-password # (from /etc/ppp/peers/gprs)
    novj # (from /etc/ppp/peers/gprs)
    novjccomp # (from /etc/ppp/peers/gprs)
    ipcp-accept-local # (from /etc/ppp/peers/gprs)
    ipcp-accept-remote # (from /etc/ppp/peers/gprs)
    ipparam 3gppp # (from /etc/ppp/peers/gprs)
    noipdefault # (from /etc/ppp/peers/gprs)
    ipcp-max-failure 30 # (from /etc/ppp/peers/gprs)
    defaultroute # (from /etc/ppp/peers/gprs)
    usepeerdns # (from /etc/ppp/peers/gprs)
    noccp # (from /etc/ppp/peers/gprs)
    noipx # (from /etc/ppp/options)
    abort on (BUSY)
    abort on (NO CARRIER)
    abort on (NO DIALTONE)
    abort on (ERROR)
    abort on (NO ANSWER)
    timeout set to 30 seconds
    send (AT^M)
    expect (OK)
    ^M
    OK
    — got it

    send (ATE0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25EFAR02A08M4G^M
    ^M
    SubEdition: V04^M
    ^M
    +CSQ: 14,99^M
    ^M
    +CPIN: READY^M
    ^M
    +COPS: 0,0,”Free Free”,0^M
    ^M
    +CGREG: 0,5^M
    ^M
    OK
    — got it

    send (AT+CPIN=1234^M)
    expect (OK)
    ^M
    ^M
    +CME ERROR
    — failed
    Failed (ERROR)
    Script chat -s -v -f /etc/chatscripts/quectel-chat-connect -T free finished (pid 1015), status = 0x7
    Connect script failed

    1. Hello Lando, you can use with UART but connection speed will be extreme low.
      If you want to use with uart and don’t need high speed internet connection, you can choose GSM/GPRS Shield.

  12. I managed to finish the tutorial when I got the antennas (I see the same when i do ifconfig ppp0 on a terminal), nevertheless, I can’t have any traffic. Any idea why? the sim card works properly when used in the phone.

  13. How can I delay the start of the networking in systemd until /dev/ttyUSB3 is detected? I find that occasionally, it is not up in time when attempting to start ppp at boot, causing the internet to not come up.

  14. I’m getting the following error after typing $ sudo pppd call gprs. Please tell me what’s the problem here. It’s for my project, so it’s kind of urgent. Thank you.

    [email protected]:~ $ sudo pppd call gprs
    pppd options in effect:
    debug # (from /etc/ppp/peers/gprs)
    nodetach # (from /etc/ppp/peers/gprs)
    dump # (from /etc/ppp/peers/gprs)
    noauth # (from /etc/ppp/peers/gprs)
    remotename 3gppp # (from /etc/ppp/peers/gprs)
    /dev/ttyUSB3 # (from /etc/ppp/peers/gprs)
    115200 # (from /etc/ppp/peers/gprs)
    lock # (from /etc/ppp/peers/gprs)
    connect chat -s -v -f /etc/chatscripts/quectel-chat-connect -T airtelgrprs.com # (from /etc/ppp/peers/gprs)
    disconnect chat -s -v -f /etc/chatscripts/quectel-chat-disconnect # (from /etc/ppp/peers/gprs)
    nocrtscts # (from /etc/ppp/peers/gprs)
    modem # (from /etc/ppp/peers/gprs)
    asyncmap 0 # (from /etc/ppp/options)
    lcp-echo-failure 4 # (from /etc/ppp/options)
    lcp-echo-interval 30 # (from /etc/ppp/options)
    hide-password # (from /etc/ppp/peers/gprs)
    novj # (from /etc/ppp/peers/gprs)
    novjccomp # (from /etc/ppp/peers/gprs)
    ipcp-accept-local # (from /etc/ppp/peers/gprs)
    ipcp-accept-remote # (from /etc/ppp/peers/gprs)
    ipparam 3gppp # (from /etc/ppp/peers/gprs)
    noipdefault # (from /etc/ppp/peers/gprs)
    ipcp-max-failure 30 # (from /etc/ppp/peers/gprs)
    defaultroute # (from /etc/ppp/peers/gprs)
    usepeerdns # (from /etc/ppp/peers/gprs)
    noccp # (from /etc/ppp/peers/gprs)
    noipx # (from /etc/ppp/options)
    abort on (BUSY)
    abort on (NO CARRIER)
    abort on (NO DIALTONE)
    abort on (ERROR)
    abort on (NO ANSWER)
    timeout set to 30 seconds
    send (AT^M)
    expect (OK)
    ^M
    OK
    — got it

    send (ATE0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25EFAR02A08M4G^M
    ^M
    SubEdition: V04^M
    ^M
    +CSQ: 17,99^M
    ^M
    +CME ERROR
    — failed
    Failed (ERROR)
    Script chat -s -v -f /etc/chatscripts/quectel-chat-connect -T airtelgrprs.com finished (pid 1386), status = 0x7
    Connect script failed

  15. I get a similar error as Vishal, shield connected to pi via pin and usb cable.

    $ sudo pppd call gprs
    pppd options in effect:
    debug # (from /etc/ppp/peers/gprs)
    nodetach # (from /etc/ppp/peers/gprs)
    dump # (from /etc/ppp/peers/gprs)
    noauth # (from /etc/ppp/peers/gprs)
    remotename 3gppp # (from /etc/ppp/peers/gprs)
    /dev/ttyUSB3 # (from /etc/ppp/peers/gprs)
    115200 # (from /etc/ppp/peers/gprs)
    lock # (from /etc/ppp/peers/gprs)
    connect chat -s -v -f /etc/chatscripts/quectel-chat-connect -T h2g2 # (from /etc/ppp/peers/gprs)
    disconnect chat -s -v -f /etc/chatscripts/quectel-chat-disconnect # (from /etc/ppp/peers/gprs)
    nocrtscts # (from /etc/ppp/peers/gprs)
    modem # (from /etc/ppp/peers/gprs)
    asyncmap 0 # (from /etc/ppp/options)
    lcp-echo-failure 4 # (from /etc/ppp/options)
    lcp-echo-interval 30 # (from /etc/ppp/options)
    hide-password # (from /etc/ppp/peers/gprs)
    novj # (from /etc/ppp/peers/gprs)
    novjccomp # (from /etc/ppp/peers/gprs)
    ipcp-accept-local # (from /etc/ppp/peers/gprs)
    ipcp-accept-remote # (from /etc/ppp/peers/gprs)
    ipparam 3gppp # (from /etc/ppp/peers/gprs)
    noipdefault # (from /etc/ppp/peers/gprs)
    ipcp-max-failure 30 # (from /etc/ppp/peers/gprs)
    defaultroute # (from /etc/ppp/peers/gprs)
    usepeerdns # (from /etc/ppp/peers/gprs)
    noccp # (from /etc/ppp/peers/gprs)
    noipx # (from /etc/ppp/options)
    abort on (BUSY)
    abort on (NO CARRIER)
    abort on (NO DIALTONE)
    abort on (ERROR)
    abort on (NO ANSWER)
    timeout set to 30 seconds
    send (AT^M)
    expect (OK)
    ^M
    OK
    — got it

    send (ATE0^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

    send (ATI;+CSUB;+CSQ;+CPIN?;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25AFAR05A04M4G^M
    ^M
    SubEdition: V06^M
    ^M
    +CSQ: 17,99^M
    ^M
    +CME ERROR
    — failed
    Failed (ERROR)
    Script chat -s -v -f /etc/chatscripts/quectel-chat-connect -T h2g2 finished (pid 926), status = 0x7
    Connect script failed

Leave a Reply

Your email address will not be published. Required fields are marked *