UART not working as expected for Raspberry Pi 4G/LTE Cellular Modem Kit

For the Raspberry Pi 4G/LTE Cellular Modem Kit, I’ve successfully been able to follow the official instructions here.

I’m able to get an internet connection when using a Quectel Modem and Verizon 5G Sim Card.

However, after following the instructions here, I’m unable to get an internet connection via UART with the USB disconnected.

I am able to send AT commands to the modem via ttyS0, however, pings to google.com fail with:

$ ping www.google.com
ping: www.google.com: Temporary failure in name resolution

Another thread mentioned that I may have to setup PPP, however after trying that solution I’m still getting the same error.

Is there something I’m missing here?

Also, I’ve provided verbose debugging information below.

Modem Output w/ Modem Kit USB Connected:

AT+CPIN?
+CPIN: READY

OK
AT+QGMR
EG25GGBR07A08M2G_30.006.30.006

OK
AT+CPAS
+CPAS: 0

OK
AT+CFUN?
+CFUN: 1

OK
AT+COPS?
+COPS: 0,0,"Verizon ",7

OK
AT+QCFG="band"
+QCFG: "band",0x0,0x1008,0x0

OK
AT+QCFG="nwscanseq"
+QCFG: "nwscanseq",0501030402

OK
AT+QCFG="nwscanmode"
+QCFG: "nwscanmode",3

OK
AT+QCFG="iotopmode"
ERROR
AT+CGDCONT?
+CGDCONT: 1,"IPV4V6","vzwinternet","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","VZWADMIN","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 3,"IPV4V6","VZWINTERNET","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 4,"IPV4V6","VZWAPP","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 5,"IPV4V6","VZWEMERGENCY","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1
+CGDCONT: 6,"IPV4V6","VZWCLASS6","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0

OK
AT+CREG?
+CREG: 0,3

OK
AT+CSQ
+CSQ: 21,99

OK
AT+QCSQ
+QCSQ: "LTE",71,-105,116,-13

OK
AT+QNWINFO
+QNWINFO: "FDD LTE","311480","LTE BAND 4",2050

OK
AT+CGATT?
+CGATT: 1

OK
AT+QCFG="usbnet"
+QCFG: "usbnet",1

OK

System Output w/ Modem Kit USB Connected:

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 007: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EC25 LTE modem
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 7, If 5, Class=CDC Data, Driver=cdc_ether, 480M
        |__ Port 1: Dev 7, If 3, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 1: Dev 7, If 1, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 1: Dev 7, If 4, Class=Communications, Driver=cdc_ether, 480M
        |__ Port 1: Dev 7, If 2, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 1: Dev 7, If 0, Class=Vendor Specific Class, Driver=option, 480M
        |__ Port 3: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 3: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 3: Dev 4, If 2, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 4: Dev 5, If 1, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
        |__ Port 4: Dev 5, If 2, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
        |__ Port 4: Dev 5, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
        |__ Port 4: Dev 5, If 3, Class=Vendor Specific Class, Driver=ftdi_sio, 12M

$ usb-devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=05.10
S:  Manufacturer=Linux 5.10.17-v7l+ xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:01:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 4
D:  Ver= 2.10 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2109 ProdID=3431 Rev=04.21
S:  Product=USB2.0 Hub
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  7 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=0125 Rev=03.18
S:  Manufacturer=Quectel
S:  Product=EG25-G
C:  #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:  If#=0x4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
I:  If#=0x5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether

T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c52b Rev=12.11
S:  Manufacturer=Logitech
S:  Product=USB Receiver
C:  #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=98mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:  If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
I:  If#=0x2 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#=  5 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0403 ProdID=6011 Rev=08.00
S:  Manufacturer=FTDI
S:  Product=Quad RS232-HS
C:  #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
I:  If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 4
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=05.10
S:  Manufacturer=Linux 5.10.17-v7l+ xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:01:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

$ dmesg | grep ttyUSB
[    5.562657] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB0
[    5.567974] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB1
[    5.575337] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB2
[    5.582401] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB3
[    5.625128] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB4
[    5.626010] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB5
[    5.626726] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB6
[    5.627390] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB7
[  340.276111] option1 ttyUSB4: GSM modem (1-port) converter now disconnected from ttyUSB4
[  340.277089] option1 ttyUSB5: GSM modem (1-port) converter now disconnected from ttyUSB5
[  340.278079] option1 ttyUSB6: GSM modem (1-port) converter now disconnected from ttyUSB6
[  340.279237] option1 ttyUSB7: GSM modem (1-port) converter now disconnected from ttyUSB7
[  340.921264] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB4
[  340.921917] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB5
[  340.922579] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB6
[  340.923261] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB7
[  354.102150] option1 ttyUSB4: GSM modem (1-port) converter now disconnected from ttyUSB4
[  354.103164] option1 ttyUSB5: GSM modem (1-port) converter now disconnected from ttyUSB5
[  354.108331] option1 ttyUSB6: GSM modem (1-port) converter now disconnected from ttyUSB6
[  354.109654] option1 ttyUSB7: GSM modem (1-port) converter now disconnected from ttyUSB7
[  367.103281] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB4
[  367.104413] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB5
[  367.105280] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB6
[  367.106161] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB7

Below is debugging information after following instructions here
I used step 1. Standalone installation, and installed with the settings:

  • 2: 3G, 4G/LTE Base Shield
  • vzwinternet (for the APN)
  • n (no username/password)
  • ttyS0 (for the device)

Modem Output w/o Modem Kit USB Connected:

AT+CPIN?
+CPIN: READY

OK
AT+QGMR
EG25GGBR07A08M2G_30.006.30.006

OK
AT+CPAS
+CPAS: 0

OK                                                                           
AT+CFUN?                                                                     
+CFUN: 1                                                                     
                                                                             
OK                                                                           
AT+COPS?                                                                     
+COPS: 0                                                                     
                                                                             
OK                                                                           
AT+QCFG="band"                                                               
+QCFG: "band",0x0,0x1008,0x0                                                 
                                                                             
OK                                                                           
AT+QCFG="nwscanseq"                                                          
+QCFG: "nwscanseq",0501030402                                                
                                                                             
OK                                                                           
AT+QCFG="nwscanmode"                                                         
+QCFG: "nwscanmode",3                                                        
                                                                             
OK                                                                           
AT+QCFG="iotopmode"                                                          
ERROR                                                                        
AT+CGDCONT?                                                                  
+CGDCONT: 1,"IPV4V6","super","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0       
+CGDCONT: 2,"IPV4V6","VZWADMIN","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0    
+CGDCONT: 3,"IPV4V6","VZWINTERNET","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0 
+CGDCONT: 4,"IPV4V6","VZWAPP","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0      
+CGDCONT: 5,"IPV4V6","VZWEMERGENCY","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1
+CGDCONT: 6,"IPV4V6","VZWCLASS6","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0   
                                                                             
OK                                                                           
AT+CREG?                                                                     
+CREG: 0,2                                                                   
                                                                             
OK                                                                           
AT+CSQ                                                                       
+CSQ: 22,99                                                                  
                                                                             
OK                                                                           
AT+QCSQ                                                                      
+QCSQ: "LTE",78,-103,149,-10                                                 
                                                                             
OK                                                                           
AT+QNWINFO                                                                   
+QNWINFO: "FDD LTE","310260","LTE BAND 4",2325                               
                                                                             
OK                                                                           
AT+CGATT?                                                                    
+CGATT: 0                                                                    
                                                                             
OK                                                                           
AT+QCFG="usbnet"                                                             
+QCFG: "usbnet",0                                                            
                                                                             
OK

System Output w/o Modem Kit USB Connected:

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0403:6011 Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 3: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 3: Dev 3, If 2, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 4: Dev 4, If 1, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
        |__ Port 4: Dev 4, If 2, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
        |__ Port 4: Dev 4, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
        |__ Port 4: Dev 4, If 3, Class=Vendor Specific Class, Driver=ftdi_sio, 12M

$ usb-devices
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=05.10
S:  Manufacturer=Linux 5.10.17-v7l+ xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:01:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 4
D:  Ver= 2.10 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2109 ProdID=3431 Rev=04.21
S:  Product=USB2.0 Hub
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c52b Rev=12.11
S:  Manufacturer=Logitech
S:  Product=USB Receiver
C:  #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=98mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:  If#=0x1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
I:  If#=0x2 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0403 ProdID=6011 Rev=08.00
S:  Manufacturer=FTDI
S:  Product=Quad RS232-HS
C:  #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
I:  If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 4
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=05.10
S:  Manufacturer=Linux 5.10.17-v7l+ xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:01:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

$ dmesg | grep ttyUSB
[    5.562934] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB0
[    5.566145] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB1
[    5.569432] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB2
[    5.572648] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB3
[12370.725550] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB4
[12370.725974] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB5
[12370.726356] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB6
[12370.726751] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB7
[14232.589576] option1 ttyUSB4: GSM modem (1-port) converter now disconnected from ttyUSB4
[14232.592422] option1 ttyUSB5: GSM modem (1-port) converter now disconnected from ttyUSB5
[14232.593811] option1 ttyUSB6: GSM modem (1-port) converter now disconnected from ttyUSB6
[14232.594867] option1 ttyUSB7: GSM modem (1-port) converter now disconnected from ttyUSB7

$ dmesg | grep ttyS0
[    1.577169] fe215040.serial: ttyS0 at MMIO 0xfe215040 (irq = 38, base_baud = 62500000) is a 16550

Are you having similar issue with the Sixfab SIM? Did you test it?
We cannot guarantee if the Verizon Sim will work flawlessly.

Before the internet connection is established the network registration should be completed. Make sure

The following PPP Application Note from Quectel can help understand the connection procedure.

Thanks for the prompt response!

I tested with the Sixfab SIM and I see the same behavior. Internet connection is made with USB connected, but there is not an internet connection when connected through UART (w/ and w/o PPP).

To clarify, the UART configuration documentation has the note Note: QMI & ECM is not supported over the UART. Is that accurate for this Modem Kit?

Also, I’ve followed the instructions in the provided doc, however, I’m still unable to establish an internet connection.

Further debug info:

$ ifconfig ppp0
ppp0: error fetching interface information: Device not found

Also, ifconfig only shows eth0, lo, and wlan0

For hardware, all components have been installed properly per the official instructions.

Hello,

Could you please share the output of sudo pon with USB and UART?

Yes, this is applicable with the Modem Kit.

To clarify, are you able to get the response to the AT commands through the UART?