Sixfab offers Shields for Raspberry Pi which provides cellular Internet connection anywhere with the availability of mobile network coverage. These shields are:

  1. Raspberry Pi GSM/GPRS Shield

  2. Raspberry Pi 3G-4G/LTE Base Shield V2

  3. Raspberry Pi Cellular IoT Application Shield

Each of these shield can be connected to Internet via PPP(Point to Point Protocol). For this tutorial we have written an script to install and perform required steps.

Without further ado let us jump into the installation process:

  1. Get the script by the following command


  2. Now change the permission of the downloaded script.

    chmod +x

  3. Now install the script

    sudo ./

    It will ask several questions, just answer them accordingly to complete the installation process. The questions are:

  • Please choose your Sixfab Shield

    You will be offered to choose among the mentioned three shields. Then it will fetch required scripts for you.

  • Do you have updated kernel

    It asks if your kernel is up-to-date. If no[n] it updates the kernel else it skips the update. Then it installs ppp. 

  • What is your carrier APN?

    Here, it asks for your carrier’s APN. For me it is hologram.

  • Enter your PORT name

    In this step you will enter your PORT. For 3G, 4G/LTE Base Shield it will be ttyUSB3.

  • Do you want to activate auto connect/reconnect service at R.Pi boot up?

    This option allows you to connect to Internet via your shield automatically when your Raspberry Pi Starts. If you want to connect to Internet automatically type Y else n.If you have selected n then you will need to run sudo pon to connect to internet and sudo poff to stop it. 


Enjoy your Internet connection.

18 thoughts on “PPP installer for Sixfab Shield”

  1. Works great as well as all the sensors. However, I can’t get figure out how to access the GPS status, longitude, latitude, etc. Will there be documentation and/or samples for GPS as well? With the PPP taking the serial/UART, will I still be able to access the eGPS data?

  2. this guideline is great and I did work my shield, but I have realize that when I restart raspberry pi, shield try to connect to GSM, since it was configured on that way in file I was wondering if you could tell me where is stored file with AT commands to configure LTE CAT-M instead of GSM and also how to changet APN.

    Thanks for help

    1. Hi Oscar,
      Please install our Raspberry Pi library for the shield. Github source
      There, you may use setMode() to get LTE Cat M1 mode, NB-IoT mode or GSM mode. Check here for more details.
      For changing APN setting remove “noauth” line from /etc/ppp/peers/provider and add following lines
      user “YOURUSERNAME”
      password “YOURPASS”

  3. Hello Saeed,
    I am using the Sixfab RPi CellularIoT App Shield and trying to connect to internet using a vodafone ireland normal sim. I am using this in conjunction with the Raspberry pi 3 running ubuntu mate.
    Could you please help what am I missing as i am not getting a remote ip ?
    I used the PPP installer

    [email protected]:~$ sudo pon
    pppd options in effect:
    debug # (from /etc/ppp/peers/provider)
    updetach # (from /etc/ppp/peers/provider)
    dump # (from /etc/ppp/peers/provider)
    noauth # (from /etc/ppp/peers/provider)
    remotename 3gppp # (from /etc/ppp/peers/provider)
    /dev/ttyS0 # (from /etc/ppp/peers/provider)
    115200 # (from /etc/ppp/peers/provider)
    lock # (from /etc/ppp/peers/provider)
    connect chat -s -v -f /etc/chatscripts/chat-connect -T # (from /etc/ppp/peers/provider)
    disconnect chat -s -v -f /etc/chatscripts/chat-disconnect # (from /etc/ppp/peers/provider)
    nocrtscts # (from /etc/ppp/peers/provider)
    modem # (from /etc/ppp/peers/provider)
    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/provider)
    novj # (from /etc/ppp/peers/provider)
    novjccomp # (from /etc/ppp/peers/provider)
    ipcp-accept-local # (from /etc/ppp/peers/provider)
    ipcp-accept-remote # (from /etc/ppp/peers/provider)
    ipparam 3gppp # (from /etc/ppp/peers/provider)
    noipdefault # (from /etc/ppp/peers/provider)
    ipcp-max-failure 30 # (from /etc/ppp/peers/provider)
    defaultroute # (from /etc/ppp/peers/provider)
    usepeerdns # (from /etc/ppp/peers/provider)
    noccp # (from /etc/ppp/peers/provider)
    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)
    — got it

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    Revision: BG96MAR02A07M1G^M
    SubEdition: V08^M
    +CSQ: 15,0^M
    +COPS: 1,0,”vodafone IE vodafone IE”,0^M
    +CGREG: 0,1^M
    — got it

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

    send (AT+QCFG=”nwscanseq”,01,1^M)
    expect (OK)
    — got it

    send (AT+QCFG=”nwscanmode”,1,1^M)
    expect (OK)
    — got it

    send (AT+QCFG=”iotopmode”,2,1^M)
    expect (OK)
    — got it

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

    Script chat -s -v -f /etc/chatscripts/chat-connect -T finished (pid 1728), status = 0x0
    Serial connection established.
    using channel 2
    Using interface ppp0
    Connect: ppp0 /dev/ttyS0
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x12 ]
    No auth is possible
    sent [LCP ConfRej id=0x12 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x13 ]
    sent [LCP ConfAck id=0x13 ]
    sent [LCP EchoReq id=0x0 magic=0xa1822443]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x14 magic=0xf726c96e]
    rcvd [LCP EchoRep id=0x0 magic=0xf726c96e a1 82 24 43]
    rcvd [IPCP ConfReq id=0xc]
    sent [IPCP ConfNak id=0xc ]
    rcvd [IPCP ConfNak id=0x1 ]
    sent [IPCP ConfReq id=0x2 ]
    rcvd [IPCP ConfReq id=0xd]
    sent [IPCP ConfAck id=0xd]
    rcvd [IPCP ConfAck id=0x2 ]
    Could not determine remote IP address: defaulting to
    not replacing default route to wlan0 []
    local IP address
    remote IP address
    primary DNS address
    secondary DNS address
    [email protected]:~$

  4. Hey there,

    So I am having some issues installing this on Ubuntu Mate 16.04. I run the install script and everything installs correctly with no errors. However, when I reboot nothing happens. The stat light is dimly lit and there is no activity on the blue light. (I have to press the pwr button in order for it to “power on”) . Once powered on it wont connect. I run sudo pon and it just fails everytime. “status = 0x3 Connect script failed” This is a fresh install of Ubuntu. Any ideas? Thanks!

  5. Hey,

    I tried this but I haven’t manage to get it to work. I use Raspbian on my raspberry pi, does it has anything to say?

    I use the quectel EC25-E with the shield v2. I tried my SIM-card on my phone and find the correct APN here. My SIM-card has turned off the PIN-code. Does I need to do any changes because of this?

    Kind regards

    1. Hello,

      What is the error are you getting? Please share the log.
      Which antennas are you using? Is your Power supply sufficient?
      Does your sim ask for sim pin code? If yes please remove it.

      1. After i pressed “Y” on the question of auto-connection the raspberry re-booted and I couldn’t see anything special.
        I don’t know what changed but the next day it worked after i powered on the raspberry again. I later tried to take out and put in the sim-card again to see what happened. At first it did not work again, tried to reboot and still no change. When i turned the raspberry off, unplugged it from the power supply and then started t again. After this it worked again.

  6. Hi

    I use “Raspberry Pi 3G-4G/LTE Base Shield V2” with EC25 Mini PCle 4G/LTE Module.

    So,If I conecct LTE network necessary following items

    1.APN Name
    2.User Name
    4.Certification Type(PAP,CHAP)

    Please tell me how to setting above.

    1. Hello,

      1.APN Name: While installing the script you are asked for apn.
      2.User Name and
      3.Password: Remove noauth from /etc/ppp/peers/provider and add
      user “YOUR USERNAME”
      password “YOURPASSWORD”

      4.Certification Type(PAP,CHAP): Check section 5.8.4 of PPP Connection

      1. Hi Saeed

        Thanks for your support.

        OK,about “User Name and Password”.
        So,How to setting “APN Name” ?
        My “APN Name” is “”
        What & Where I must write this characters.


Leave a Reply

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