PPP: Failed to connect

I am using BG95 module with raspberry pi and cannot connect to the internet via ppp:

pi@raspberrypi:~ $ sudo pon
pppd options in effect:
debug           # (from /etc/ppp/peers/provider)
updetach                # (from /etc/ppp/peers/provider)
persist         # (from /etc/ppp/peers/provider)
dump            # (from /etc/ppp/peers/provider)
user sim                # (from /etc/ppp/peers/provider)
password ??????         # (from /etc/ppp/peers/provider)
remotename 3gppp                # (from /etc/ppp/peers/provider)
/dev/ttyAMA0            # (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 m2m.business             # (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+CPIN?^M)
expect (OK)
^M
^M
+CPIN: READY^M
^M
OK
 -- got it

send (AT+CSQ^M)
expect (OK)
^M
^M
+CSQ: 23,99^M
^M
OK
 -- got it

send (AT+CREG?^M)
expect (OK)
^M
^M
+CREG: 0,5^M
^M
OK
 -- got it

send (AT+CGREG?^M)
expect (OK)
^M
^M
+CGREG: 0,2^M
^M
OK
 -- got it
send (AT+COPS?^M)
expect (OK)
^M
^M
+COPS: 0,0,"T-Mobile CZ",0^M
^M
OK
 -- got it

send (AT+CGDCONT=1,"IP","m2m.business",,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 m2m.business finished (pid 641), status = 0x0
Serial connection established.
using channel 7
Using interface ppp0
Connect: ppp0 <--> /dev/ttyAMA0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x4d706dae> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x8a <asyncmap 0x0> <auth chap MD5> <magic 0xd82729a9> <pcomp> <accomp>]
sent [LCP ConfAck id=0x8a <asyncmap 0x0> <auth chap MD5> <magic 0xd82729a9> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x4d706dae> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x4d706dae]
rcvd [LCP DiscReq id=0x8b magic=0xd82729a9]
rcvd [CHAP Challenge id=0x1 <79580f151a8799b68d59626740bd01ef>, name = "UMTS_CHAP_SRVR"]
sent [CHAP Response id=0x1 <29bf78e3cef7e93dbc9d9163006354df>, name = "sim"]
rcvd [LCP EchoRep id=0x0 magic=0xd82729a9 4d 70 6d ae]
rcvd [CHAP Success id=0x1 ""]
CHAP authentication succeeded
CHAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [LCP EchoReq id=0x1 magic=0x4d706dae]
rcvd [LCP EchoRep id=0x1 magic=0xd82729a9 4d 70 6d ae]
rcvd [LCP TermReq id=0x8c]
LCP terminated by peer
sent [LCP TermAck id=0x8c]
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 668), status = 0x0
Serial link disconnected.
Modem hangup

Here is my /etc/ppp/options file - http://0x0.st/-Opf.txt
And /etc/ppp/peers/provider file - http://0x0.st/-OpO.txt
/etc/ppp/chap-secrets file:

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
3gppp   raspberrypi     password        *
raspberrypi     3gppp   password        *

/etc/ppp/pap-secrets:

#
# /etc/ppp/pap-secrets
#
# This is a pap-secrets file to be used with the AUTO_PPP function of
# mgetty. mgetty-0.99 is preconfigured to startup pppd with the login option
# which will cause pppd to consult /etc/passwd (and /etc/shadow in turn)
# after a user has passed this file. Don't be disturbed therefore by the fact
# that this file defines logins with any password for users. /etc/passwd
# (again, /etc/shadow, too) will catch passwd mismatches.
#
# This file should block ALL users that should not be able to do AUTO_PPP.
# AUTO_PPP bypasses the usual login program so it's necessary to list all
# system userids with regular passwords here.
#
# ATTENTION: The definitions here can allow users to login without a
# password if you don't use the login option of pppd! The mgetty Debian
# package already provides this option; make sure you don't change that.

# INBOUND connections

# Every regular user can use PPP and has to use passwords from /etc/passwd
*       hostname        ""      *

# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any
# other accounts that should not be able to use pppd!
guest   hostname        "*"     -
master  hostname        "*"     -
root    hostname        "*"     -
support hostname        "*"     -
stats   hostname        "*"     -

# OUTBOUND connections

# Here you should add your userid password to connect to your providers via
# PAP. The * means that the password is to be used for ANY host you connect
# to. Thus you do not have to worry about the foreign machine name. Just
# replace password with your password.
# If you have different providers with different passwords then you better
# remove the following line.

#       *       password

Not sure why it cannot get the IP address?

Thanks!
Eric.

Hello,

Which HAT are you using with BG95?

Hi, @saeed
Thanks for your reply!

I am using the BG95 module directly. It is connected to my pi thru UART - /dev/ttyAMA0

As you could see, it succeeded CHAP authentication, but failed to get IP address from the DNS server…

Thanks!

I am asking about the HAT because we do not have BG95 in our stores.

Make sure there is no issue with the Modules Firmware.

AT+GMR
BG95M3LAR02A03

OK

Is this firmware version ok?

Another note:

AT+QIDNSCFG=?
+QIDNSCFG: (1-16),<pridnsaddr>,<secdnsaddr>

OK

Do I have to configure the dns server address manually?
Please check the following log:

Script chat -s -v -f /etc/chatscripts/chat-connect -T m2m.business finished (pid 12165), status = 0x0
Serial connection established.
using channel 2560
Using interface ppp0
Connect: ppp0 <--> /dev/ttyAMA0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x3bb8d3b4> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x74 <asyncmap 0x0> <auth chap MD5> <magic 0xe30a38fb> <pcomp> <accomp>]
sent [LCP ConfAck id=0x74 <asyncmap 0x0> <auth chap MD5> <magic 0xe30a38fb> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x3bb8d3b4> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x3bb8d3b4]
rcvd [LCP DiscReq id=0x75 magic=0xe30a38fb]
rcvd [CHAP Challenge id=0x1 <965499d41dbd65f45175d0c23495ffef>, name = "UMTS_CHAP_SRVR"]
sent [CHAP Response id=0x1 <1eac5d1dbd409c98f080231a3786891d>, name = "sim"]
rcvd [LCP EchoRep id=0x0 magic=0xe30a38fb 3b b8 d3 b4]
rcvd [CHAP Success id=0x1 ""]
CHAP authentication succeeded
CHAP authentication succeeded
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
sent [LCP EchoReq id=0x1 magic=0x3bb8d3b4]
rcvd [LCP EchoRep id=0x1 magic=0xe30a38fb 3b b8 d3 b4]
rcvd [LCP TermReq id=0x76]
LCP terminated by peer
sent [LCP TermAck id=0x76]
Connection terminated.

DNS servers are both set as 0.0.0.0. Is this ok?

Please contact the module vendor.