USB Cable for Raspberry pi hat

Do I need to have the USB to power the hat. Can’t it draw the power from the GPIO that it is on?

Based on an FAQ, you should be able to use it with GPIO only (without USB). However, where is the code to ‘connect’ to the APN for the carrier (i.e. Verizon)

Hi @gcrow,
You can try to to use the following AT command:
This is the AT command for setting the APN, replace with your apn.

Hmm. Thanks for the answer on replacing the APN. But there are 2 questions that I initial noted:

  1. Does it work without the USB power and can use the GPIO only?
  2. How do I ‘connect’ it to the Internet when I do have the APN added during the installation - do the installation of the auto-start just do it automatically?
  1. Yes, It also works via GPIO only but the module cannot communicate over the UART. It needs to be soldered for communication with the module.
  2. Run sudo pon to connect to internet after the installation is complete. Please follow the PPP tutorial.

Huge Thanks!
one more Q: – I don’t need UART though do I? I only want to put this on a pi and connect to the Internet from the pi OS.

Without USB, without UART, you cannot communicate the module with the Raspberry Pi, you will either need UART connected or the USB. We recommend using USB.

Once we solder the UART - we still address it and use the software the same way, right?

Install went fine - however, since I used UART - is ttyUSB3 still what I use as it is failing on sudo pon

I changed the providor to AMA0 and it connected but I get this error:
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/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 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: EC25VFAR02A13M4G^M
SubEdition: V02^M
+CSQ: 99,99^M
+COPS: 0^M
+CGREG: 0,2^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 519), status = 0x0
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <–> /dev/ttyAMA0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x840d1b14> ]
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <magic 0xe8f12681> ]
No auth is possible
sent [LCP ConfRej id=0x0 ]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x840d1b14> ]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xe8f12681> ]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xe8f12681> ]
sent [LCP EchoReq id=0x0 magic=0x840d1b14]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
rcvd [LCP DiscReq id=0x2 magic=0xe8f12681]
rcvd [LCP EchoRep id=0x0 magic=0xe8f12681 84 0d 1b 14]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x1 <addr> <ms-dns1> <ms-dns2>]
sent [LCP EchoReq id=0x1 magic=0x840d1b14]
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 528), status = 0x0
Serial link disconnected.
Modem hangup

Hi there,
I’m just a fellow user …

  1. in your log – +CSQ: 99,99^M - means no signal, do you have antennas connected?
  2. your carrier/provider is Verizon - your APN = vzwinternet
  3. UART is still a ‘serial’ connection - after hardware install and boot type ‘ls /dev/tty*’ - it should be ‘ttyS0’.
    When you re-run the ‘’ this will be the port/interface you type in.
  4. USB is much faster than UART and preferred.
  5. you are (and have to ) use PPP w/UART. If a carrier supports it QMI is a faster, higher throughput connection protocol but you have to use USB.
  6. on a RPi 3b/b+ all USb ports and the ethernet share the same bus so if you need granular control over power or shutting down individual ports you can’t, you’ll have to go to an RPi4 for that.
    hope some of this helps.
    Post back and let the board know your progress.

Thanks Mark. I’ll double check the antenna connection. However, when I rerun the install with ttyS0 – is fails to get as far as I have.
We have to use UART as we have the USB ports blocked for this application.
I’ll try the install again in case I missed something and report back as well

Yep – ttyS0 fails with
/usr/sbin/pppd: In file /etc/ppp/peers/provider: unrecognized option ‘/dev/ttyS0’

Mark – thanks so much… The antenna was barely on there and once I put it on correctly - it fired right up (I think - further testing).
So the cure was to use ttyAMA0 and have my antenna on better than it was

good to hear!
my apologies!, yes ttyAMA0 is the extended assignment for UART pins 8(TX) & 10(RX).
I hope that misinformation didn’t cost you too much time.
fyi …
I use a new/un-sharpened #2 pencil to “snap fit” the u.fl leads in place, works well.