Is there a difference between the two?
Both seem to just display the IP address of the PDP.
I am also wondering if I can use either of these to tell if I have working data connection.
If there is no IP address I then go through steps checking for network problems and requesting a connection to the PDP and PS.

Can I have no address returned for these and still have a valid data connection to the cell network?

The CGPADDR command is used to check IP of PDP context, if this command shows an IP, it means that your device attached to PS domain successfully.
The KCGPADDR command will show IP of PDP context too. But it is used for TCP/UDP connection ( used after KTCPCNX/KUDPCFG/KCNXUP).
When your device connects to PS domain, CGPADDR shows the PDP’s IP, if you don’t activate this PDP context for TCP/UDP, the KCGPADDR will not show any IPs.
So, if CGPADDR does not show any IPs, it means that you don’t have any data connection to network.
In LTE, after device attaches to network successfully, CGPADDR will show IP.
But in GPRS or UMTS, after attaching to network, CGPADDR will not show IP until it attaches to PS ( after CGACT command)


1 Like