Sixfab offers Shields/HATs for Raspberry Pi which provides cellular ppp 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
  4. Raspberry Pi Cellular IoT HAT
  5. Raspberry Pi Tracker HAT

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

Without further ado let us jump into the installation process:

  1. Get the script by the following command
    wget https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/install.sh
  2. Now change the permission of the downloaded script. chmod +x install.sh
  3. Now install the script sudo ./install.sh 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.ppp install.sh01
    • 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.install.sh02
    • What is your carrier APN?
      Here, it asks for your carrier’s APN. For me it is hologram.install.sh03
    • Enter your PORT name
      In this step you will enter your PORT. For 3G, 4G/LTE Base Shield it will be ttyUSB3.install.sh04
    • Do you want to activate auto-connect/reconnect service at R.Pi boot up?
      This option allows you to connect to the Internet via your shield automatically when your Raspberry Pi Starts. If you want to connect to the Internet automatically type y else N. If you have selected N then you will need to run sudo pon to connect to the internet and sudo poff to stop it. Make sure your module is powered up(Not applicable for Base Shield).intall.sh05

Enjoy your Internet connection.

 

EXTRA

Route: One of the possible errors you may get is the routing error. In this case, run the following commands

sudo route del default

sudo route add default ppp0

Credential: If your carrier asks for username and password;
Remove noauth  from /etc/ppp/peers/provider  and add following lines
user YOUR USERNAME
password YOURPASSWORD"

Selecting port

Shield/HAT PORT
GSM/GPRS Shield ttyS0/ttyUSB0
3G-4G/LTE Base Shield ttyUSB3
Cellular IoT App. Shield ttyS0

If you face any problem please ask your question in the comment section below. Also, mention which shield are you using/HAT.

To understand PPP further you can check PPP documentation.

210 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 install.sh. 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
    oscar

    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 https://github.com/sixfab/Sixfab_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 hs.vodafone.ie # (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)
    ^M
    OK
    — got it

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

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

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

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

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

    send (AT+QCFG=”iotopmode”,2,1^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/chat-connect -T hs.vodafone.ie 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 10.64.64.64
    not replacing default route to wlan0 [172.20.10.1]
    local IP address 10.177.14.221
    remote IP address 10.64.64.64
    primary DNS address 89.19.64.44
    secondary DNS address 89.19.64.172
    [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
    3.Password
    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 “freetel.link”
        What & Where I must write this characters.

        Kengo

  7. Hi Saeed

    Thank you.
    I understand.

    So,Finally, I must set Certification method.
    I understand PAP and CHAP.
    So,I want to know that How to write setting file on Raspberry pi.

    1.How to choose PAP or CHAP
    My provider accept both.
    Where is a setting file for Raspberry pi(stretch) choose certification method.

    2.How to write setting file.
    a./etc/ppp/pap-secrets
    b./etc/ppp/chap-secrets

    userName “aaaaa”
    passWord “bbbbb”

    Best Regard

  8. Hi Saeed

    This is result of “sudo pppd call gprs”

    I think serial connection of LTE network was successed.
    But ppp authentication was failed

    >Script chat -s -v -f /etc/chatscripts/quectel-chat-connect -T freetel.link finished (pid 713), status = 0x0
    >Serial connection established.
    >using channel 3
    >Using interface ppp0
    >Connect: ppp0 /dev/ttyUSB3
    >sent [LCP ConfReq id=0x1 ]
    >rcvd [LCP ConfReq id=0x24 ]
    >No auth is possible

    So Please tell me how to send certification request by pap

    kengo

    $ 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 freetel.link # (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;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25JFAR06A04M4G_DCM^M
    ^M
    SubEdition: V02^M
    ^M
    +CSQ: 12,99^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,2^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”freetel.link”,,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 freetel.link finished (pid 713), status = 0x0
    Serial connection established.
    using channel 3
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x24 ]
    No auth is possible
    sent [LCP ConfRej id=0x24 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x25 ]
    sent [LCP ConfAck id=0x25 ]
    sent [LCP EchoReq id=0x0 magic=0xfd00715d]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x26 magic=0xe4fbef78]
    rcvd [LCP EchoRep id=0x0 magic=0xe4fbef78 fd 00 71 5d]
    Modem hangup
    Connection terminated

  9. Hello there,

    I’m trying to use a Raspberry Pi 3 with the 3G-4G/LTE Base Shield V2 set with the EC25 Mini PCle 4G/LTE Module.

    It worked well on the USB port but I can’t make it work with the serial GPIO for some reasons. I read it could come from the mini serial that is used by default on the GPIO. Any idea of how use it directly ?

    Thank you for your help.
    Best regards.

    1. Hi,

      1. Did you bridge the UART resistor sections available under the shield?
      2. Did you enable Serial port hardware and disable getty service?

      1. Hi LaGirafe,
        did you solve it? I’m using it via USB port but how can I make it work via GPIO pins?
        Thanks

        1. You will need to bridge the UART resistors available under the shield. Do you have done it?
          Enable Serial Port from sudo raspi-config

  10. I’m using “EC25-E 4G/LTE Mini PCIe with Raspberry Pi 3G-4G/LTE Base Shield V2” in Eagleye530s (artik 533 based) with ubuntu Ubuntu 16.04.5 LTS and 4.4.113-0533GS0F-44U-01Q5 kernel, and get:

    Couldn’t open the /dev/ppp device: No such device or address
    modprobe: FATAL: Module ppp_generic not found in directory /lib/modules/4.4.113-0533GS0F-44U-01Q5
    pppd: Please load the ppp_generic kernel module.

    Any idea? Regards

  11. Hello!
    I am trying to follow the steps, but after the final question “do you want to activate the reconnect service?” my whole Raspberry Pi shuts off and reboot.
    I have a 5V3A charger, an EC25-E module and a V2 Base Shield. I am using my Virgin Mobile SIM card, with the goto.virginmobile.uk APN.
    Would anyone know what is going wrong?

    Thank you very much!

  12. Thank you Saeed. Actually it did reboot in an anomalous way, before saving the settings. I had the charger connected to a power strip, I then connected it directly to a socket and it seems it goes to its normal reboot. But then? How do I actually connect to the internet once the Raspberry Pi has rebooted? Even saving the connect automatically option it does not connect automatically… Thanks for your advice

  13. TIP
    If you have to delete and re-add the default ppp0 route restart your network or at least i had too for the new route take effect.

    sudo route del default
    sudo route add default ppp0
    sudo /etc/init.d/networking restart

  14. Hey Saeed,
    I use a SIM card for eplus (AldiTalk) which works in another Router perfectly.
    In this router (3G router) the 3G authenitcation method is set to “none”.
    When I insert the SIM into my raspi with LTE shield and following your instructions, I get the following output:

    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/ttyUSB3 # (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 internet # (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)
    ^M
    OK
    — got it

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

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

    send (AT+CGDCONT=1,”IP”,”internet”,,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/chat-connect -T internet finished (pid 1063), status = 0x0
    Serial connection established.
    using channel 3
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x6 ]
    No auth is possible
    sent [LCP ConfRej id=0x6 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x7 ]
    sent [LCP ConfAck id=0x7 ]
    sent [LCP EchoReq id=0x0 magic=0x7114b92a]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x8 magic=0xd5f47a24]
    rcvd [LCP EchoRep id=0x0 magic=0xd5f47a24 71 14 b9 2a]
    Modem hangup
    Connection terminated.

    What am I doing wrong?
    Thx for help, Volker

  15. Hi Saeed
    Thank a lot by your support.
    I bought a sixfab for 3G, 4G/LTE base shield V2 in order to connect to my carrier T-mobile. I’m using a Quectel EC25-AF. I try to follow your post but I can’t connect or surf. What I’m wrong?. Attached the log. Thanks by your help.

    [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 fast.t-mobile.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;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25AFFAR07A03M4G^M
    ^M
    SubEdition: V05^M
    ^M
    +CSQ: 29,99^M
    ^M
    +COPS: 0,0,”T-Mobile”,7^M
    ^M
    +CGREG: 0,1^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”fast.t-mobile.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.t-mobile.com finished (pid 2730), status = 0x0
    Serial connection established.
    using channel 3
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x9 ]
    No auth is possible
    sent [LCP ConfRej id=0x9 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0xa ]
    sent [LCP ConfAck id=0xa ]
    sent [LCP EchoReq id=0x0 magic=0xeae6e4c2]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0xb magic=0xc3c9738]
    rcvd [LCP EchoRep id=0x0 magic=0xc3c9738 ea e6 e4 c2]
    Modem hangup
    Connection terminated.
    [email protected]:~ $ ifconfig ppp0
    ppp0: error fetching interface information: Device not found

  16. Hey Saeed,
    thx for answer.

    I tried internet.eplus.de also before with the same result.
    Then I switched to internet because my 3G Router uses this APN and can connect to the internet with it.

    Script chat -s -v -f /etc/chatscripts/chat-connect -T internet.eplus.de finished (pid 10462), status = 0x0
    Serial connection established.
    using channel 13
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x24 ]
    No auth is possible
    sent [LCP ConfRej id=0x24 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x25 ]
    sent [LCP ConfAck id=0x25 ]
    sent [LCP EchoReq id=0x0 magic=0x7a3eaccb]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x26 magic=0xe496b039]
    rcvd [LCP EchoRep id=0x0 magic=0xe496b039 7a 3e ac cb]
    Modem hangup
    Connection terminated.

  17. Hi Saeed:
    I am using the “Sixfab GSM/GPRS shield v1.5”. I connected the shield through the microUSB to Raspberry Pi 3 B, the OS is Raspbian Stretch. I followed the the steps in this tutorial, after the pi rebooted, I got the following error:

    [email protected]:~ $ sudo pon
    /usr/sbin/pppd: In file /etc/ppp/peers/provider: unrecognized option ‘/dev/’

    I am doing my senior design, and the system need to be connected to cloud, as well as GPS coordinates, I would really grateful if you could help me to find a tutorial which provide those information.

  18. Hey Saeed,
    do you have any further ideas how to get a connection in my case?
    If not, the inventment in the shield seems to be useless for me ;(

    Greetings
    Volker

  19. Trying to get PPP internetconnection working on Raspberry pi3B+ using Raspberry Pi Cellular IoT HAT – LTE-M & NB-IoT & eGPRS

    The install script works fine. But trying to start with “sudo pon” gives me the error “/usr/sbin/pppd: In file /etc/ppp/peers/provider: unrecognized option ‘/dev/ttyS0’
    What am I doing wrong?

    Another question: Is it possible to get the hat to work as PPP without the USB-cable? (using that cable I might as well use a USB-modem)

  20. In what way should I power it?
    I have the hat connected to the Pi via the I/O header and the USB-cable. Does it need separate power supply, and where should I connect it?

    1. For you Raspberry Pi Cellular IoT HAT, connecting through UART is enough. There is no need for a separate power supply.

  21. hello,
    when i use the sudo pon command i get this output.

    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 fast.t-mobile.com # (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)
    Device ttyS0 is locked by pid 2855

    How do i get the ttys0 device to be unlocked thanks

  22. Hi Saeed, Thank you for the update.

    I’ve installed ppp for my Raspberry Pi Cellular IoT HAT. I’ve chosen the GPRS/EDGE technology. APN : Sunsurf (Singapore) Port : ttyUSB0.

    I cannot connect to internet. Here is my log :

    Apr 18 11:34:18 beam chat[1041]: expect (OK)
    Apr 18 11:34:18 beam sh[539]: expect (OK)
    Apr 18 11:34:48 beam chat[1041]: alarm
    Apr 18 11:34:48 beam sh[539]: alarm
    Apr 18 11:34:48 beam sh[539]: Failed
    Apr 18 11:34:48 beam chat[1041]: Failed
    Apr 18 11:34:48 beam sh[539]: Script chat -s -v -f /etc/chatscripts/chat-connect -T sunsurf finished (pid 1040), status = 0x3
    Apr 18 11:34:48 beam sh[539]: Connect script failed
    Apr 18 11:34:48 beam pppd[1038]: Script chat -s -v -f /etc/chatscripts/chat-connect -T sunsurf finished (pid 1040), status = 0x3
    Apr 18 11:34:48 beam pppd[1038]: Connect script failed
    Apr 18 11:34:49 beam pppd[1038]: Exit.
    Apr 18 11:34:50 beam sh[539]: /usr/src/reconnect.sh: 13: /usr/src/reconnect.sh: gpio: not found
    Apr 18 11:34:50 beam sh[539]: /usr/src/reconnect.sh: 13: [: =: unexpected operator
    Apr 18 11:34:50 beam sh[539]: ping: SO_BINDTODEVICE: Invalid argument
    Apr 18 11:34:50 beam sh[539]: Connection down, reconnecting…
    Apr 18 11:34:50 beam pppd[1074]: pppd options in effect:
    Apr 18 11:34:50 beam sh[539]: pppd options in effect:
    Apr 18 11:34:50 beam sh[539]: debug#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: updetach#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: dump#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: noauth#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: remotename 3gppp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: /dev/ttyUSB0#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: 115200#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: lock#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: connect chat -s -v -f /etc/chatscripts/chat-connect -T sunsurf#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: disconnect chat -s -v -f /etc/chatscripts/chat-disconnect#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: nocrtscts#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: modem#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: asyncmap 0#011#011# (from /etc/ppp/options)
    Apr 18 11:34:50 beam sh[539]: lcp-echo-failure 4#011#011# (from /etc/ppp/options)
    Apr 18 11:34:50 beam sh[539]: lcp-echo-interval 30#011#011# (from /etc/ppp/options)
    Apr 18 11:34:50 beam sh[539]: hide-password#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: novj#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: novjccomp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: ipcp-accept-local#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: ipcp-accept-remote#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: ipparam 3gppp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: noipdefault#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: ipcp-max-failure 30#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: defaultroute#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: usepeerdns#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: noccp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam sh[539]: noipx#011#011# (from /etc/ppp/options)
    Apr 18 11:34:50 beam pppd[1074]: debug#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: updetach#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: dump#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: noauth#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: remotename 3gppp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: /dev/ttyUSB0#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: 115200#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: lock#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: connect chat -s -v -f /etc/chatscripts/chat-connect -T sunsurf#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: disconnect chat -s -v -f /etc/chatscripts/chat-disconnect#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: nocrtscts#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: modem#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: asyncmap 0#011#011# (from /etc/ppp/options)
    Apr 18 11:34:50 beam pppd[1074]: lcp-echo-failure 4#011#011# (from /etc/ppp/options)
    Apr 18 11:34:50 beam pppd[1074]: lcp-echo-interval 30#011#011# (from /etc/ppp/options)
    Apr 18 11:34:50 beam pppd[1074]: hide-password#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: novj#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: novjccomp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: ipcp-accept-local#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: ipcp-accept-remote#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: ipparam 3gppp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: noipdefault#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: ipcp-max-failure 30#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: defaultroute#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: usepeerdns#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: noccp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:34:50 beam pppd[1074]: noipx#011#011# (from /etc/ppp/options)
    Apr 18 11:34:50 beam pppd[1074]: pppd 2.4.7 started by root, uid 0
    Apr 18 11:34:51 beam chat[1077]: abort on (BUSY)
    Apr 18 11:34:51 beam chat[1077]: abort on (NO CARRIER)
    Apr 18 11:34:51 beam sh[539]: abort on (BUSY)
    Apr 18 11:34:51 beam sh[539]: abort on (NO CARRIER)
    Apr 18 11:34:51 beam sh[539]: abort on (NO DIALTONE)
    Apr 18 11:34:51 beam sh[539]: abort on (ERROR)
    Apr 18 11:34:51 beam sh[539]: abort on (NO ANSWER)
    Apr 18 11:34:51 beam sh[539]: timeout set to 30 seconds
    Apr 18 11:34:51 beam sh[539]: send (AT^M)
    Apr 18 11:34:51 beam chat[1077]: abort on (NO DIALTONE)
    Apr 18 11:34:51 beam chat[1077]: abort on (ERROR)
    Apr 18 11:34:51 beam chat[1077]: abort on (NO ANSWER)
    Apr 18 11:34:51 beam chat[1077]: timeout set to 30 seconds
    Apr 18 11:34:51 beam chat[1077]: send (AT^M)
    Apr 18 11:34:51 beam chat[1077]: expect (OK)
    Apr 18 11:34:51 beam sh[539]: expect (OK)
    Apr 18 11:35:21 beam chat[1077]: alarm
    Apr 18 11:35:21 beam sh[539]: alarm
    Apr 18 11:35:21 beam sh[539]: Failed
    Apr 18 11:35:21 beam chat[1077]: Failed
    Apr 18 11:35:21 beam sh[539]: Script chat -s -v -f /etc/chatscripts/chat-connect -T sunsurf finished (pid 1076), status = 0x3
    Apr 18 11:35:21 beam sh[539]: Connect script failed
    Apr 18 11:35:21 beam pppd[1074]: Script chat -s -v -f /etc/chatscripts/chat-connect -T sunsurf finished (pid 1076), status = 0x3
    Apr 18 11:35:21 beam pppd[1074]: Connect script failed
    Apr 18 11:35:22 beam pppd[1074]: Exit.
    Apr 18 11:35:23 beam sh[539]: /usr/src/reconnect.sh: 13: /usr/src/reconnect.sh: gpio: not found
    Apr 18 11:35:23 beam sh[539]: /usr/src/reconnect.sh: 13: [: =: unexpected operator
    Apr 18 11:35:23 beam sh[539]: ping: SO_BINDTODEVICE: Invalid argument
    Apr 18 11:35:23 beam sh[539]: Connection down, reconnecting…
    Apr 18 11:35:23 beam pppd[1127]: pppd options in effect:
    Apr 18 11:35:23 beam sh[539]: pppd options in effect:
    Apr 18 11:35:23 beam sh[539]: debug#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: updetach#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: dump#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: noauth#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: remotename 3gppp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: /dev/ttyUSB0#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: 115200#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: lock#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: connect chat -s -v -f /etc/chatscripts/chat-connect -T sunsurf#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: disconnect chat -s -v -f /etc/chatscripts/chat-disconnect#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: nocrtscts#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: modem#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: asyncmap 0#011#011# (from /etc/ppp/options)
    Apr 18 11:35:23 beam sh[539]: lcp-echo-failure 4#011#011# (from /etc/ppp/options)
    Apr 18 11:35:23 beam sh[539]: lcp-echo-interval 30#011#011# (from /etc/ppp/options)
    Apr 18 11:35:23 beam sh[539]: hide-password#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: novj#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: novjccomp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: ipcp-accept-local#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: ipcp-accept-remote#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: ipparam 3gppp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: noipdefault#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: ipcp-max-failure 30#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: defaultroute#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: usepeerdns#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: noccp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam sh[539]: noipx#011#011# (from /etc/ppp/options)
    Apr 18 11:35:23 beam pppd[1127]: debug#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: updetach#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: dump#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: noauth#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: remotename 3gppp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: /dev/ttyUSB0#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: 115200#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: lock#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: connect chat -s -v -f /etc/chatscripts/chat-connect -T sunsurf#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: disconnect chat -s -v -f /etc/chatscripts/chat-disconnect#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: nocrtscts#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: modem#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: asyncmap 0#011#011# (from /etc/ppp/options)
    Apr 18 11:35:23 beam pppd[1127]: lcp-echo-failure 4#011#011# (from /etc/ppp/options)
    Apr 18 11:35:23 beam pppd[1127]: lcp-echo-interval 30#011#011# (from /etc/ppp/options)
    Apr 18 11:35:23 beam pppd[1127]: hide-password#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: novj#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: novjccomp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: ipcp-accept-local#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: ipcp-accept-remote#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: ipparam 3gppp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: noipdefault#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: ipcp-max-failure 30#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: defaultroute#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: usepeerdns#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: noccp#011#011# (from /etc/ppp/peers/provider)
    Apr 18 11:35:23 beam pppd[1127]: noipx#011#011# (from /etc/ppp/options)
    Apr 18 11:35:23 beam pppd[1127]: pppd 2.4.7 started by root, uid 0
    Apr 18 11:35:24 beam chat[1129]: abort on (BUSY)
    Apr 18 11:35:24 beam chat[1129]: abort on (NO CARRIER)
    Apr 18 11:35:24 beam sh[539]: abort on (BUSY)
    Apr 18 11:35:24 beam sh[539]: abort on (NO CARRIER)
    Apr 18 11:35:24 beam sh[539]: abort on (NO DIALTONE)
    Apr 18 11:35:24 beam sh[539]: abort on (ERROR)
    Apr 18 11:35:24 beam sh[539]: abort on (NO ANSWER)
    Apr 18 11:35:24 beam sh[539]: timeout set to 30 seconds
    Apr 18 11:35:24 beam sh[539]: send (AT^M)
    Apr 18 11:35:24 beam chat[1129]: abort on (NO DIALTONE)
    Apr 18 11:35:24 beam chat[1129]: abort on (ERROR)
    Apr 18 11:35:24 beam chat[1129]: abort on (NO ANSWER)
    Apr 18 11:35:24 beam chat[1129]: timeout set to 30 seconds
    Apr 18 11:35:24 beam chat[1129]: send (AT^M)
    Apr 18 11:35:24 beam chat[1129]: expect (OK)
    Apr 18 11:35:24 beam sh[539]: expect (OK)

  23. Dear Saeed !
    I succeeded for install model 4G with my Rasp Pi follow all step you shared , now i can connect internet normally.
    I trying to check status of internet connection by AT command code but it not work. so , Can you help me !

    1. The USB provides you with 4 device options (ttyUSB0~3)
      Among them,
      ttyUSB0 DM
      ttyUSB1 GPS NMEA OUTPUT
      ttyUSB2 AT Command Communication
      ttyUSB3 PPP connection or AT command communication

  24. Hello Saeed,

    I’ve tried with ttyS0 and I have this error :
    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 sunsurf # (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)
    Can’t get terminal parameters: Input/output error
    Script chat -s -v -f /etc/chatscripts/chat-connect -T sunsurf finished (pid 3188), status = 0x2
    Connect script failed

    Do you think the problem can be with my SIM card ? I’m using a 4G SIM card and it might not be compatible with the HAT.

    1. It hasn’t even started communication with the SIM.
      Is your serial enabled?
      Could you please share the image of your setup?

      you can mail at hello[at]sixfab[dot]com

      1. Hi Saeed.

        Yes the serial is enabled and Login shell to be accessible over serial is disable.
        Thank you for your help, I have sent you a mail.

  25. I am having to enter:
    sudo route del default
    sudo route add default ppp0

    everytime I power on and off again. A reboot is no problem. Is there any file option I can change to make the default ppp0 persistant for power offs?

  26. Hi Saeed, Upon installation I’ve chose the third options for PPP connections. And I’m using Cellular IoT App. Shield. After I done all the steps and choses the wrong USB port with ttyUSB3. And i tried to reinstall again with the correct port to ttyS0. And i’ve encounter several issues. first things first when I tried to sudo pon this issues occurs :
    [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 tunetalk # (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)
    — write timed out
    Failed
    Script chat -s -v -f /etc/chatscripts/chat-connect -T tunetalk finished (pid 27380), status = 0x1
    Connect script failed

    After several tries, i get this errors:
    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 tunetalk # (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)
    Device ttyS0 is locked by pid 16366

    Afterwards, my pi wasn’t able to connect to internet. But the status light in on the Shield lights up with blinking. So i’ve need to manually set the default gateway in order to reconnect. Is there any way to fix this? I can send you more details about it. Thanks

  27. Hi i have two questions,

    1. How can i stop auto reconnect?
    2. How can i change reconnect to 30 minutes trying?

    1. 1. You can use sudo systemctl stop reconnect.service to stop and
      sudo systemctl stop reconnect.service to disable.

      2. You can replace sleep 1 with sleep 30m in /usr/src/reconnect.sh

  28. [email protected]:~ $ sudo ./install.sh
    Please choose your Sixfab Shield:
    1: GSM/GPRS Shield
    2: 3G, 4G/LTE Base Shield
    3: Cellular IoT Shield
    2
    You chose Base Shield
    Downloading setup files
    –2019-05-09 21:56:08– https://raw.githubusercontent.com/sixfab/rpiShields/master/ppp_installer/chat-connect
    Resolving raw.githubusercontent.com (raw.githubusercontent.com)… 151.101.4.133
    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.4.133|:443… connected.
    HTTP request sent, awaiting response… 404 Not Found
    2019-05-09 21:56:09 ERROR 404: Not Found.

    Download failed

    Getting this error message, also I had to connect the 4G shield via UART with the raspberry because when i used it by USB the raspberry would randomly shutdown probably because of power consumption; the problem is I was also using the GPS, how do I get the data from the GPS via UART?

    1. Hi,

      Please update the install.sh script. You are trying an old script.

      Power Supply is a huge factor for this 4G/LTE Base shield. Make sure you are using 5V 2A adapter to power up your device.

      If your UART is connected to the internet then you cannot use it for GPS. Use USB for GPS.

  29. Thanks Saeed
    To anyone with the same problem I suggest deleting all the old install.sh scripts from the /home/pi folder, since it will always run the oldest file.
    Also I fixed the power supply issue using an external power supply connected to the shield via the +5V- pins, taking the black and red cables from a standard USB cable.

  30. I’m seeing:

    send (AT^M)
    warning: write() on stdout returned 0
    — write failed: Success
    Failed
    Script chat -s -v -f /etc/chatscripts/chat-connect -T wholesale finished (pid 9275), status = 0x1
    Connect script failed

    My setup:

    Device: Cellular IoT HAT
    Carrier: Ting
    APN: wholesale
    Tech: NB-IoT
    Port: ttyS0

    Any thoughts? I posted the full log in a github issue: https://github.com/sixfab/Sixfab_PPP_Installer/issues/3

  31. Hi,

    I have the Cellular IoT App sheild, but it deos not respond after installing all of the above.
    Sudo pon gives unrecognised option ‘/dev/ttyS0’

  32. Hi,
    I have attempted installing the Cellular IoT App Shield onto a A+ Pi many times without success. The device does not appear as ttyS0.
    I have followed all instructions.
    ‘sudo pon’ gives the following error:
    /usr/sbin/pppd: In file /etc/ppp/peers/provider: unrecognized option ‘dev/ttyS0’

  33. “Serial login shell is disabled and serial interface is enabled”
    anything else I can do to get it functioning?

  34. Hello,
    i’ve a ip but no connexion.
    I’ve activate auto connect/reconnect service at R.Pi boot up but no result.

    After a sudo pon,no result too and, at the end, i’ve : Device ttyUSB3 is locked by pid

    A solution ?
    Thanks a lot

    1. The ttyUSB3 is locked by the auto0reconnect service.
      Can you see ppp0 in ifconfig output?
      If yes, Did you try to ping using ppp0 interface?

      1. I see nothing about ppp0 in ifconfig : error in the research and no device found.

        I re install all with this tutorial and after a “sudo pon” i’ve a “modem hangup – connextion terminated”.
        i follow by a “sudo poff” and i’ve a “/usr/bin/poff : no pppd is running none stopped”

        I don’t understood why ppp0 is not running.
        Some Help please ?
        Thanks

        1. Do you have installed sure reconnect service?
          Could you please send the image of your setup?
          Is there any other USB device connected to your Raspberry Pi?

          1. Hello,
            I found why : pincode of sim card.
            I desactivate it with my phone and ive a conexion !
            BUT, theres is a BUT : its very very slow
            My zone of 4g are good here. I ‘ve try it near the window and its the same thing.
            Some idea ?

  35. Any further thoughts ?
    I’ve followed all instructions without success.
    Have I got a faulty unit? Does this actually work?

  36. Just for your info, EC25 + Rpi 4G Shield works great also on an Nvidia Jetson Nano board using this PPP instructions.

  37. Hello there,

    I’m using a Raspberry Pi 3 B (not B+) with the 3G-4G/LTE Base Shield V2 set with the EC25 Mini PCle 4G/LTE Module with LTE Main & Diversity & GNSS Triple Port u.FL Antenna – 100mm.

    My carrier is “simyo”, APN “orangeworld” (https://blog.simyo.es/simyo-configuracion-internet-wap-mms/configura-tu-modem-usb-con-simyo/)

    I did everything as proposed by this post and I get the following trace when doing “sudo pon”:

    [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/ttyUSB3 # (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 orangeworld # (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)
    ^M
    OK
    — got it

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

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

    send (AT+CGDCONT=1,”IP”,”orangeworld”,,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/chat-connect -T orangeworld finished (pid 2230), status = 0x0
    Serial connection established.
    using channel 39
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x6f ]
    No auth is possible
    sent [LCP ConfRej id=0x6f ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x70 ]
    sent [LCP ConfAck id=0x70 ]
    sent [LCP EchoReq id=0x0 magic=0x5f495129]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x71 magic=0xd1322b32]
    rcvd [LCP EchoRep id=0x0 magic=0xd1322b32 5f 49 51 29]
    Modem hangup
    Connection terminated.

    _
    Please let me know your comments as I cannot get connectivity.

          1. Hello Saeed, thanks for following up.

            I’m using now the official RPI adapter and I get the same output.

            Please help, what should I do? Where is the problem? What does it means “No auth is possible”? Why the connection is terminated? How do I know if the connection credentials are ok?

            Looking forward your comments. Thanks.

          2. Hi,

            Sorry for delaying,

            Do you have tried with different SIM?

            Make sure your APN is correct.

            Regarding “no auth possible” Remote side wants to make Chap authentication but auth chap not defined in our pppd config.

  38. Hello, I re send this comment :
    After follow this tutorial, i’ve a IP but console say : “Connexion close”
    Not possible to suf on da web.

    Some help ?
    Thanks

  39. Hey,

    thanks in advance for your tip. But I can’t get an internet connection at all. My shield is the Cellular IoT Application Shield. I installed your ppp, enabled Serial and disabled the login shell. If I tried sudo pon I always get

    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 internet # (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)
    Device ttyS0 is locked by pid 556

    What am I doing wrong?

    Kind regards
    Constantin

      1. Hey,
        I installed the reconnect script! I get an error for ifconfig ppp0
        ppp0: error fetching interface information: Device not found.

        Further information:
        I installed the Rasbian 9.8 stretch and already set up an WIFI hotspot on my raspberry. My Board is a Raspberry PI 3 B+.

        Thanks for your quick answer!

  40. Hi Saeed, I’m not getting a connection as of yet after running the ppp installer. Am I right to say that my ISP not giving out an IP address to interface wwan0 but otherwise, all is OK? I’m running a 2.5A official RPi power supply.

    Here is my output:

    [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/ttyUSB3 # (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 internet.tele2.nl # (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)
    ^M
    OK
    — got it

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25EFAR06A03M4G^M
    ^M
    SubEdition: V03^M
    ^M
    +CSQ: 22,99^M
    ^M
    +COPS: 0,0,”Tele2 NL Tele2 NL”,7^M
    ^M
    +CGREG: 0,1^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”internet.tele2.nl”,,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/chat-connect -T internet.tele2.nl finished (pid 1189), status = 0x0
    Serial connection established.
    using channel 2
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x18 ]
    No auth is possible
    sent [LCP ConfRej id=0x18 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x19 ]
    sent [LCP ConfAck id=0x19 ]
    sent [LCP EchoReq id=0x0 magic=0x8c8ee1a7]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x1a magic=0x44d8e17d]
    rcvd [LCP EchoRep id=0x0 magic=0x44d8e17d 8c 8e e1 a7]
    rcvd [IPCP ConfReq id=0x10]
    sent [IPCP ConfNak id=0x10 ]
    rcvd [IPCP ConfNak id=0x1 ]
    sent [IPCP ConfReq id=0x2 ]
    rcvd [IPCP ConfReq id=0x11]
    sent [IPCP ConfAck id=0x11]
    rcvd [IPCP ConfAck id=0x2 ]
    Could not determine remote IP address: defaulting to 10.64.64.64
    not replacing default route to eth0 [192.168.0.1]
    local IP address 10.122.157.160
    remote IP address 10.64.64.64
    primary DNS address 62.58.48.30
    secondary DNS address 62.58.153.220

    [email protected]:~ $ ifconfig
    eth0: flags=4163 mtu 1500
    inet 192.168.0.57 netmask 255.255.255.0 broadcast 192.168.0.255
    inet6 fe80::bbd:5dac:b87b:72d6 prefixlen 64 scopeid 0x20
    ether b8:27:eb:54:11:3a txqueuelen 1000 (Ethernet)
    RX packets 242 bytes 29741 (29.0 KiB)
    RX errors 0 dropped 1 overruns 0 frame 0
    TX packets 237 bytes 37662 (36.7 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    lo: flags=73 mtu 65536
    inet 127.0.0.1 netmask 255.0.0.0
    inet6 ::1 prefixlen 128 scopeid 0x10
    loop txqueuelen 1000 (Local Loopback)
    RX packets 4 bytes 444 (444.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 4 bytes 444 (444.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    ppp0: flags=4305 mtu 1500
    inet 10.122.157.160 netmask 255.255.255.255 destination 10.64.64.64
    ppp txqueuelen 3 (Point-to-Point Protocol)
    RX packets 4 bytes 52 (52.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 4 bytes 58 (58.0 B)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    wlan0: flags=4163 mtu 1500
    inet 172.24.1.1 netmask 255.255.0.0 broadcast 172.24.255.255
    inet6 fe80::867:9c32:3e6c:ade3 prefixlen 64 scopeid 0x20
    ether b8:27:eb:01:44:6f txqueuelen 1000 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 24 bytes 3568 (3.4 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    wwan0: flags=4163 mtu 1500
    inet 169.254.250.97 netmask 255.255.0.0 broadcast 169.254.255.255
    inet6 fe80::7628:89bb:f1ac:22c7 prefixlen 64 scopeid 0x20
    ether 56:0a:bb:4a:6d:93 txqueuelen 1000 (Ethernet)
    RX packets 0 bytes 0 (0.0 B)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 30 bytes 5326 (5.2 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    1. Never mind Saeed, I had to remove the default route again after connecting. Pinging works now, traceroute shows new route. It is curious though that wwan0 keeps showing a 169.254.x.x IP.

      On another note, I saw the QMI tutorial. Would that be able to be used in the 4G hotspot tutorial as a higher performing option?

        1. Awesome, will try that and I guess I need to change the IP tables entry as well from ppp0 to wwan0. Thanks for the support!

        2. Hi Saeed,

          Seems that running the makefile results in an error if you already use the PPP variant or if you already tried to run the QMI installer before the new version:
          modprobe -r option qcserial qmi_wwan
          modprobe: FATAL: Module option is in use.
          Makefile:13: recipe for target ‘install’ failed
          make: *** [install] Error 1

          Is there something I can change in the script and/or makefile so that it continues if qcserial and qmi_wwan is already in use? I’d rather not go back to a clean install and try again. 😉

          Full log:
          [email protected]:~ $ sudo ./qmi_install.sh
          Clear Files
          Change directory to /home/pi
          Downloading source files
          –2019-06-14 14:57:10– https://github.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/raw/master/tutorials/QMI_tutorial/src/quectel-CM.zip
          Resolving github.com (github.com)… 140.82.118.3
          Connecting to github.com (github.com)|140.82.118.3|:443… connected.
          HTTP request sent, awaiting response… 302 Found
          Location: https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/src/quectel-CM.zip [following]
          –2019-06-14 14:57:13– https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/src/quectel-CM.zip
          Resolving raw.githubusercontent.com (raw.githubusercontent.com)… 151.101.0.133, 151.101.64.133, 151.101.128.133, …
          Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443… connected.
          HTTP request sent, awaiting response… 200 OK
          Length: 66876 (65K) [application/zip]
          Saving to: ‘quectel-CM.zip’

          quectel-CM.zip 100%[====================================================================================================>] 65.31K –.-KB/s in 0.1s

          2019-06-14 14:57:14 (631 KB/s) – ‘quectel-CM.zip’ saved [66876/66876]

          Archive: quectel-CM.zip
          creating: /home/pi/files/quectel-CM/
          inflating: /home/pi/files/quectel-CM/util.h
          inflating: /home/pi/files/quectel-CM/util.c
          inflating: /home/pi/files/quectel-CM/udhcpc.c
          inflating: /home/pi/files/quectel-CM/quectel-qmi-proxy.c
          inflating: /home/pi/files/quectel-CM/QmiWwanCM.c
          inflating: /home/pi/files/quectel-CM/QMIThread.h
          inflating: /home/pi/files/quectel-CM/QMIThread.c
          inflating: /home/pi/files/quectel-CM/MPQMUX.h
          inflating: /home/pi/files/quectel-CM/MPQMUX.c
          inflating: /home/pi/files/quectel-CM/MPQMI.h
          inflating: /home/pi/files/quectel-CM/MPQCTL.h
          inflating: /home/pi/files/quectel-CM/Makefile
          inflating: /home/pi/files/quectel-CM/main.c
          inflating: /home/pi/files/quectel-CM/GobiNetCM.c
          inflating: /home/pi/files/quectel-CM/dhcpclient.c
          inflating: /home/pi/files/quectel-CM/default.script
          Checking Kernel
          4.19.42-v7+ based kernel found
          Downloading source files
          –2019-06-14 14:57:14– https://github.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/raw/master/tutorials/QMI_tutorial/src/4.19.1.zip
          Resolving github.com (github.com)… 140.82.118.3
          Connecting to github.com (github.com)|140.82.118.3|:443… connected.
          HTTP request sent, awaiting response… 302 Found
          Location: https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/src/4.19.1.zip [following]
          –2019-06-14 14:57:14– https://raw.githubusercontent.com/sixfab/Sixfab_RPi_3G-4G-LTE_Base_Shield/master/tutorials/QMI_tutorial/src/4.19.1.zip
          Resolving raw.githubusercontent.com (raw.githubusercontent.com)… 151.101.192.133, 151.101.128.133, 151.101.64.133, …
          Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.192.133|:443… connected.
          HTTP request sent, awaiting response… 200 OK
          Length: 101553 (99K) [application/zip]
          Saving to: ‘drivers.zip’

          drivers.zip 100%[====================================================================================================>] 99.17K 417KB/s in 0.2s

          2019-06-14 14:57:15 (417 KB/s) – ‘drivers.zip’ saved [101553/101553]

          Archive: drivers.zip
          creating: /home/pi/files/drivers/
          creating: /home/pi/files/drivers/.git/
          extracting: /home/pi/files/drivers/.git/COMMIT_EDITMSG
          extracting: /home/pi/files/drivers/.git/HEAD
          inflating: /home/pi/files/drivers/.git/config
          inflating: /home/pi/files/drivers/.git/description
          creating: /home/pi/files/drivers/.git/hooks/
          inflating: /home/pi/files/drivers/.git/hooks/applypatch-msg.sample
          inflating: /home/pi/files/drivers/.git/hooks/commit-msg.sample
          inflating: /home/pi/files/drivers/.git/hooks/fsmonitor-watchman.sample
          inflating: /home/pi/files/drivers/.git/hooks/post-update.sample
          inflating: /home/pi/files/drivers/.git/hooks/pre-applypatch.sample
          inflating: /home/pi/files/drivers/.git/hooks/pre-commit.sample
          inflating: /home/pi/files/drivers/.git/hooks/pre-push.sample
          inflating: /home/pi/files/drivers/.git/hooks/pre-rebase.sample
          inflating: /home/pi/files/drivers/.git/hooks/pre-receive.sample
          inflating: /home/pi/files/drivers/.git/hooks/prepare-commit-msg.sample
          inflating: /home/pi/files/drivers/.git/hooks/update.sample
          inflating: /home/pi/files/drivers/.git/index
          creating: /home/pi/files/drivers/.git/info/
          inflating: /home/pi/files/drivers/.git/info/exclude
          creating: /home/pi/files/drivers/.git/logs/
          inflating: /home/pi/files/drivers/.git/logs/HEAD
          creating: /home/pi/files/drivers/.git/logs/refs/
          creating: /home/pi/files/drivers/.git/logs/refs/heads/
          inflating: /home/pi/files/drivers/.git/logs/refs/heads/master
          creating: /home/pi/files/drivers/.git/objects/
          creating: /home/pi/files/drivers/.git/objects/03/
          extracting: /home/pi/files/drivers/.git/objects/03/5c2935335b6c52c0815f35c9d1575f5c29a59f
          creating: /home/pi/files/drivers/.git/objects/19/
          extracting: /home/pi/files/drivers/.git/objects/19/5ba83612ad35f67e55c282e64ea5b637313113
          creating: /home/pi/files/drivers/.git/objects/25/
          extracting: /home/pi/files/drivers/.git/objects/25/926acedbfa6265c542319e1938b3bdd90ee485
          creating: /home/pi/files/drivers/.git/objects/39/
          extracting: /home/pi/files/drivers/.git/objects/39/dec0a7d5ff21373eacc04b3bdb45ae21bc5d09
          creating: /home/pi/files/drivers/.git/objects/61/
          extracting: /home/pi/files/drivers/.git/objects/61/3f91add03da189c0fd5334cbccbbf720060079
          creating: /home/pi/files/drivers/.git/objects/6e/
          extracting: /home/pi/files/drivers/.git/objects/6e/bd8c4cc4d3e73319f0b11790d417da1ec690fa
          creating: /home/pi/files/drivers/.git/objects/72/
          extracting: /home/pi/files/drivers/.git/objects/72/a55b6b421184c4fb69411ba3d0150e6c337a88
          creating: /home/pi/files/drivers/.git/objects/91/
          extracting: /home/pi/files/drivers/.git/objects/91/2472f26e4f6c5a9ad30357f7a47d9a3085a1d9
          creating: /home/pi/files/drivers/.git/objects/92/
          extracting: /home/pi/files/drivers/.git/objects/92/cb4b634d343b2fda1752788c459aa21b5e00b2
          creating: /home/pi/files/drivers/.git/objects/a7/
          extracting: /home/pi/files/drivers/.git/objects/a7/52b118ac3c4bc0714022c869ce41093bce9710
          creating: /home/pi/files/drivers/.git/objects/b4/
          extracting: /home/pi/files/drivers/.git/objects/b4/28445756a9e7994114e7aee3a9ea1b5b2ac994
          creating: /home/pi/files/drivers/.git/objects/d2/
          extracting: /home/pi/files/drivers/.git/objects/d2/8dab4b9effcd5d766bb76fa2e2d92de7dcd4f1
          creating: /home/pi/files/drivers/.git/objects/e7/
          inflating: /home/pi/files/drivers/.git/objects/e7/2ad9f81c73973b86bd7992c0f331039a8192bf
          creating: /home/pi/files/drivers/.git/objects/f0/
          extracting: /home/pi/files/drivers/.git/objects/f0/9393322edaf3f9356d5ab816db40e21d78f7aa
          creating: /home/pi/files/drivers/.git/refs/
          creating: /home/pi/files/drivers/.git/refs/heads/
          extracting: /home/pi/files/drivers/.git/refs/heads/master
          inflating: /home/pi/files/drivers/99-quectel-modem.rules
          inflating: /home/pi/files/drivers/Makefile
          creating: /home/pi/files/drivers/drivers/
          creating: /home/pi/files/drivers/drivers/net/
          creating: /home/pi/files/drivers/drivers/net/usb/
          inflating: /home/pi/files/drivers/drivers/net/usb/qmi_wwan.c
          creating: /home/pi/files/drivers/drivers/usb/
          creating: /home/pi/files/drivers/drivers/usb/serial/
          inflating: /home/pi/files/drivers/drivers/usb/serial/option.c
          inflating: /home/pi/files/drivers/drivers/usb/serial/qcserial.c
          inflating: /home/pi/files/drivers/drivers/usb/serial/usb-wwan.h
          inflating: /home/pi/files/drivers/drivers/usb/serial/usb_wwan.c
          Installing udhcpc
          Reading package lists… Done
          Building dependency tree
          Reading state information… Done
          udhcpc is already the newest version (1:1.22.0-19).
          0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
          Copying udhcpc default script
          Change directory to /home/pi/files/drivers
          rm -rf *~ .tmp_versions modules.order Module.symvers
          find . -type f -name *~ -o -name *.o -o -name *.ko -o -name *.cmd -o -name *.mod.c -o -name *.ur-safe | xargs rm -rf
          make -C /lib/modules/4.19.42-v7+/build M=/home/pi/files/drivers modules
          make[1]: Entering directory ‘/usr/src/linux-headers-4.19.42-v7+’
          CC [M] /home/pi/files/drivers/./drivers/usb/serial/usb_wwan.o
          CC [M] /home/pi/files/drivers/./drivers/usb/serial/option.o
          CC [M] /home/pi/files/drivers/./drivers/usb/serial/qcserial.o
          CC [M] /home/pi/files/drivers/./drivers/net/usb/qmi_wwan.o
          Building modules, stage 2.
          MODPOST 4 modules
          CC /home/pi/files/drivers/./drivers/net/usb/qmi_wwan.mod.o
          LD [M] /home/pi/files/drivers/./drivers/net/usb/qmi_wwan.ko
          CC /home/pi/files/drivers/./drivers/usb/serial/option.mod.o
          LD [M] /home/pi/files/drivers/./drivers/usb/serial/option.ko
          CC /home/pi/files/drivers/./drivers/usb/serial/qcserial.mod.o
          LD [M] /home/pi/files/drivers/./drivers/usb/serial/qcserial.ko
          CC /home/pi/files/drivers/./drivers/usb/serial/usb_wwan.mod.o
          LD [M] /home/pi/files/drivers/./drivers/usb/serial/usb_wwan.ko
          make[1]: Leaving directory ‘/usr/src/linux-headers-4.19.42-v7+’
          rm -rf *~ .tmp_versions modules.order Module.symvers
          find . -type f -name *~ -o -name *.o -o -name *.ko -o -name *.cmd -o -name *.mod.c -o -name *.ur-safe | xargs rm -rf
          make -C /lib/modules/4.19.42-v7+/build M=/home/pi/files/drivers modules
          make[1]: Entering directory ‘/usr/src/linux-headers-4.19.42-v7+’
          CC [M] /home/pi/files/drivers/./drivers/usb/serial/usb_wwan.o
          CC [M] /home/pi/files/drivers/./drivers/usb/serial/option.o
          CC [M] /home/pi/files/drivers/./drivers/usb/serial/qcserial.o
          CC [M] /home/pi/files/drivers/./drivers/net/usb/qmi_wwan.o
          Building modules, stage 2.
          MODPOST 4 modules
          CC /home/pi/files/drivers/./drivers/net/usb/qmi_wwan.mod.o
          LD [M] /home/pi/files/drivers/./drivers/net/usb/qmi_wwan.ko
          CC /home/pi/files/drivers/./drivers/usb/serial/option.mod.o
          LD [M] /home/pi/files/drivers/./drivers/usb/serial/option.ko
          CC /home/pi/files/drivers/./drivers/usb/serial/qcserial.mod.o
          LD [M] /home/pi/files/drivers/./drivers/usb/serial/qcserial.ko
          CC /home/pi/files/drivers/./drivers/usb/serial/usb_wwan.mod.o
          LD [M] /home/pi/files/drivers/./drivers/usb/serial/usb_wwan.ko
          make[1]: Leaving directory ‘/usr/src/linux-headers-4.19.42-v7+’
          cp /home/pi/files/drivers/drivers/usb/serial/option.ko /lib/modules/4.19.42-v7+/kernel/drivers/usb/serial/
          cp /home/pi/files/drivers/drivers/usb/serial/usb_wwan.ko /lib/modules/4.19.42-v7+/kernel/drivers/usb/serial/
          cp /home/pi/files/drivers/drivers/usb/serial/qcserial.ko /lib/modules/4.19.42-v7+/kernel/drivers/usb/serial/
          cp /home/pi/files/drivers/drivers/net/usb/qmi_wwan.ko /lib/modules/4.19.42-v7+/kernel/drivers/net/usb/
          modprobe -r option qcserial qmi_wwan
          modprobe: FATAL: Module option is in use.
          Makefile:13: recipe for target ‘install’ failed
          make: *** [install] Error 1
          Change directory to /home/pi/files/quectel-CM
          rm -rf quectel-CM *~
          rm -rf quectel-qmi-proxy
          gcc -Wall -s quectel-qmi-proxy.c -o quectel-qmi-proxy -lpthread -ldl
          gcc -Wall -s QmiWwanCM.c GobiNetCM.c main.c MPQMUX.c QMIThread.c util.c udhcpc.c -o quectel-CM -lpthread -ldl
          main.c: In function ‘kill_brothers’:
          main.c:299:5: warning: this ‘if’ clause does not guard… [-Wmisleading-indentation]
          if (ls_dir(“/proc”, is_brother_process, argv))
          ^~
          main.c:302:2: note: …this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
          return 0;
          ^~~~~~
          MPQMUX.c:36:25: warning: ‘qmi_ctl_CtlFlags’ defined but not used [-Wunused-const-variable=]
          static const QMI_NAME_T qmi_ctl_CtlFlags[] = {
          ^~~~~~~~~~~~~~~~
          MPQMUX.c:25:25: warning: ‘qmi_QMIType’ defined but not used [-Wunused-const-variable=]
          static const QMI_NAME_T qmi_QMIType[] = {
          ^~~~~~~~~~~
          MPQMUX.c:20:25: warning: ‘qmi_CtlFlags’ defined but not used [-Wunused-const-variable=]
          static const QMI_NAME_T qmi_CtlFlags[] = {
          ^~~~~~~~~~~~
          MPQMUX.c:16:25: warning: ‘qmi_IFType’ defined but not used [-Wunused-const-variable=]
          static const QMI_NAME_T qmi_IFType[] = {
          ^~~~~~~~~~
          After reboot please follow commands mentioned below
          go to /home/pi/files/quectel-CM and run sudo ./quectel-CM -s [YOUR APN]
          Press ENTER key to reboot

          [email protected]:~/files/quectel-CM $

          1. Hi,

            You will need to disconnect the module before you install.
            “modprobe: FATAL: Module option is in use.”

  41. hey saeed,
    i am using the cellular iot app shield and i am trying to connect through NB LTE without success.My provider claims that the network is ok.Also i am able to connect to 2G so my sim works fine.
    Any thoughts?
    [email protected]:~# 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 iot # (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)
    ^M
    OK
    — got it

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

    send (AT+QCFG=”band”,0,0,80000^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

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

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

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    BG96^M
    Revision: BG96MAR02A07M1G^M
    ^M
    SubEdition: V08^M
    ^M
    +CSQ: 99,99^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,4^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”iot”,,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/chat-connect -T iot finished (pid 1050), status = 0x0
    Serial connection established.
    using channel 3
    Using interface ppp0
    Connect: ppp0 /dev/ttyS0
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x6 ]
    No auth is possible
    sent [LCP ConfRej id=0x6 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x7 ]
    sent [LCP ConfAck id=0x7 ]
    sent [LCP EchoReq id=0x0 magic=0xb19c239e]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x8 magic=0x61c13ff5]
    rcvd [LCP EchoRep id=0x0 magic=0x61c13ff5 b1 9c 23 9e]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [LCP EchoReq id=0x1 magic=0xb19c239e]
    IPCP: timeout sending Config-Requests
    sent [LCP TermReq id=0x2 “No network protocols running”]
    sent [LCP TermReq id=0x3 “No network protocols running”]
    Connection terminated.
    abort on (ERROR)
    abort on (NO DIALTONE)

    Sending break to the modem
    send (+++^M)
    send (+++^M)
    send (+++^M)

    Goodbye
    Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 1455), status = 0x0
    Serial link disconnected.
    Modem hangup

    1. Do your provider confirms that they have active NB-IoT support in your location?

      +CSQ: 99,99^M
      Shows the module is not getting any signal from the network station.

  42. Got the Raspberry Pi Cellular IoT HAT setup using USB, had to add “gpio=24=op,dh” at my /boot/config.txt to make the modem start at bootup. But still had an error at boot saying to look at systemctl status reconnect.service. This says the main process exited with status 217/USER.

    When I start pon it does generate a device ppp0 with an ip address. During this process I already get under-voltage warnings. When I change the default route to ppp0 and try to ping I get under-voltage warnings again and ppp0 disappears.

    I’m using a 3.5 A power supply. With another USB modem I do not have this problem. Is my device broken?

    1. Hello,

      The reconnect service does start the modem at bootup.

      What is the voltage of your power supply?
      Generally, when the voltage is below 4.95V it shows the under voltage warning. It will not affect the connection.

  43. Hi,

    Connection terminated. AT&T Sim, data only; works in my iPad. Here’s the full log:

    [email protected]:/etc/ppp/peers# 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/ttyUSB3 # (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 phone # (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)
    ^M
    OK
    — got it

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25AFAR05A04M4G^M
    ^M
    SubEdition: V06^M
    ^M
    +CSQ: 19,99^M
    ^M
    +COPS: 0,0,”AT&T”,2^M
    ^M
    +CGREG: 0,1^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”phone”,,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/chat-connect -T phone finished (pid 1238), status = 0x0
    Serial connection established.
    using channel 2
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x6 ]
    No auth is possible
    sent [LCP ConfRej id=0x6 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x7 ]
    sent [LCP ConfAck id=0x7 ]
    sent [LCP EchoReq id=0x0 magic=0x4506eed1]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x8 magic=0x4243420]
    rcvd [LCP EchoRep id=0x0 magic=0x4243420 45 06 ee d1]
    rcvd [IPCP ConfNak id=0x1 ]
    sent [IPCP ConfReq id=0x2 ]
    Modem hangup
    Connection terminated.
    [email protected]:/etc/ppp/peers#

  44. I am trying to connect – rasberry pi 3b+ – Raspberry Pi Cellular IoT HAT on ATNT iot network using simcard.
    carrier APN – broadband
    port – ttyS0
    rebooted.

    [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 broadband # (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)
    alarm
    Failed
    Script chat -s -v -f /etc/chatscripts/chat-connect -T broadband finished (pid 1003), status = 0x3
    Connect script failed

  45. Hi Saeed,
    I am having a RPi 3 Model B and Sixfab Cellular IoT App Shield.
    1. I am able eastablished serial connection using channel 2 using interface ppp0.
    connect: ppp0/dev/ttyS0

    I am able to see the sent and received packet as well.
    But i am not able to connect to Internet. I tried with different APN setting with NBIOT.
    Need your guidance in this regards.
    On the right top corner , it shows wwan0 Interface and default route also it shows the same.
    Is this correct or need to be ppp0 for accessing the internet?
    Please refer below logs
    [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 fast.t-mobile.com # (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)
    Device ttyS0 is locked by pid 1812
    [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 fast.t-mobile.com # (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)
    T^M^M
    OK
    — got it

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

    send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
    expect (OK)
    ^M
    OK
    — got it

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

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

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    GREG?;&D2^M^M
    Quectel^M
    BG96^M
    Revision: BG96MAR02A07M1G^M
    ^M
    SubEdition: V08^M
    ^M
    +CSQ: 0,99^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,4^M
    ^M
    OK
    — got it

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

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

    Script chat -s -v -f /etc/chatscripts/chat-connect -T fast.t-mobile.com finished (pid 2077), status = 0x0
    Serial connection established.
    using channel 3
    Using interface ppp0
    Connect: ppp0 /dev/ttyS0
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x3 ]
    No auth is possible
    sent [LCP ConfRej id=0x3 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x4 ]
    sent [LCP ConfAck id=0x4 ]
    sent [LCP EchoReq id=0x0 magic=0xd2401a55]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x5 magic=0xd0a29ce5]
    rcvd [LCP EchoRep id=0x0 magic=0xd0a29ce5 d2 40 1a 55]
    rcvd [IPCP ConfNak id=0x1 ]
    sent [IPCP ConfReq id=0x2 ]
    rcvd [IPCP ConfNak id=0x2 ]
    sent [IPCP ConfReq id=0x3 ]
    rcvd [IPCP ConfNak id=0x3 ]
    sent [IPCP ConfReq id=0x4 ]
    rcvd [IPCP ConfNak id=0x4 ]
    sent [IPCP ConfReq id=0x5 ]
    rcvd [IPCP ConfNak id=0x5 ]
    sent [IPCP ConfReq id=0x6 ]
    rcvd [IPCP ConfNak id=0x6 ]
    sent [IPCP ConfReq id=0x7 ]
    rcvd [IPCP ConfNak id=0x7 ]
    sent [IPCP ConfReq id=0x8 ]
    rcvd [IPCP ConfNak id=0x8 ]
    sent [IPCP ConfReq id=0x9 ]
    rcvd [IPCP ConfNak id=0x9 ]
    sent [IPCP ConfReq id=0xa ]
    ========================================================

    1. And I am not able to see the ppp0 interface in ipconfig.
      But if i give ifconfig ppp0 command i can see ppp0 details but i dont see any IP address.
      Is wwan0 and ppp0 is same or they are different.
      And iam not able to change route to ppp0 using the above command as well.
      Tried below commands: sudo route del default sudo route add default ppp0
      ( for above command we get this response “SIOCADDRT: NO such Device” )

      Please advice

      1. wwan0 and ppp0 are 2 different interfaces.
        Since you do not have ppp0 connection established. Make sure your antenna is connected properly.

      1. HI Saeed,
        Thanks for your response.

        Please find the latest logs:
        I am getting a good signal from my antenna, but still not able to access the internet.
        I have use the two route commads mentioned (Although i dont need as i was able to see using netstat -r comand that my default interface is ppp0):
        I also checked in etc\resolv.conf ile
        There i am having “nameserver 8.8.8.8”
        I am also able to ping 8.8.8.8

        But no Internet connection.
        I am also able to connect/ get response using “wget” command

        Logs:
        [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 iot.nb # (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)
        AT^M^M
        OK
        — got it

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

        send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
        expect (OK)
        ^M
        ^M
        OK
        — got it

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

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

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

        send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
        expect (OK)
        ^M
        ^M
        Quectel^M
        BG96^M
        Revision: BG96MAR02A07M1G^M
        ^M
        SubEdition: V08^M
        ^M
        +CSQ: 11,99^M
        ^M
        +COPS: 0,0,”T-Mobile”,9^M
        ^M
        +CGREG: 0,4^M
        ^M
        OK
        — got it

        send (AT+CGDCONT=1,”IP”,”iot.nb”,,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/chat-connect -T iot.nb finished (pid 1081), status = 0x0
        Serial connection established.
        using channel 3
        Using interface ppp0
        Connect: ppp0 /dev/ttyS0
        sent [LCP ConfReq id=0x1 ]
        rcvd [LCP ConfReq id=0x0 ]
        No auth is possible
        sent [LCP ConfRej id=0x0 ]
        rcvd [LCP ConfAck id=0x1 ]
        rcvd [LCP ConfReq id=0x1 ]
        sent [LCP ConfAck id=0x1 ]
        sent [LCP EchoReq id=0x0 magic=0xfd918c15]
        sent [IPCP ConfReq id=0x1 ]
        rcvd [LCP DiscReq id=0x2 magic=0x2dacdad8]
        rcvd [LCP EchoRep id=0x0 magic=0x2dacdad8 fd 91 8c 15]
        rcvd [IPCP ConfReq id=0x0]
        sent [IPCP ConfNak id=0x0 ]
        rcvd [IPCP ConfRej id=0x1 ]
        sent [IPCP ConfReq id=0x2 ]
        rcvd [IPCP ConfReq id=0x1]
        sent [IPCP ConfAck id=0x1]
        rcvd [IPCP ConfNak id=0x2 ]
        sent [IPCP ConfReq id=0x3 ]
        rcvd [IPCP ConfAck id=0x3 ]
        Could not determine remote IP address: defaulting to 10.64.64.64
        local IP address 25.61.145.190
        remote IP address 10.64.64.64
        [email protected]:~ $

        Thanks,
        Nadeem

        1. [email protected]:~/Sixfab_RPi_CellularIoT_Library/sample $ ifconfig
          eth0: flags=4099 mtu 1500
          ether b8:27:eb:1d:99:b5 txqueuelen 1000 (Ethernet)
          RX packets 0 bytes 0 (0.0 B)
          RX errors 0 dropped 0 overruns 0 frame 0
          TX packets 0 bytes 0 (0.0 B)
          TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

          lo: flags=73 mtu 65536
          inet 127.0.0.1 netmask 255.0.0.0
          inet6 ::1 prefixlen 128 scopeid 0x10
          loop txqueuelen 1000 (Local Loopback)
          RX packets 0 bytes 0 (0.0 B)
          RX errors 0 dropped 0 overruns 0 frame 0
          TX packets 0 bytes 0 (0.0 B)
          TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

          ppp0: flags=4305 mtu 1500
          inet 25.61.145.190 netmask 255.255.255.255 destination 10.64.64.64
          ppp txqueuelen 3 (Point-to-Point Protocol)
          RX packets 743 bytes 518971 (506.8 KiB)
          RX errors 0 dropped 0 overruns 0 frame 0
          TX packets 895 bytes 92722 (90.5 KiB)
          TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

          [email protected]:~/Sixfab_RPi_CellularIoT_Library/sample $

  46. And I am not able to see the ppp0 interface in ipconfig.
    But if i give ifconfig ppp0 command i can ppp0 details but i cannot see and IP address

  47. Hi could someone help me with this problem?
    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/ttyUSB3 # (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 iot.1nce.net # (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)
    ^M
    OK
    — got it

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

    send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

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

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

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    BG96^M
    Revision: BG96MAR02A07M1G^M
    ^M
    SubEdition: V08^M
    ^M
    +CSQ: 16,99^M
    ^M
    +COPS: 0,0,”Vodafone.de 1nce.net”,0^M
    ^M
    +CGREG: 0,5^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”iot.1nce.net”,,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/chat-connect -T iot.1nce.net finished (pid 5143), status = 0x0
    Serial connection established.
    using channel 10
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x6 ]
    No auth is possible
    sent [LCP ConfRej id=0x6 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x7 ]
    sent [LCP ConfAck id=0x7 ]
    sent [LCP EchoReq id=0x0 magic=0x66327cfc]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x8 magic=0xd1cf4a42]
    rcvd [LCP EchoRep id=0x0 magic=0xd1cf4a42 66 32 7c fc]
    rcvd [IPCP ConfNak id=0x1 ]
    sent [IPCP ConfReq id=0x2 ]
    rcvd [IPCP ConfNak id=0x2 ]
    sent [IPCP ConfReq id=0x3 ]
    rcvd [IPCP ConfNak id=0x3 ]
    sent [IPCP ConfReq id=0x4 ]
    rcvd [IPCP ConfNak id=0x4 ]
    sent [IPCP ConfReq id=0x5 ]
    rcvd [IPCP ConfNak id=0x5 ]
    sent [IPCP ConfReq id=0x6 ]
    rcvd [IPCP ConfNak id=0x6 ]
    sent [IPCP ConfReq id=0x7 ]
    rcvd [IPCP ConfNak id=0x7 ]
    sent [IPCP ConfReq id=0x8 ]
    rcvd [IPCP ConfNak id=0x8 ]
    sent [IPCP ConfReq id=0x9 ]
    rcvd [IPCP ConfNak id=0x9 ]
    sent [IPCP ConfReq id=0xa ]
    rcvd [IPCP ConfNak id=0xa ]
    sent [IPCP ConfReq id=0xb ]
    rcvd [IPCP ConfNak id=0xb ]
    sent [IPCP ConfReq id=0xc ]
    rcvd [IPCP ConfNak id=0xc ]
    sent [IPCP ConfReq id=0xd ]
    rcvd [IPCP ConfNak id=0xd ]
    sent [IPCP ConfReq id=0xe ]
    rcvd [IPCP ConfNak id=0xe ]
    sent [IPCP ConfReq id=0xf ]
    rcvd [IPCP ConfNak id=0xf ]
    sent [IPCP ConfReq id=0x10 ]
    rcvd [IPCP ConfNak id=0x10 ]
    sent [IPCP ConfReq id=0x11 ]
    rcvd [IPCP ConfNak id=0x11 ]
    sent [IPCP ConfReq id=0x12 ]
    rcvd [IPCP ConfNak id=0x12 ]
    sent [IPCP ConfReq id=0x13 ]
    rcvd [IPCP ConfNak id=0x13 ]
    sent [IPCP ConfReq id=0x14 ]
    rcvd [IPCP ConfNak id=0x14 ]
    sent [IPCP ConfReq id=0x15 ]
    rcvd [IPCP ConfNak id=0x15 ]
    sent [IPCP ConfReq id=0x16 ]
    Modem hangup
    Connection terminated.

    Thank you in advance.

  48. Hi Saeed,
    I am able to have a successful session using NB-IOT, but facing problem when i switched over to CAT-M1. I unistall and reinstalled the ppp installer again.
    I am having a standard RPi adapter

    Please find the below output:
    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 iot.nb # (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)
    ^M
    OK
    — got it

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

    send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

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

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

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    BG96^M
    Revision: BG96MAR02A07M1G^M
    ^M
    SubEdition: V08^M
    ^M
    +CSQ: 25,99^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,4^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”iot.nb”,,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/chat-connect -T iot.nb finished (pid 806), status = 0x0
    Serial connection established.
    using channel 2
    Using interface ppp0
    Connect: ppp0 /dev/ttyS0
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x3 ]
    No auth is possible
    sent [LCP ConfRej id=0x3 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x4 ]
    sent [LCP ConfAck id=0x4 ]
    sent [LCP EchoReq id=0x0 magic=0x21bb9a3c]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x5 magic=0x3c61fd44]
    rcvd [LCP EchoRep id=0x0 magic=0x3c61fd44 21 bb 9a 3c]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [LCP EchoReq id=0x1 magic=0x21bb9a3c]
    IPCP: timeout sending Config-Requests
    sent [LCP TermReq id=0x2 “No network protocols running”]
    sent [LCP TermReq id=0x3 “No network protocols running”]
    Connection terminated.
    abort on (ERROR)
    abort on (NO DIALTONE)

    Sending break to the modem
    send (+++^M)
    send (+++^M)
    send (+++^M)

    Goodbye
    Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 815), status = 0x0
    Serial link disconnected.
    Modem hangup

    1. Hi Nadeem,

      Seems, the APN you have used is for NB-IoT, CAT.M1 might have different APN. Contact your network provider to confirm.

      1. Thanks for your reply Saeed.
        I tried with the different APN also and it gives the same behavior.
        With other module (other then BG96) the new APN which I tried is working fine.

        1. Just to add the info , now I am using APN: fast.t-mobile.com for CAT-M1 and observing the same behavior.

  49. I am not getting the correct response
    at+cops=?
    nothing
    at+creg
    0,2
    at+cops?
    +COPS: 0
    Looks like i am not able to get/scan the network using CAT-M1 .
    But the same thing works fine if i use NB-IOT.

    I even tried to change the band in the script file 0x4000000000(CM_BAND_PREF_LTE_EUTRAN_BAND39) LTE B39
    but then also the result is same.

    Please guide..This is the issue from BG96 side. I see no issue in the configuration. Dont know if we anything extra command.
    Since i am not able to scan any network operator, it will be BG96 issue only

  50. Failed to connect. I did this yesterday and it worked,

    [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/ttyUSB3 # (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 Phone # (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)
    ^M
    OK
    — got it

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

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

    send (AT+CGDCONT=1,”IP”,”Phone”,,0,0^M)
    expect (OK)
    ^M
    ^M
    ERROR
    — failed
    Failed (ERROR)
    Script chat -s -v -f /etc/chatscripts/chat-connect -T Phone finished (pid 980), status = 0x7
    Connect script failed

  51. Hi,

    I am using the Fabsix IoT shield.
    Three sim card UK with three.co.uk as apn.
    Going through the tutorial it finishes correctly and my rpi reboots but I have no internet connection ?

    When I try sudo poff and sudo pon. It gets stuck in
    ‘sent [IPCP ConfReq id=0x4b ]
    IPCP: timeout sending Config-Requests
    sent [LCP TermReq id=0x2 “No network protocols running”]
    sent [LCP TermReq id=0x3 “No network protocols running”]
    Connection terminated.
    abort on (ERROR)
    abort on (NO DIALTONE)

    Sending break to the modem
    send (+++^M)
    send (+++^M)
    send (+++^M)

    Goodbye
    Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 1085), status = 0x0
    Serial link disconnected.
    Modem hangup’

    Any help would be great.
    Thanks,
    Ash

      1. Hi Saeed,
        Here you go

        [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 Three.co.uk # (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)
        ^M
        OK
        — got it

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

        send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
        expect (OK)
        ^M
        ^M
        OK
        — got it

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

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

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

        send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
        expect (OK)
        ^M
        ^M
        Quectel^M
        BG96^M
        Revision: BG96MAR02A08M1G^M
        ^M
        SubEdition: V05^M
        ^M
        +CSQ: 99,99^M
        ^M
        +COPS: 0^M
        ^M
        +CGREG: 0,2^M
        ^M
        OK
        — got it

        send (AT+CGDCONT=1,”IP”,”Three.co.uk”,,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/chat-connect -T Three.co.uk finished (pid 1097), status = 0x0
        Serial connection established.
        using channel 4
        Using interface ppp0
        Connect: ppp0 /dev/ttyS0
        sent [LCP ConfReq id=0x1 ]
        rcvd [LCP ConfReq id=0x9 ]
        No auth is possible
        sent [LCP ConfRej id=0x9 ]
        rcvd [LCP ConfAck id=0x1 ]
        rcvd [LCP ConfReq id=0xa ]
        sent [LCP ConfAck id=0xa ]
        sent [LCP EchoReq id=0x0 magic=0xa5f12c18]
        sent [IPCP ConfReq id=0x1 ]
        rcvd [LCP DiscReq id=0xb magic=0xd0b190fc]
        rcvd [LCP EchoRep id=0x0 magic=0xd0b190fc a5 f1 2c 18]
        rcvd [IPCP ConfNak id=0x1 ]
        sent [IPCP ConfReq id=0x2 ]
        rcvd [IPCP ConfNak id=0x2 ]
        sent [IPCP ConfReq id=0x3 ]
        rcvd [IPCP ConfNak id=0x3 ]
        sent [IPCP ConfReq id=0x4 ]
        rcvd [IPCP ConfNak id=0x4 ]
        sent [IPCP ConfReq id=0x5 ]
        rcvd [IPCP ConfNak id=0x5 ]
        sent [IPCP ConfReq id=0x6 ]
        rcvd [IPCP ConfNak id=0x6 ]
        sent [IPCP ConfReq id=0x7 ]
        rcvd [IPCP ConfNak id=0x7 ]
        sent [IPCP ConfReq id=0x8 ]
        rcvd [IPCP ConfNak id=0x8 ]
        sent [IPCP ConfReq id=0x9 ]
        rcvd [IPCP ConfNak id=0x9 ]
        sent [IPCP ConfReq id=0xa ]
        rcvd [IPCP ConfNak id=0xa ]
        sent [IPCP ConfReq id=0xb ]
        rcvd [IPCP ConfNak id=0xb ]
        sent [IPCP ConfReq id=0xc ]
        rcvd [IPCP ConfNak id=0xc ]
        sent [IPCP ConfReq id=0xd ]
        rcvd [IPCP ConfNak id=0xd ]
        sent [IPCP ConfReq id=0xe ]
        rcvd [IPCP ConfNak id=0xe ]
        sent [IPCP ConfReq id=0xf ]
        rcvd [IPCP ConfNak id=0xf ]
        sent [IPCP ConfReq id=0x10 ]
        rcvd [IPCP ConfNak id=0x10 ]
        sent [IPCP ConfReq id=0x11 ]
        rcvd [IPCP ConfNak id=0x11 ]
        sent [IPCP ConfReq id=0x12 ]
        rcvd [IPCP ConfNak id=0x12 ]
        sent [IPCP ConfReq id=0x13 ]
        rcvd [IPCP ConfNak id=0x13 ]
        sent [IPCP ConfReq id=0x14 ]
        rcvd [IPCP ConfNak id=0x14 ]
        sent [IPCP ConfReq id=0x15 ]
        rcvd [IPCP ConfNak id=0x15 ]
        sent [IPCP ConfReq id=0x16 ]
        rcvd [IPCP ConfNak id=0x16 ]
        sent [IPCP ConfReq id=0x17 ]
        rcvd [IPCP ConfNak id=0x17 ]
        sent [IPCP ConfReq id=0x18 ]
        rcvd [IPCP ConfNak id=0x18 ]
        sent [IPCP ConfReq id=0x19 ]
        rcvd [IPCP ConfNak id=0x19 ]
        sent [IPCP ConfReq id=0x1a ]
        rcvd [IPCP ConfNak id=0x1a ]
        sent [IPCP ConfReq id=0x1b ]
        rcvd [IPCP ConfNak id=0x1b ]
        sent [IPCP ConfReq id=0x1c ]
        rcvd [IPCP ConfNak id=0x1c ]
        sent [IPCP ConfReq id=0x1d ]
        rcvd [IPCP ConfNak id=0x1d ]
        sent [IPCP ConfReq id=0x1e ]
        sent [LCP EchoReq id=0x1 magic=0xa5f12c18]
        rcvd [LCP EchoRep id=0x1 magic=0xd0b190fc a5 f1 2c 18]
        rcvd [IPCP ConfNak id=0x1e ]
        sent [IPCP ConfReq id=0x1f ]
        rcvd [IPCP ConfNak id=0x1f ]
        sent [IPCP ConfReq id=0x20 ]
        rcvd [IPCP ConfNak id=0x20 ]
        sent [IPCP ConfReq id=0x21 ]
        rcvd [IPCP ConfNak id=0x21 ]
        sent [IPCP ConfReq id=0x22 ]
        rcvd [IPCP ConfNak id=0x22 ]
        sent [IPCP ConfReq id=0x23 ]
        rcvd [IPCP ConfNak id=0x23 ]
        sent [IPCP ConfReq id=0x24 ]
        rcvd [IPCP ConfNak id=0x24 ]
        sent [IPCP ConfReq id=0x25 ]
        rcvd [IPCP ConfNak id=0x25 ]
        sent [IPCP ConfReq id=0x26 ]
        rcvd [IPCP ConfNak id=0x26 ]
        sent [IPCP ConfReq id=0x27 ]
        rcvd [IPCP ConfNak id=0x27 ]
        sent [IPCP ConfReq id=0x28 ]
        rcvd [IPCP ConfNak id=0x28 ]
        sent [IPCP ConfReq id=0x29 ]
        rcvd [IPCP ConfNak id=0x29 ]
        sent [IPCP ConfReq id=0x2a ]
        rcvd [IPCP ConfNak id=0x2a ]
        sent [IPCP ConfReq id=0x2b ]
        rcvd [IPCP ConfNak id=0x2b ]
        sent [IPCP ConfReq id=0x2c ]
        rcvd [IPCP ConfNak id=0x2c ]
        sent [IPCP ConfReq id=0x2d ]
        rcvd [IPCP ConfNak id=0x2d ]
        sent [IPCP ConfReq id=0x2e ]
        rcvd [IPCP ConfNak id=0x2e ]
        sent [IPCP ConfReq id=0x2f ]
        rcvd [IPCP ConfNak id=0x2f ]
        sent [IPCP ConfReq id=0x30 ]
        rcvd [IPCP ConfNak id=0x30 ]
        sent [IPCP ConfReq id=0x31 ]
        rcvd [IPCP ConfNak id=0x31 ]
        sent [IPCP ConfReq id=0x32 ]
        rcvd [IPCP ConfNak id=0x32 ]
        sent [IPCP ConfReq id=0x33 ]
        rcvd [IPCP ConfNak id=0x33 ]
        sent [IPCP ConfReq id=0x34 ]
        rcvd [IPCP ConfNak id=0x34 ]
        sent [IPCP ConfReq id=0x35 ]
        rcvd [IPCP ConfNak id=0x35 ]
        sent [IPCP ConfReq id=0x36 ]
        rcvd [IPCP ConfNak id=0x36 ]
        sent [IPCP ConfReq id=0x37 ]
        rcvd [IPCP ConfNak id=0x37 ]
        sent [IPCP ConfReq id=0x38 ]
        rcvd [IPCP ConfNak id=0x38 ]
        sent [IPCP ConfReq id=0x39 ]
        rcvd [IPCP ConfNak id=0x39 ]
        sent [IPCP ConfReq id=0x3a ]
        rcvd [IPCP ConfNak id=0x3a ]
        sent [IPCP ConfReq id=0x3b ]
        rcvd [IPCP ConfNak id=0x3b ]
        sent [IPCP ConfReq id=0x3c ]
        sent [LCP EchoReq id=0x2 magic=0xa5f12c18]
        rcvd [LCP EchoRep id=0x2 magic=0xd0b190fc a5 f1 2c 18]
        rcvd [IPCP ConfNak id=0x3c ]
        sent [IPCP ConfReq id=0x3d ]
        rcvd [IPCP ConfNak id=0x3d ]
        sent [IPCP ConfReq id=0x3e ]
        rcvd [IPCP ConfNak id=0x3e ]
        sent [IPCP ConfReq id=0x3f ]
        rcvd [IPCP ConfNak id=0x3f ]
        sent [IPCP ConfReq id=0x40 ]
        rcvd [IPCP ConfNak id=0x40 ]
        sent [IPCP ConfReq id=0x41 ]
        rcvd [IPCP ConfNak id=0x41 ]
        sent [IPCP ConfReq id=0x42 ]
        rcvd [IPCP ConfNak id=0x42 ]
        sent [IPCP ConfReq id=0x43 ]
        rcvd [IPCP ConfNak id=0x43 ]
        sent [IPCP ConfReq id=0x44 ]
        rcvd [IPCP ConfNak id=0x44 ]
        sent [IPCP ConfReq id=0x45 ]
        rcvd [IPCP ConfNak id=0x45 ]
        sent [IPCP ConfReq id=0x46 ]
        rcvd [IPCP ConfNak id=0x46 ]
        sent [IPCP ConfReq id=0x47 ]
        rcvd [IPCP ConfNak id=0x47 ]
        sent [IPCP ConfReq id=0x48 ]
        rcvd [IPCP ConfNak id=0x48 ]
        sent [IPCP ConfReq id=0x49 ]
        rcvd [IPCP ConfNak id=0x49 ]
        sent [IPCP ConfReq id=0x4a ]
        rcvd [IPCP ConfNak id=0x4a ]
        sent [IPCP ConfReq id=0x4b ]
        rcvd [IPCP ConfNak id=0x4b ]
        sent [IPCP ConfReq id=0x4c ]
        sent [IPCP ConfReq id=0x4c ]
        sent [IPCP ConfReq id=0x4c ]
        sent [IPCP ConfReq id=0x4c ]
        sent [IPCP ConfReq id=0x4c ]
        sent [LCP EchoReq id=0x3 magic=0xa5f12c18]
        sent [IPCP ConfReq id=0x4c ]
        sent [IPCP ConfReq id=0x4c ]
        sent [IPCP ConfReq id=0x4c ]
        sent [IPCP ConfReq id=0x4c ]
        sent [IPCP ConfReq id=0x4c ]
        IPCP: timeout sending Config-Requests
        sent [LCP TermReq id=0x2 “No network protocols running”]
        sent [LCP TermReq id=0x3 “No network protocols running”]
        Connection terminated.
        abort on (ERROR)
        abort on (NO DIALTONE)

        Sending break to the modem
        send (+++^M)
        send (+++^M)
        send (+++^M)

        Goodbye
        Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 1228), status = 0x0
        Serial link disconnected.
        Modem hangup

        Cheers

  52. Hi Saeed,

    Thank you for the clarification.
    I do have another sim card provided by wireless logic. It allows me to connect to any sim network provided I use the correct APN settings.

    If I choose an APN from a sim providor who supports the BG96 band modules, I could get the IoT hat running ?

    Cheers,

  53. Hi again Saeed,

    I’ve now purchased the RPi 4G/LTE kit!
    Using the appropriate module now and running sudo pon it still stops halfway through.

    Anymore advice on this?
    Here is the 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/ttyUSB3 # (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 three.co.uk # (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)
    ^M
    OK
    — got it

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

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

    send (AT+CGDCONT=1,”IP”,”three.co.uk”,,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/chat-connect -T three.co.uk finished (pid 1231), status = 0x0
    Serial connection established.
    using channel 4
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x2d ]
    No auth is possible
    sent [LCP ConfRej id=0x2d ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x2e ]
    sent [LCP ConfAck id=0x2e ]
    sent [LCP EchoReq id=0x0 magic=0xb6f97e73]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x2f magic=0xd11983ae]
    rcvd [LCP EchoRep id=0x0 magic=0xd11983ae b6 f9 7e 73]
    rcvd [IPCP ConfNak id=0x1 ]
    sent [IPCP ConfReq id=0x2 ]
    rcvd [IPCP ConfNak id=0x2 ]
    sent [IPCP ConfReq id=0x3 ]
    sent [IPCP ConfReq id=0x3 ]
    rcvd [IPCP ConfNak id=0x3 ]
    sent [IPCP ConfReq id=0x4 ]
    rcvd [IPCP ConfNak id=0x4 ]
    sent [IPCP ConfReq id=0x5 ]
    rcvd [IPCP ConfNak id=0x5 ]
    sent [IPCP ConfReq id=0x6 ]
    rcvd [IPCP ConfNak id=0x6 ]
    sent [IPCP ConfReq id=0x7 ]
    sent [LCP EchoReq id=0x1 magic=0xb6f97e73]
    rcvd [LCP EchoRep id=0x1 magic=0xd11983ae b6 f9 7e 73]
    rcvd [IPCP ConfNak id=0x7 ]
    sent [IPCP ConfReq id=0x8 ]
    rcvd [IPCP ConfNak id=0x8 ]
    sent [IPCP ConfReq id=0x9 ]
    rcvd [IPCP ConfNak id=0x9 ]
    sent [IPCP ConfReq id=0xa ]
    rcvd [IPCP ConfNak id=0xa ]
    sent [IPCP ConfReq id=0xb ]
    rcvd [IPCP ConfNak id=0xb ]
    sent [IPCP ConfReq id=0xc ]
    rcvd [IPCP ConfNak id=0xc ]
    sent [IPCP ConfReq id=0xd ]
    rcvd [IPCP ConfNak id=0xd ]
    sent [IPCP ConfReq id=0xe ]
    rcvd [IPCP ConfNak id=0xe ]
    sent [IPCP ConfReq id=0xf ]
    rcvd [IPCP ConfNak id=0xf ]
    sent [IPCP ConfReq id=0x10 ]
    rcvd [IPCP ConfNak id=0x10 ]
    sent [IPCP ConfReq id=0x11 ]
    rcvd [IPCP ConfNak id=0x11 ]
    sent [IPCP ConfReq id=0x12 ]
    rcvd [IPCP ConfNak id=0x12 ]
    sent [IPCP ConfReq id=0x13 ]
    rcvd [IPCP ConfNak id=0x13 ]
    sent [IPCP ConfReq id=0x14 ]
    rcvd [IPCP ConfNak id=0x14 ]
    sent [IPCP ConfReq id=0x15 ]
    rcvd [IPCP ConfNak id=0x15 ]
    sent [IPCP ConfReq id=0x16 ]
    rcvd [IPCP ConfNak id=0x16 ]
    sent [IPCP ConfReq id=0x17 ]
    rcvd [IPCP ConfNak id=0x17 ]
    sent [IPCP ConfReq id=0x18 ]
    rcvd [IPCP ConfNak id=0x18 ]
    sent [IPCP ConfReq id=0x19 ]
    rcvd [IPCP ConfNak id=0x19 ]
    sent [IPCP ConfReq id=0x1a ]
    rcvd [IPCP ConfNak id=0x1a ]
    sent [IPCP ConfReq id=0x1b ]
    rcvd [IPCP ConfNak id=0x1b ]
    sent [IPCP ConfReq id=0x1c ]
    rcvd [IPCP ConfNak id=0x1c ]
    sent [IPCP ConfReq id=0x1d ]
    rcvd [IPCP ConfNak id=0x1d ]
    sent [IPCP ConfReq id=0x1e ]
    rcvd [IPCP ConfNak id=0x1e ]
    sent [IPCP ConfReq id=0x1f ]
    rcvd [IPCP ConfNak id=0x1f ]
    sent [IPCP ConfReq id=0x20 ]
    rcvd [IPCP ConfNak id=0x20 ]
    sent [IPCP ConfReq id=0x21 ]
    rcvd [IPCP ConfNak id=0x21 ]
    sent [IPCP ConfReq id=0x22 ]
    rcvd [IPCP ConfNak id=0x22 ]
    sent [IPCP ConfReq id=0x23 ]
    rcvd [IPCP ConfNak id=0x23 ]
    sent [IPCP ConfReq id=0x24 ]
    rcvd [IPCP ConfNak id=0x24 ]
    sent [IPCP ConfReq id=0x25 ]
    sent [LCP EchoReq id=0x2 magic=0xb6f97e73]
    rcvd [LCP EchoRep id=0x2 magic=0xd11983ae b6 f9 7e 73]
    rcvd [IPCP ConfNak id=0x25 ]
    sent [IPCP ConfReq id=0x26 ]
    rcvd [IPCP ConfNak id=0x26 ]
    sent [IPCP ConfReq id=0x27 ]
    rcvd [IPCP ConfNak id=0x27 ]
    sent [IPCP ConfReq id=0x28 ]
    rcvd [IPCP ConfNak id=0x28 ]
    sent [IPCP ConfReq id=0x29 ]
    rcvd [IPCP ConfNak id=0x29 ]
    sent [IPCP ConfReq id=0x2a ]
    rcvd [IPCP ConfNak id=0x2a ]
    sent [IPCP ConfReq id=0x2b ]
    rcvd [IPCP ConfNak id=0x2b ]
    sent [IPCP ConfReq id=0x2c ]
    rcvd [IPCP ConfNak id=0x2c ]
    sent [IPCP ConfReq id=0x2d ]
    rcvd [IPCP ConfNak id=0x2d ]
    sent [IPCP ConfReq id=0x2e ]
    rcvd [IPCP ConfNak id=0x2e ]
    sent [IPCP ConfReq id=0x2f ]
    rcvd [IPCP ConfNak id=0x2f ]
    sent [IPCP ConfReq id=0x30 ]
    rcvd [IPCP ConfNak id=0x30 ]
    sent [IPCP ConfReq id=0x31 ]
    rcvd [IPCP ConfNak id=0x31 ]
    sent [IPCP ConfReq id=0x32 ]
    rcvd [IPCP ConfNak id=0x32 ]
    sent [IPCP ConfReq id=0x33 ]
    rcvd [IPCP ConfNak id=0x33 ]
    sent [IPCP ConfReq id=0x34 ]
    rcvd [IPCP ConfNak id=0x34 ]
    sent [IPCP ConfReq id=0x35 ]
    rcvd [IPCP ConfNak id=0x35 ]
    sent [IPCP ConfReq id=0x36 ]
    rcvd [IPCP ConfNak id=0x36 ]
    sent [IPCP ConfReq id=0x37 ]
    rcvd [IPCP ConfNak id=0x37 ]
    sent [IPCP ConfReq id=0x38 ]
    rcvd [IPCP ConfNak id=0x38 ]
    sent [IPCP ConfReq id=0x39 ]
    rcvd [IPCP ConfNak id=0x39 ]
    sent [IPCP ConfReq id=0x3a ]
    rcvd [IPCP ConfNak id=0x3a ]
    sent [IPCP ConfReq id=0x3b ]
    rcvd [IPCP ConfNak id=0x3b ]
    sent [IPCP ConfReq id=0x3c ]
    rcvd [IPCP ConfNak id=0x3c ]
    sent [IPCP ConfReq id=0x3d ]
    rcvd [IPCP ConfNak id=0x3d ]
    sent [IPCP ConfReq id=0x3e ]
    rcvd [IPCP ConfNak id=0x3e ]
    sent [IPCP ConfReq id=0x3f ]
    rcvd [IPCP ConfNak id=0x3f ]
    sent [IPCP ConfReq id=0x40 ]
    rcvd [IPCP ConfNak id=0x40 ]
    sent [IPCP ConfReq id=0x41 ]
    rcvd [IPCP ConfNak id=0x41 ]
    sent [IPCP ConfReq id=0x42 ]
    rcvd [IPCP ConfNak id=0x42 ]
    sent [IPCP ConfReq id=0x43 ]
    sent [LCP EchoReq id=0x3 magic=0xb6f97e73]
    rcvd [LCP EchoRep id=0x3 magic=0xd11983ae b6 f9 7e 73]
    rcvd [IPCP ConfNak id=0x43 ]
    sent [IPCP ConfReq id=0x44 ]
    rcvd [IPCP ConfNak id=0x44 ]
    sent [IPCP ConfReq id=0x45 ]
    rcvd [IPCP ConfNak id=0x45 ]
    sent [IPCP ConfReq id=0x46 ]
    rcvd [IPCP ConfNak id=0x46 ]
    sent [IPCP ConfReq id=0x47 ]
    rcvd [IPCP ConfNak id=0x47 ]
    sent [IPCP ConfReq id=0x48 ]
    rcvd [IPCP ConfNak id=0x48 ]
    sent [IPCP ConfReq id=0x49 ]
    rcvd [IPCP ConfNak id=0x49 ]
    sent [IPCP ConfReq id=0x4a ]
    rcvd [IPCP ConfNak id=0x4a ]
    sent [IPCP ConfReq id=0x4b ]
    rcvd [IPCP ConfNak id=0x4b ]
    sent [IPCP ConfReq id=0x4c ]
    rcvd [IPCP ConfNak id=0x4c ]
    sent [IPCP ConfReq id=0x4d ]
    rcvd [IPCP ConfNak id=0x4d ]
    sent [IPCP ConfReq id=0x4e ]
    rcvd [IPCP ConfNak id=0x4e ]
    sent [IPCP ConfReq id=0x4f ]
    rcvd [IPCP ConfNak id=0x4f ]
    sent [IPCP ConfReq id=0x50 ]
    rcvd [IPCP ConfNak id=0x50 ]
    sent [IPCP ConfReq id=0x51 ]
    rcvd [IPCP ConfNak id=0x51 ]
    sent [IPCP ConfReq id=0x52 ]
    rcvd [IPCP ConfNak id=0x52 ]
    sent [IPCP ConfReq id=0x53 ]
    rcvd [IPCP ConfNak id=0x53 ]
    sent [IPCP ConfReq id=0x54 ]
    rcvd [IPCP ConfNak id=0x54 ]
    sent [IPCP ConfReq id=0x55 ]
    rcvd [IPCP ConfNak id=0x55 ]
    sent [IPCP ConfReq id=0x56 ]
    rcvd [IPCP ConfNak id=0x56 ]
    sent [IPCP ConfReq id=0x57 ]
    rcvd [IPCP ConfNak id=0x57 ]
    sent [IPCP ConfReq id=0x58 ]
    rcvd [IPCP ConfNak id=0x58 ]
    sent [IPCP ConfReq id=0x59 ]
    rcvd [IPCP ConfNak id=0x59 ]
    sent [IPCP ConfReq id=0x5a ]
    rcvd [IPCP ConfNak id=0x5a ]
    sent [IPCP ConfReq id=0x5b ]
    rcvd [IPCP ConfNak id=0x5b ]
    sent [IPCP ConfReq id=0x5c ]
    rcvd [IPCP ConfNak id=0x5c ]
    sent [IPCP ConfReq id=0x5d ]
    rcvd [IPCP ConfNak id=0x5d ]
    sent [IPCP ConfReq id=0x5e ]
    rcvd [IPCP ConfNak id=0x5e ]
    sent [IPCP ConfReq id=0x5f ]
    rcvd [IPCP ConfNak id=0x5f ]
    sent [IPCP ConfReq id=0x60 ]
    sent [LCP EchoReq id=0x4 magic=0xb6f97e73]
    rcvd [LCP EchoRep id=0x4 magic=0xd11983ae b6 f9 7e 73]
    rcvd [IPCP ConfNak id=0x60 ]
    sent [IPCP ConfReq id=0x61 ]
    rcvd [IPCP ConfNak id=0x61 ]
    sent [IPCP ConfReq id=0x62 ]
    rcvd [IPCP ConfNak id=0x62 ]
    sent [IPCP ConfReq id=0x63 ]
    rcvd [IPCP ConfNak id=0x63 ]
    sent [IPCP ConfReq id=0x64 ]
    rcvd [IPCP ConfNak id=0x64 ]
    sent [IPCP ConfReq id=0x65 ]
    rcvd [IPCP ConfNak id=0x65 ]
    sent [IPCP ConfReq id=0x66 ]
    Modem hangup
    Connection terminated.

    Cheers,
    Ash

    1. Hello Ashish,

      Could you please check the response of the following AT commands?
      AT+CPIN?
      AT+CGREG?
      AT+COPS?
      AT+QCSQ
      AT+CSQ

      You can use minicom -D /dev/ttyUSB2 -b 115200 to send AT commands

      1. Hi,
        I have tried it in 3 different sim cards.

        Sim 1 (Three UK):
        AT+CPIN?
        +CPIN: READY
        OK

        AT+CGREG?
        +CGREG: 0,2
        OK

        AT+COPS?
        +COPS: 0
        OK

        AT+QCSQ
        +QCSQ: “WCDMA”,96,-97,-6
        OK

        AT+CSQ
        +CSQ: 9,99
        OK
        ===============================
        Sim 2 (Wireless Logic):

        AT+CPIN?
        +CME ERROR: 13

        AT+CGREG?
        +CGREG: 0,0
        OK

        AT+COPS?
        +COPS: 2
        OK

        AT+QCSQ
        +QCSQ: “WCDMA”,84,-83,-4
        OK

        AT+CSQ
        +CSQ: 15,99
        OK

        ===============================
        Sim 3 (Three Uk):

        AT+CPIN?
        +CME ERROR: 13

        AT+CGREG?
        +CGREG: 0,0
        OK

        AT+COPS?
        +COPS: 2
        OK

        AT+QCSQ
        +QCSQ: “WCDMA”,90,-88,-5
        OK

        AT+CSQ
        +CSQ: 12,99
        OK

        Cheers,
        Ash

        1. Here,
          +CGREG: 0,2 / +CGREG: 0,0
          indicates the module is not registered to the network yet.

          You have to wait for +CGREG: 0,1
          Could you please try to issue AT+CGATT? and AT+CGATT=1 to force GPRS to connect

  54. Hi,

    AT+CGATT?
    +CGATT: 0
    OK

    but for AT+CGATT=1
    I get “Error” returns. If I keep trying it, I sometimes get a “CME Error 30”. Which I believe means no network service?

  55. Hi,
    I have an RPi 3+ with 2.5 amp adaptor and the Pi IOT HAT. I installed your ppp, enabled Serial and disabled the login shell.

    Getting Device ttyS0 is locked by pid 1566

    [email protected]:~ $ ifconfig ppp0
    ppp0: error fetching interface information: Device not found

    What am I doing wrong? Looks like Constantin has same problem above.

    [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 em # (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)
    Device ttyS0 is locked by pid 1566

    1. Getting Device ttyS0 is locked by pid xxxx

      You might have installed the reconnect service. For the time being, you can stop it till rebooting RPi or restarting the service manually => sudo systemctl stop reconnect.service

      Is your HAT powered up? How are the LED behaving?

      Now try sudo pon

  56. I have tried the
    ‘sudo route del default
    sudo route add default ppp0’
    but it does nothing.
    I just keep getting this.
    /usr/sbin/pppd: The remote system (3gppp) is required to authenticate itself
    /usr/sbin/pppd: but I couldn’t find any suitable secret (password) for it to use to do so.

    I at least know that apn should be correct, but is the password same as pin number?
    And I can’t find any info about any username to enter from my provider.

    I have tested enabling noauth and then it tries to connect but gets terminated.

      1. So I have done some more testing AND checking the auth.
        My ISP does not have auth.
        I did double check when having sim in my phone that APN is correct.
        So I think I just need to know how to enter pin code (for the sim card) into the config, if this program supports it.

        Here is the output from terminal when I run ‘sudo pon’ https://pastebin.com/71My8iM4

        (I can see the wwan0 connection in ifconfig, so i’m guessing the installation is ok.)
        Also would like to know how to remove it (the software)? If I want to re-install for example.

          1. Ok.
            Well I gave trying to use ppp, can’t get it to work since whatever I try.

            So I tested QMI interface instead and it worked on first attempt!
            But thnx for at least trying to help me. 🙂

          2. I have the same problem as Emil, I´ve check with the provider and mi ISP doesn´t have auth. I´ve already check all the stuff (power, sinal led green, etc). When I enter “sudo pon” in the terminal I get this message:
            /usr/sbin/pppd: The remote system (3gppp) is required to authenticate itself
            /usr/sbin/pppd: but I couldn’t find any suitable secret (password) for it to use to do so.
            I´ve already tried to reinstall the script several times but the problem remains ¿What should I do?

  57. Hi again,

    I purchased 2 IOT HATs, using with Pi 3+ have enabled serial, i2C, disable login over serial, my APN is em, no username or password required.
    Adaptor is 2.5 amp.

    Sometimes ttyS0 shows as being locked so I delete the LCK file in /var/lock

    Here my log:

    [email protected]:/var/lock $ 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 em # (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)
    alarm
    Failed
    Script chat -s -v -f /etc/chatscripts/chat-connect -T em finished (pid 4315), status = 0x3
    Connect script failed

      1. Hi Saeed,

        Thank you for the reply.

        I have ttyUSB3 configure now.

        When I use sudo pon I get script failed.

        When I use minicom with ttyUSB3 and type the AT commands that are contained in chat-connect I get CONNECT 1500000

        I can see that my global SIM connects to all 3 networks, but the ppp connection fails:

        5277613985 a minute ago INFO Update GPRS location New location received from SGSN for IMSI=’295050999818673′, now attached to SGSN=’1403408.01.mmecb9.mmegid6d8.mme.epc.mnc610.mcc302.3gppnetwork.org’, IP=’0.0.0.0′. Bell Canada
        5277613856 a minute ago INFO Update location New location received from VLR for IMSI=’295050999818673′, now attached to VLR=’16473830002′. Bell Canada
        5277613487 a minute ago INFO Update GPRS location New location received from SGSN for IMSI=’295050999818673′, now attached to SGSN=’1403408.01.mmecb9.mmegid6d8.mme.epc.mnc610.mcc302.3gppnetwork.org’, IP=’0.0.0.0′. Bell Canada
        5277606166 2 minutes ago INFO Update GPRS location New location received from SGSN for IMSI=’295050999818673′, now attached to SGSN=’1514992.mmedsr07.node.epc.mnc720.mcc302.3gppnetwork.org’, IP=’0.0.0.0′. Rogers Wireless Canada
        5277605948 2 minutes ago INFO Update location New location received from VLR for IMSI=’295050999818673′, now attached to VLR=’17057969810′. Rogers Wireless Canada
        5277605556 2 minutes ago INFO Update GPRS location New location received from SGSN for IMSI=’295050999818673′, now attached to SGSN=’1514992.mmedsr07.node.epc.mnc720.mcc302.3gppnetwork.org’, IP=’0.0.0.0′. Rogers Wireless Canada
        5277587145 4 minutes ago INFO Update GPRS location New location received from SGSN for IMSI=’295050999818673′, now attached to SGSN=’1778580.mmec60.mmegi5209.epc.mnc220.mcc302.3gppnetwork.org’, IP=’0.0.0.0′. TELUS Canada
        5277586997 4 minutes ago INFO Update location New location received from VLR for IMSI=’295050999818673′, now attached to VLR=’16478500140′. TELUS Canada
        5277586492 4 minutes ago INFO Update GPRS location New location received from SGSN for IMSI=’295050999818673′, now attached to SGSN=’1778580.mmec60.mmegi5209.epc.mnc220.mcc302.3gppnetwork.org’, IP=’0.0.0.0′. TELUS Canada

        What is wrong?

        Thank you

  58. Using “Raspberry Pi 3G-4G/LTE Base Shield V2” let’s say, would I have required internet connection on my raspberry pi to connect to it via teamviewer?
    If yes, what sort of extra programming would I need to make it work?

    1. The aim of Raspberry Pi 3G, 4G/LTE Base Shield is to provide internet connection for your Raspberry Pi. You can connect to teamviewer using the 4G connection.

  59. my sudo pon output:
    [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/ttyUSB3 # (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 em # (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)
    — write timed out
    Failed
    Script chat -s -v -f /etc/chatscripts/chat-connect -T em finished (pid 2188), status = 0x1
    Connect script failed

    1. It happens when your device is already running.
      Do you have auto activated reconnect? If yes, check ifconfig ppp0 it might be already connected.

    2. I had the same problem. You can also go into /var/lock directory, do ls and you probably see LCK..ttyUSB3 lock file.
      You can remove the lock file which will allow you access to ttyUSB3.
      I found that if I used minicom with ttyUSB3 to pass AT commands to the HAT and exited correctly, the lock file would still be in place

      For those using a Pi 3 with this HAT, the Pi uses TTYAMO for Bluetooth, ttyS0 for console. Plug in the HAT USB to Pi USB, select USB3 as your interface.

      Also, you need to edit the demo code to use ttyUSB3 and not ttyS0.

  60. Hi Saeed,

    I have the Raspberry Pi 4G/LTE Shield Kit. with a T-Mobile sim. ATN: fast.t-mobile.com

    I have run sudo route del default and sudo route add default ppp0.

    sudo pon output is this:
    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/ttyUSB3 # (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 fast.t-mobile.com # (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)
    ^M
    OK
    — got it

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    EC25^M
    Revision: EC25AFAR05A04M4G^M
    ^M
    SubEdition: V06^M
    ^M
    +CSQ: 20,99^M
    ^M
    +COPS: 0,0,”T-Mobile”,7^M
    ^M
    +CGREG: 0,1^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”fast.t-mobile.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/chat-connect -T fast.t-mobile.com finished (pid 1387), status = 0x0
    Serial connection established.
    using channel 2
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x1c ]
    No auth is possible
    sent [LCP ConfRej id=0x1c ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x1d ]
    sent [LCP ConfAck id=0x1d ]
    sent [LCP EchoReq id=0x0 magic=0x5c738eb]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x1e magic=0x1aafb7ef]
    rcvd [LCP EchoRep id=0x0 magic=0x1aafb7ef 05 c7 38 eb]
    rcvd [IPCP ConfReq id=0x12]
    sent [IPCP ConfNak id=0x12 ]
    rcvd [IPCP ConfNak id=0x1 ]
    sent [IPCP ConfReq id=0x2 ]
    rcvd [IPCP ConfReq id=0x13]
    sent [IPCP ConfAck id=0x13]
    rcvd [IPCP ConfAck id=0x2 ]
    Could not determine remote IP address: defaulting to 10.64.64.64
    not replacing default route to wlan0 [172.16.0.1]
    local IP address 6.32.11.196
    remote IP address 10.64.64.64
    primary DNS address 10.177.0.34
    secondary DNS address 10.177.0.210

    Any ideas what’s wrong?

    Thank you,
    Ryan

  61. Hello,

    I am trying to connect the Raspberry Pi Cellular IoT to ATT network.

    Can some one help?

    when I try to run
    [email protected]:~ $ sudo route add default ppp0
    SIOCADDRT: Network is down

    and when I run, I get this

    [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 broadband # (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)
    ^M
    OK
    — got it

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

    send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

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

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

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    BG96^M
    Revision: BG96MAR02A07M1G^M
    ^M
    SubEdition: V08^M
    ^M
    +CSQ: 99,99^M
    ^M
    +COPS: 1^M
    ^M
    +CGREG: 0,4^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”broadband”,,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/chat-connect -T broadband finished (pid 1527), status = 0x0
    Serial connection established.
    using channel 6
    Using interface ppp0
    Connect: ppp0 /dev/ttyS0
    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=0x86825bed]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x11 magic=0xd0876b00]
    rcvd [LCP EchoRep id=0x0 magic=0xd0876b00 86 82 5b ed]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [LCP EchoReq id=0x1 magic=0x86825bed]
    IPCP: timeout sending Config-Requests
    sent [LCP TermReq id=0x2 “No network protocols running”]
    sent [LCP TermReq id=0x3 “No network protocols running”]
    Connection terminated.
    abort on (ERROR)
    abort on (NO DIALTONE)

    Sending break to the modem
    send (+++^M)
    send (+++^M)
    send (+++^M)

    Goodbye
    Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 1591), status = 0x0
    Serial link disconnected.
    Modem hangup

      1. Hello Saeed,

        Thanks for your response. So if I switch to edge it should work? ATT by defult should have access to edge?

        Thanks

      2. Hello Saeed,

        I changed to GSM/EDGE so now to log runs for a while and then timesout. I also tried to run
        [email protected]:~ $ sudo route add default ppp0

        I still get.
        SIOCADDRT: Network is down
        I am not sure how to tell that it actually connected?

        Thank you,

        Daniel

          1. When I do ifconfig I don’t see ppp0 but if I specifically say ifconfig ppp0, I do see it and I can see TX/RX data counters increment.

  62. Hi Saeed, What are the W_DISABLE pin and PERST_PIN useful for? I am trying to turn off and turn back on the shield via Raspberry Pi, and was wondering if the DISABLE pin could be used for that. The problem is if I reboot the Pi, it doesn’t actually reboot the shield, I want to be able to power cycle it as well. What can I do? Thanks.

    1. W_DISABLE pin is used to turn Airplane Mode on the module, by pulling it HIGH. (it will not work unless you activate it by AT+QCFG=”airplanecontrol”,1).
      PERST pin is used to hardware reset the module, by pulling it HIGH. (You can pull this pin to HIGH then LOW in order to reset the module.)

  63. Hello. Hoping someone can help me. I am getting a Error with status 0x7. I have my antenna plugged into the 1st and 3rd spots, and am using ubuntu.

    Here is my log:

    [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/ttyUSB3 # (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 sp.telus.com # (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)
    ^M
    OK
    — got it

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

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

    send (AT+CGDCONT=1,”IP”,”sp.telus.com”,,0,0^M)
    expect (OK)
    ^M
    ^M
    ERROR
    — failed
    Failed (ERROR)
    Script chat -s -v -f /etc/chatscripts/chat-connect -T sp.telus.com finished (pid 12345), status = 0x7
    Connect script failed

  64. Hello Saeed,
    I’m having a little bit of trouble with the GSM/GPRS Shield. When I try using it via AT commands I get the Error that the SIM card is not connected although the card seems to be connected just fine. Sometimes “at+cpin?” returns “READY” when it is the first time that I enter it and any subsequent it returns Error 10 / SIM not inserted! Any idea where this might come from?
    regards, Ting

      1. Thanks for the tip! I “re-soldered” the connector from the SIM card adapter to the board and it seems to have fixed the problem!
        Many thanks!

  65. Hi
    I purchased the following device and connected it to RaspberryPi4
    https://sixfab.com/product/raspberry-pi-cellular-iot-application-hat/
    In the beginning it all worked out (I used ttyUSB3 as interface to enhance the speed, using CAT-M SIM) but from some reason it start creating issues
    I restarted the installation using teh guidlines from here: https://sixfab.com/ppp-installer-for-sixfab-shield/
    When i perform sudo ppon I get the following plot
    [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/ttyUSB3 # (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 internet.curiosity.sprint.com # (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)
    ^M
    OK
    — got it

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

    send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

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

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

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    BG96^M
    Revision: BG96MAR02A10M1G^M
    ^M
    SubEdition: V04^M
    ^M
    +CSQ: 31,99^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,4^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”internet.curiosity.sprint.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/chat-connect -T internet.curiosity.sprint.com finished (pid 1536), status = 0x0
    Serial connection established.
    using channel 6
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x30 ]
    No auth is possible
    sent [LCP ConfRej id=0x30 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x31 ]
    sent [LCP ConfAck id=0x31 ]
    sent [LCP EchoReq id=0x0 magic=0x31bde17]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x32 magic=0xd088f501]
    rcvd [LCP EchoRep id=0x0 magic=0xd088f501 03 1b de 17]
    Modem hangup
    Connection terminated.

    I tried to use the commands
    sudo route del default
    sudo route add default ppp0
    After writing the second command i got the message
    SIOCADDRT: No such device
    Can you advice?

    1. Hello,
      It seems an issue with the operator. Did you try with the same operator before?
      Could you please contact your service provider?

  66. Hello Saeed,
    I am having trouble having the PPP and the GPS working simultaneously with RPI3B+. I am at the latest raspbian image which ships with the kernel 4.19.57-v7+.
    I followed the instructions above and make the ppp running correctly however the GPS tracking does not work. Connecting to ttyUSB2 with minicom I am able to set the AT+QGPS=1 command and it returns OK however, reading from ttyUSB1 does not print anything.
    I also upgraded the kernel and firmware to the latest supported version (4.19.66-v7+) but I am having the same problem.
    Any help is appreciated, Thanks!!!

    1. It turned out that everything works as expended if I power cycle the raspberry and the shield. If I just do a soft reboot sudo shutdown -r now / sudo reboot of the raspberry it seems that ttyUSB1does not recover while ttyUSB2 still works

  67. Hello,
    I followed the instructions correctly for option 2. (Raspberry Pi 3 Model B) and I choose Autoconnect as Y. Anyways, when running “sudo pon” it shows: /usr/sbin/pppd: In file /etc/ppp/peers/provider: unrecognized option ‘/dev/ttyUSB3’.

    Red Led for power is on but SGNL is off.

  68. Hi, I’m having trouble connecting using the following components:
    Raspberry Pi 3 B+
    3G/4G/LTE Base Shield V2
    Quectel EC25-E Mini PCle 4G/LTE Module
    Power supply: The base shield sits atop a PiJuice battery HAT, https://uk.pi-supply.com/products/pijuice-standard . Tested both with power connected to main Pi micro USB power port and PiJuice micro USB port.

    I have tested both with my cellphone SIM as well as a “data SIM” which is the one I intend to be using. They are provided by different companies but use the same network and have the same APN. I did get the cellphone SIM to connect a while ago but not anymore. The output below is from an attempt at using the data SIM. (The data SIM does work in my cellphone.)

    [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/ttyUSB3 # (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 telenor.smart # (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)
    ^M
    OK
    — got it

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

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

    send (AT+CGDCONT=1,”IP”,”telenor.smart”,,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/chat-connect -T telenor.smart finished (pid 3104), status = 0x0
    Serial connection established.
    using channel 3
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x6 ]
    No auth is possible
    sent [LCP ConfRej id=0x6 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x7 ]
    sent [LCP ConfAck id=0x7 ]
    sent [LCP EchoReq id=0x0 magic=0xeb02086d]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x8 magic=0xa05dedf]
    rcvd [LCP EchoRep id=0x0 magic=0xa05dedf eb 02 08 6d]
    Modem hangup
    Connection terminated.
    [email protected]:~ $

    1. Does your ISP need device registration?
      The +CGREG: 0,2 indicates, MT is currently trying to attach or searching an operator to register to.

  69. Hi, I am using IoT App HAt on RasPi4
    I cant complete connection ising Hologram SIM
    The Hologram portal sees the connection, I have an IP, but no data flows and the ppp script fails as below.
    What I am missing?

    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/chat-connect -T hologram finished (pid 3866), status = 0x0
    Serial connection established.
    using channel 3
    Using interface ppp0
    Connect: ppp0 /dev/ttyS0
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x3 ]
    No auth is possible
    sent [LCP ConfRej id=0x3 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x4 ]
    sent [LCP ConfAck id=0x4 ]
    sent [LCP EchoReq id=0x0 magic=0x4e3119f1]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x5 magic=0xaa868596]
    rcvd [LCP EchoRep id=0x0 magic=0xaa868596 4e 31 19 f1]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [LCP EchoReq id=0x1 magic=0x4e3119f1]
    IPCP: timeout sending Config-Requests
    sent [LCP TermReq id=0x2 “No network protocols running”]
    sent [LCP TermReq id=0x3 “No network protocols running”]
    Connection terminated.
    abort on (ERROR)
    abort on (NO DIALTONE)

    Sending break to the modem
    send (+++^M)
    send (+++^M)
    send (+++^M)

    Goodbye
    Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 3876), status = 0x0
    Serial link disconnected.
    Modem hangup

  70. Hi Saeed,
    I’m using an AT&T sim and trying to get internet connectivity on the pi with 3G 4G/LTE module. When I execute ‘pon’ command, I see the following:

    [email protected]:/home/sonyc# 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/ttyUSB3 # (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 Phone # (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)
    ^M
    ^M+QODM: “UI”,0,^M
    ^M^M
    ^M+QODM: “UI”,0,^M
    ^MAT^M^M
    OK
    — got it

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

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

    send (AT+CGDCONT=1,”IP”,”Phone”,,0,0^M)
    expect (OK)
    ^M
    ^M
    ^M+QODM: “UI”,0,^M
    ^M^M
    OK
    — got it

    send (ATD*99#^M)
    expect (CONNECT)
    ^M
    ^M
    ^M+QODM: “UI”,0,^M
    ^M^M
    CONNECT
    — got it

    Script chat -s -v -f /etc/chatscripts/chat-connect -T Phone finished (pid 1249), status = 0x0
    Serial connection established.
    using channel 1
    Using interface ppp0
    Connect: ppp0 /dev/ttyUSB3
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x0 ]
    No auth is possible
    sent [LCP ConfRej id=0x0 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x1 ]
    sent [LCP ConfAck id=0x1 ]
    sent [LCP EchoReq id=0x0 magic=0xdb65bcd5]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x2 magic=0xb382e6ce]
    rcvd [LCP EchoRep id=0x0 magic=0xb382e6ce db 65 bc d5]
    Modem hangup
    Connection terminated.

    Can you help me in figuring out what the issue is?
    Thanks in advance!

  71. Hello, I have this error that I cannot resolve.

    The status lights are solid red and flashing blue every couple seconds.
    The antenna is the included one and is properly connected.

    [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 m2mNB16.com.attz # (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)
    ^M
    OK
    — got it

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

    send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

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

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

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    BG96^M
    Revision: BG96MAR02A08M1G^M
    ^M
    SubEdition: V05^M
    ^M
    +CSQ: 99,99^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,4^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”m2mNB16.com.attz”,,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/chat-connect -T m2mNB16.com.attz finished (pid 1655), status = 0x0
    Serial connection established.
    using channel 12
    Using interface ppp0
    Connect: ppp0 /dev/ttyS0
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x21 ]
    No auth is possible
    sent [LCP ConfRej id=0x21 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x22 ]
    sent [LCP ConfAck id=0x22 ]
    sent [LCP EchoReq id=0x0 magic=0x48a2738b]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x23 magic=0xd08c7cef]
    rcvd [LCP EchoRep id=0x0 magic=0xd08c7cef 48 a2 73 8b]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [LCP EchoReq id=0x1 magic=0x48a2738b]
    IPCP: timeout sending Config-Requests
    sent [LCP TermReq id=0x2 “No network protocols running”]
    sent [LCP TermReq id=0x3 “No network protocols running”]
    Connection terminated.
    abort on (ERROR)
    abort on (NO DIALTONE)

    Sending break to the modem
    send (+++^M)
    send (+++^M)
    send (+++^M)

    Goodbye
    Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 1661), status = 0x0
    Serial link disconnected.
    Modem hangup
    [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 m2mNB16.com.attz # (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)
    ^M
    OK
    — got it

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

    send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

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

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

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    BG96^M
    Revision: BG96MAR02A08M1G^M
    ^M
    SubEdition: V05^M
    ^M
    +CSQ: 99,99^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,4^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”m2mNB16.com.attz”,,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/chat-connect -T m2mNB16.com.attz finished (pid 1675), status = 0x0
    Serial connection established.
    using channel 13
    Using interface ppp0
    Connect: ppp0 /dev/ttyS0
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x24 ]
    No auth is possible
    sent [LCP ConfRej id=0x24 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x25 ]
    sent [LCP ConfAck id=0x25 ]
    sent [LCP EchoReq id=0x0 magic=0x49b00420]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x26 magic=0xd08d6c12]
    rcvd [LCP EchoRep id=0x0 magic=0xd08d6c12 49 b0 04 20]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [LCP EchoReq id=0x1 magic=0x49b00420]
    IPCP: timeout sending Config-Requests
    sent [LCP TermReq id=0x2 “No network protocols running”]
    sent [LCP TermReq id=0x3 “No network protocols running”]
    Connection terminated.
    abort on (ERROR)
    abort on (NO DIALTONE)

    Sending break to the modem
    send (+++^M)
    send (+++^M)
    send (+++^M)

    Goodbye
    Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 1682), status = 0x0
    Serial link disconnected.
    Modem hangup
    [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 m2mNB16.com.attz # (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)
    ^M
    OK
    — got it

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

    send (AT+QCFG=”band”,F,400A0E189F,A0E189F,1^M)
    expect (OK)
    ^M
    ^M
    OK
    — got it

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

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

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

    send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
    expect (OK)
    ^M
    ^M
    Quectel^M
    BG96^M
    Revision: BG96MAR02A08M1G^M
    ^M
    SubEdition: V05^M
    ^M
    +CSQ: 99,99^M
    ^M
    +COPS: 0^M
    ^M
    +CGREG: 0,4^M
    ^M
    OK
    — got it

    send (AT+CGDCONT=1,”IP”,”m2mNB16.com.attz”,,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/chat-connect -T m2mNB16.com.attz finished (pid 1751), status = 0x0
    Serial connection established.
    using channel 14
    Using interface ppp0
    Connect: ppp0 /dev/ttyS0
    sent [LCP ConfReq id=0x1 ]
    rcvd [LCP ConfReq id=0x27 ]
    No auth is possible
    sent [LCP ConfRej id=0x27 ]
    rcvd [LCP ConfAck id=0x1 ]
    rcvd [LCP ConfReq id=0x28 ]
    sent [LCP ConfAck id=0x28 ]
    sent [LCP EchoReq id=0x0 magic=0xd1493400]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x29 magic=0xd08eccad]
    rcvd [LCP EchoRep id=0x0 magic=0xd08eccad d1 49 34 00]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [IPCP ConfReq id=0x1 ]
    sent [LCP EchoReq id=0x1 magic=0xd1493400]
    IPCP: timeout sending Config-Requests
    sent [LCP TermReq id=0x2 “No network protocols running”]
    sent [LCP TermReq id=0x3 “No network protocols running”]
    Connection terminated.
    abort on (ERROR)
    abort on (NO DIALTONE)

    Sending break to the modem
    send (+++^M)
    send (+++^M)
    send (+++^M)

    Goodbye
    Script chat -s -v -f /etc/chatscripts/chat-disconnect finished (pid 1767), status = 0x0
    Serial link disconnected.
    Modem hangup
    [email protected]:~ $ sudo route del default
    [email protected]:~ $ sudo route add default ppp0
    SIOCADDRT: No such device
    [email protected]:~ $
    Thank you for any advice.

  72. Hi Saeed, I am using Sixfab Cellular IoT App. Shield with Raspberry Pi. I have configured for PPP installer with the needed APN settings. But If I give the command: PON I am getting an error message: CONNECT SCRIPT FAILED with STATUS:0X3.
    The below is the Screen shot of that:
    kindly help at the earliest
    (pl-app) [email protected]:/home/pi# 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)
    user taif # (from /etc/ppp/peers/provider)
    password ?????? # (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 taif # (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)
    alarm
    Failed
    Script chat -s -v -f /etc/chatscripts/chat-connect -T taif finished (pid 1311), status = 0x3
    Connect script failed

  73. Hello Support.

    I bought Raspberry Pi 3G-4G/LTE Base Shield V2 with the Quectel EC25-E Mini PCIe card. Im trying to connect to the MTN network using standard APN: internet as per the Network settings but im getting a hang up? how can I debug further???

    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/ttyUSB3 # (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 internet # (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)
    ^M
    OK
    — got it

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

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

    send (AT+CGDCONT=1,”IP”,”internet”,,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/chat-connect -T internet finished (pid 2184), status = 0x0
    Serial connection established.
    using channel 6
    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=0x5e286e5f]
    sent [IPCP ConfReq id=0x1 ]
    rcvd [LCP DiscReq id=0x20 magic=0xd1c9f82c]
    rcvd [LCP EchoRep id=0x0 magic=0xd1c9f82c 5e 28 6e 5f]
    Modem hangup
    Connection terminated.

    1. Hello,

      Make sure your APN is correct.
      Does your ISP need device registration?
      The +CGREG: 0,2 indicates, MT is currently trying to attach or searching an operator to register to.

      Have a nice day.

Leave a Reply

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