Cellular IoT Hat - Verizon?

Located in the US.

Was having a lot of trouble connecting this to Verizon. According to their site the BG96MA-128-SGN is approved. The SIM card supplier responded:

*“After investigation it appears your device IMEI is not certified with Verizon. After the activation process Verizon responded with an error that the device is not ODI certified or listed on the Verizon Device Management Database.”

Is this correct? Is this approved for AT&T?

Hi @jake5316,

Even though the BG96 module is certified on the Verizon network, the HAT needs to be certified.
We have Verizon certification for Cellular IoT Hat with BG96 TX3.0 which is mentioned as NA - Verizon certified version.

@ensar Is there a way to tell if the hat I have is the Verizon certified version or the other?

Hi @kenfred,

What is the module code?
BG96-MAxxxx or BG96-MCxxxx or you may send us the IMEI number.

Your HAT is Verizon certified :white_check_mark:

Good to know. Thanks!

I haven’t been able to connect, tho. I also have an App shield and it does connect with a Verizon sim.

Following the same procedure (the QMI instructions), also following the forum suggestions to disable dhcpcd for wwan0, the app shield reliably connects, but the iot hat never connects. Would there be a difference in the procedure I need to follow?

For cellular IoT HAT, you need to establish a PPP connection.
Please follow the following tutorial to set up the PPP connection.

Thanks for your response. I will try PPP also and report back.

Does this mean the iot hat is not compatible with QMI?

I’ve noticed a lot of the QMI documentation has been removed this week, including from the app shield docs, which does work with QMI. Does this mean PPP is the recommended path and QMI has issues?


We recommend PPP for a stable connection but compatible with QMI.

@ensar I’m unable to connect with the PPP instructions. I’m using an activated Verizon SIM.

As I mentioned previously, I also have an app shield. It also has a Verizon SIM that was activated at the same time. I can connect successfully with the app shield.

The output from the iot hat running pon is pasted below.

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

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

send (ATI;+CSUB;+CSQ;+COPS?;+CGREG?;&D2^M)
expect (OK)
Revision: BG96MAR04A03M1G^M
SubEdition: V07^M
+CSQ: 99,99^M
+COPS: 0^M
+CGREG: 0,0^M
 -- got it

send (AT+CGDCONT=1,"IP","vzwinternet",,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 vzwinternet finished (pid 1284), status = 0x0
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe16179f1> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <auth chap MD5> <magic 0xd084c7c9> <pcomp> <accomp>]
No auth is possible
sent [LCP ConfRej id=0x0 <auth chap MD5>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xe16179f1> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xd084c7c9> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xd084c7c9> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0xe16179f1]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
rcvd [LCP DiscReq id=0x2 magic=0xd084c7c9]
rcvd [LCP EchoRep id=0x0 magic=0xd084c7c9 e1 61 79 f1]
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>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2> <ms-wins> <ms-wins>]
sent [LCP EchoReq id=0x1 magic=0xe16179f1]
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)

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

Which antenna do you use? ‘99,99’ = Invalid signal.

Please share the output of the following AT commands.


Does that mean that an EG will not connect with Verizon?

We cannot claim if EG25G will connect as Verizon demands a Registration of the IMEI with the SIM card.