BG96 PPP disconnects after 1 hour

Hello,

i’m trying to setup a ppp connection (LTE network : KPN-Netherlands) using the BG96 module which is connected to a raspberry , the first connection works fine but it disconnects after approximately after one hour, if i try to reconnect again it does connect to the network but internet isn’t available, here are the logs i get for the first and second connection :

Jan 13 01:00:02 DAS pppd[2447]: pppd options in effect:
Jan 13 01:00:02 DAS pppd[2447]: debug#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: nodetach#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: dump#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: noauth#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: remotename 3gppp#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: /dev/ttyAMA0#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: 115200#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: lock#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: connect chat -s -v -f /etc/chatscripts/quectel-chat-connect -T ltem.webtrial.m2m#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: disconnect chat -s -v -f /etc/chatscripts/quectel-chat-disconnect#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: nocrtscts#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: modem#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: asyncmap 0#011#011# (from /etc/ppp/options)
Jan 13 01:00:02 DAS pppd[2447]: lcp-echo-failure 4#011#011# (from /etc/ppp/options)
Jan 13 01:00:02 DAS pppd[2447]: lcp-echo-interval 30#011#011# (from /etc/ppp/options)
Jan 13 01:00:02 DAS pppd[2447]: hide-password#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: novj#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: novjccomp#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: ipcp-accept-local#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: ipcp-accept-remote#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: ipparam 3gppp#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: noipdefault#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: ipcp-max-failure 30#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: defaultroute#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: noccp#011#011# (from /etc/ppp/peers/gprs)
Jan 13 01:00:02 DAS pppd[2447]: noipx#011#011# (from /etc/ppp/options)
Jan 13 01:00:02 DAS pppd[2447]: pppd 2.4.7 started by root, uid 0
Jan 13 01:00:03 DAS chat[2449]: abort on (BUSY)
Jan 13 01:00:03 DAS chat[2449]: abort on (NO CARRIER)
Jan 13 01:00:03 DAS chat[2449]: abort on (NO DIALTONE)
Jan 13 01:00:03 DAS chat[2449]: abort on (ERROR)
Jan 13 01:00:03 DAS chat[2449]: abort on (NO ANSWER)
Jan 13 01:00:03 DAS chat[2449]: timeout set to 30 seconds
Jan 13 01:00:03 DAS chat[2449]: send (AT^M)
Jan 13 01:00:03 DAS chat[2449]: expect (OK)
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: OK
Jan 13 01:00:03 DAS chat[2449]: – got it
Jan 13 01:00:03 DAS chat[2449]: send (ATE0^M)
Jan 13 01:00:03 DAS chat[2449]: expect (OK)
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: OK
Jan 13 01:00:03 DAS chat[2449]: – got it
Jan 13 01:00:03 DAS chat[2449]: send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
Jan 13 01:00:03 DAS chat[2449]: expect (OK)
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: Quectel^M
Jan 13 01:00:03 DAS chat[2449]: BG96^M
Jan 13 01:00:03 DAS chat[2449]: Revision: BG96MAR02A07M1G^M
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: SubEdition: V08^M
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: +CSQ: 31,0^M
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: +*COPS: 0,0,“NL KPN KPN”,8^M
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: +CGREG: 0,4^M
Jan 13 01:00:03 DAS chat[2449]: ^M
Jan 13 01:00:03 DAS chat[2449]: OK
Jan 13 01:00:03 DAS chat[2449]: – got it
Jan 13 01:00:03 DAS chat[2449]: send (AT+CGDCONT=1,“IP”,“ltem.webtrial.m2m”,0,0^M)
Jan 13 01:00:04 DAS chat[2449]: expect (OK)
Jan 13 01:00:04 DAS chat[2449]: ^M
Jan 13 01:00:04 DAS chat[2449]: ^M
Jan 13 01:00:04 DAS chat[2449]: OK
Jan 13 01:00:04 DAS chat[2449]: – got it
Jan 13 01:00:04 DAS chat[2449]: send (ATD
99#^M)
Jan 13 01:00:04 DAS chat[2449]: expect (CONNECT)
Jan 13 01:00:04 DAS chat[2449]: ^M
Jan 13 01:00:04 DAS chat[2449]: ^M
Jan 13 01:00:04 DAS chat[2449]: CONNECT
Jan 13 01:00:04 DAS chat[2449]: – got it
Jan 13 01:00:04 DAS pppd[2447]: Script chat -s -v -f /etc/chatscripts/quectel-chat-connect -T ltem.webtrial.m2m finished (pid 2448), status = 0x0
Jan 13 01:00:04 DAS pppd[2447]: Serial connection established.
Jan 13 01:00:04 DAS pppd[2447]: using channel 2
Jan 13 01:00:04 DAS pppd[2447]: Using interface ppp0
Jan 13 01:00:04 DAS pppd[2447]: Connect: ppp0 <–> /dev/ttyAMA0
Jan 13 01:00:05 DAS pppd[2447]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xce52f53c> ]
Jan 13 01:00:05 DAS pppd[2447]: rcvd [LCP ConfReq id=0x4 <asyncmap 0x0> <magic 0xdbbee214> ]
Jan 13 01:00:05 DAS pppd[2447]: No auth is possible
Jan 13 01:00:05 DAS pppd[2447]: sent [LCP ConfRej id=0x4 ]
Jan 13 01:00:05 DAS pppd[2447]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xce52f53c> ]
Jan 13 01:00:05 DAS pppd[2447]: rcvd [LCP ConfReq id=0x5 <asyncmap 0x0> <magic 0xdbbee214> ]
Jan 13 01:00:05 DAS pppd[2447]: sent [LCP ConfAck id=0x5 <asyncmap 0x0> <magic 0xdbbee214> ]
Jan 13 01:00:05 DAS pppd[2447]: sent [LCP EchoReq id=0x0 magic=0xce52f53c]
Jan 13 01:00:05 DAS pppd[2447]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
Jan 13 01:00:05 DAS pppd[2447]: rcvd [LCP DiscReq id=0x6 magic=0xdbbee214]
Jan 13 01:00:05 DAS pppd[2447]: rcvd [LCP EchoRep id=0x0 magic=0xdbbee214 ce 52 f5 3c]
Jan 13 01:00:05 DAS pppd[2447]: rcvd [IPCP ConfReq id=0x2]
Jan 13 01:00:05 DAS pppd[2447]: sent [IPCP ConfNak id=0x2 <addr 0.0.0.0>]
Jan 13 01:00:05 DAS pppd[2447]: rcvd [IPCP ConfNak id=0x1 <addr 10.35.62.4>]
Jan 13 01:00:05 DAS pppd[2447]: sent [IPCP ConfReq id=0x2 <addr 10.35.62.4>]
Jan 13 01:00:05 DAS pppd[2447]: rcvd [IPCP ConfReq id=0x3]
Jan 13 01:00:05 DAS pppd[2447]: sent [IPCP ConfAck id=0x3]
Jan 13 01:00:05 DAS pppd[2447]: rcvd [IPCP ConfAck id=0x2 <addr 10.35.62.4>]
Jan 13 01:00:05 DAS pppd[2447]: Could not determine remote IP address: defaulting to 10.64.64.64
Jan 13 01:00:05 DAS pppd[2447]: local IP address 10.35.62.4
Jan 13 01:00:05 DAS pppd[2447]: remote IP address 10.64.64.64
Jan 13 01:00:05 DAS pppd[2447]: Script /etc/ppp/ip-up started (pid 2454)
Jan 13 01:00:05 DAS pppd[2447]: Script /etc/ppp/ip-up finished (pid 2454), status = 0x0

Hi Aja,

From the snapshot, the ppp procedure in these two connections were both fine. Network was suppose to be available in the 2nd conntection. Please help to check more information: How did you test internet, what’s the route table after the 2nd ppp connection.
If default route and route table are all normal, please terminate ppp connection, and check modem status:
AT+QNWINFO
AT+QCSQ
AT+QPING=1,“8.8.8.8” //Or change other IP address you want to test.
AT+CGCONTRDP
AT+CEREG?;+CGREG?;+CREG?

Regarding the disconenct after one hour, is the duration randomly or periodically? If periodically, please check whether PSM was enabled(AT+CPSMS?).

Additional, I saw there’s no DNS IP being assigned in the ppp procedure, is that expected?

Best Regards,

I have exactly the same issue (and also on KPN NL network).

We’re using the BG96 module to set up a PPP internet connection in conjunction with a custom ESP32 board.
We have made two prototypes of the board with the BG96 module soldered on, these work great: no problems whatsoever (the connection remains active indefinitely).

We now have another revision (production validation) that uses a Quectel BG96-MiniPCIE module (in serial mode). The hardware and software is otherwise the same as the prototype, but now after (more or less exactly) one hour the PPP connection drops.

The soldered down BG96 was obtained through LCSC, the BG96 MiniPCIE card was obtained through Mouser. Both modules carry the same type marking (BG96MA-128-SGN).

My guess would be that there’s a difference in BG96 firmware or (factory) settings. At least a can not determine a difference somewhere else. Any insight would be very much appreciated. (Possibly OP has solved the problem in the mean time?)