Failure to connect to internet with PPP

pi@raspberrypi:~ $ 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 # (from /etc/ppp/peers/provider)
disconnect chat -s -v -f /etc/chatscripts/chat-disconnect # (from /etc/ppp/peers/provider)
nocrtscts # (from /etc/ppp/peers/provider)
modem # (from /etc/ppp/peers/provider)
asyncmap 0 # (from /etc/ppp/options)
lcp-echo-failure 4 # (from /etc/ppp/options)
lcp-echo-interval 30 # (from /etc/ppp/options)
hide-password # (from /etc/ppp/peers/provider)
novj # (from /etc/ppp/peers/provider)
novjccomp # (from /etc/ppp/peers/provider)
ipcp-accept-local # (from /etc/ppp/peers/provider)
ipcp-accept-remote # (from /etc/ppp/peers/provider)
ipparam 3gppp # (from /etc/ppp/peers/provider)
noipdefault # (from /etc/ppp/peers/provider)
ipcp-max-failure 30 # (from /etc/ppp/peers/provider)
defaultroute # (from /etc/ppp/peers/provider)
usepeerdns # (from /etc/ppp/peers/provider)
noccp # (from /etc/ppp/peers/provider)
noipx # (from /etc/ppp/options)
abort on (BUSY)
abort on (NO CARRIER)
abort on (NO DIALTONE)
abort on (ERROR)
abort on (NO ANSWER)
timeout set to 30 seconds
send (AT^M)
expect (OK)
– got it

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

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

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

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

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

send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
expect (OK)
Revision: BG96MAR02A10M1G^M
SubEdition: V04^M
+CSQ: 99,99^M
+COPS: 0^M
+CGREG: 0,2^M
– got it

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

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

Script chat -s -v -f /etc/chatscripts/chat-connect -T finished (pid 1307), status = 0x0
Serial connection established.
using channel 3
Using interface ppp0
Connect: ppp0 <–> /dev/ttyUSB3
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe2e3600> ]
rcvd [LCP ConfReq id=0x6 <asyncmap 0x0> <magic 0xd099f1d5> ]
No auth is possible
sent [LCP ConfRej id=0x6 ]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xe2e3600> ]
rcvd [LCP ConfReq id=0x7 <asyncmap 0x0> <magic 0xd099f1d5> ]
sent [LCP ConfAck id=0x7 <asyncmap 0x0> <magic 0xd099f1d5> ]
sent [LCP EchoReq id=0x0 magic=0xe2e3600]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
rcvd [LCP DiscReq id=0x8 magic=0xd099f1d5]
rcvd [LCP EchoRep id=0x0 magic=0xd099f1d5 0e 2e 36 00]
rcvd [IPCP ConfNak id=0x1 <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
rcvd [IPCP ConfNak id=0x2 <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x3 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]

rcvd [IPCP ConfNak id=0x24 <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x25 <addr> <ms-wins> <ms-wins>]
Modem hangup
Connection terminated.


Make sure your antenna is connected properly.
+CSQ: 0,99^M indicates you have very weak signal strength.

I believe I have it connected correctly

When I was testing it out obviously the usb was connected

connections are correct, assuming they are “seated” properly.
are you above ground? ‘99’ = Invalid signal. It was enough to successfully handshake but when not to get an ip assignment.
assuming correct & activated SIM.
how’s your input power? Any under-voltage messages in the dmesg log?
what else is drawing power out of your USB2 & 3 buses?
can you run headless, no peripherals connected for troubleshooting?
get your project outdoors or as close as possible.
Post back, let everyone know your findings.

What do you mean by “seated” properly?
I moved my setup outdoors and when I tried the sudo pon command I got the flicker quickly state indicating that data transfer began to happen but once again the same thing happened the modem got hang up and connection was terminated. I tried again without any peripherals just a remote connection to a laptop and same response.

Finally I was able to get an connection to PPP and it gave me a ip address and everything but didn’t last for long and I wasn’t able to open anything on the browser. I am assuming something must be wrong with my antenna?

Hi there,
“seated”, simply another term for connected properly with good connection.
You have the BG96 from Quectel, that’s CAT-M1 / NB-IoT.
Top speed is going to be < 400k and both are designed for m2m (very small packets) e.g., MQTT.

I don’t know that you can “load” a browser and send/receive http?

What was your signal strength when you established a carrier session & received an ip?
perhaps try a simple ping command out to google ( / .4.4). set a wait time of say 60 seconds and see if the connection holds.

I’m not sure what your requirements are for the LTE hat you purchased. If I’m wrong, I apologize and would appreciate your posting of a description of your project.


1 Like

I just want to chime in here because I had a similar issue and was able to fix it.

My setup is RASPBERRY PI CELLULAR IOT HAT (Quectel BG96) with AT&T LTE-M One Rate Plan (64kbps unlimited) in the united states.

My troubleshooting steps:

  • Use Pi 3b+ out of the box power supply.
  • Open door to outside.
  • Squeeze down the coax connectors to the HAT (same Pulse FPC antenna as OP).

Finally I was able to get it to work. Running a command line speed test via speedtest-cli, i am getting:
Download: .05 Mbit/sec
Upload: .07 Mbit/sec

These low speeds are somewhat expected from the cheap low speed data plan.

FWIW, the issue seemed sensitive to the door being open. I get the impression its a pretty weak connection. But I’m having a problem reproducing any single step of the troubleshooting behavior. Also keep in mind these board level micro coax connectors are extremely fragile and not meant for repetitive insertion/extraction, and damage to the connector may not be visible to the naked eye.

Actually, I’m finding my connection to be wildly unstable, with hangup and successful connections varying by the minute. I could have a decent connection, then 5 minutes later restart my machine and experience the hangup issue again without touching any hardware or moving anything. I’ve tried several places in my house with a similar problem. Either the NB-IoT has a really crappy signal at my house or the network/hardware is flaky.

I’ve had rock solid connections with the EC25A and a regular Cat 4 4G T-mobile signal.

NB-IoT / CAT-1 has a very high latency. Folks like to test it by pinging IP’s and trying to browse a website. You are going to get some not-so-pleasant results and that is to be expected.

Here is a good test if you are using a Raspberry Pi. Setup MyDevice’s Cayene on your RPi. Use the App on your cell phone or from a web browser to control your Pi. You can reboot it, toggle I/O pins etc. Setup an LED to toggle it on and off. It is very easy and intuitive to setup. Go to It is Free!

@Steve I have had the exact same experience and that is par for the course with Cat-1 or NB-IoT. As we have found out… things run much better on CAT 4+ LTE,

1 Like