Network status 2: Not registered (searching)


I just activated my sim card and my dashboard says it is live.

i downloaded the:
and because I am on a Mac, I copied the Code directory to /Users/$myusername/Documents/Arduino/sim7000g

I opened the arduno IDE, and under: file > examples > adafruit FONA library

I selected the the example and uploaded it and ran it successfully and i get to the point where I can enter commands into the serial monitor.

when i type n, i get
<— +CGREG: 0,2
Network status 2: Not registered (searching)

when i type i i get
<— +CSQ: 99,99
RSSI = 99: -115 dBm

and when i type G i get
Failed to turn on

and when i type g I get
Failed to turn off

so naturally when i type w and enter in

I get

I was wondering if anyone has any ideas of why?

I have my sim700g stacked on a sparkfun redboard. the red board has power and the sim700g has power (the done button is green and the pwr is green and the net is flashing blue)


Hi @iansharp - Can you confirm that the antenna is attached properly and you are in a good location with cell service? The CSQ of 99 is indicative of poor or no signal.


yes i am in my townhome. i get cell phone signal here - so that should be ok. i tried walking outside just now and trying again, but it did not change.

i also have a soil moisture sensor from sparkfun plugged in and that seems to be good. i dont know if that matters. if i unplug the soil sensor, then all of the sim7000g lights go off and the startup doesnt work.

the gps wire is also stuck on the gps place on the sim7000g and the and the lte wire is also firmly attached to the lte place on the sim7000g (idk if that matters)

it’s my first time soldering - so idk if that would have an effect if my soldering isn’t good on one of the heads

on initialization the console prints out

---> AT+CPMS="SM","SM","SM"
<--- +CPMS: 0,10,0,10,0,10
Found SIM7000G (Global)
	---> AT+GSN
	<--- 869951030012359
Module IMEI: 869951030012359
	---> AT+CFUN=1
	<--- OK
	---> AT+CGDCONT=1,"IP","hologram"
	<--- OK

when i do b to get the battery it reads

VBat = 3997 mV
	---> AT+CBC
	<--- +CBC: 0,76,3997
VPct = 76%

the white side of the sim-card is pointing up and the golden side of the sim-card is pointing down in the slot.


I am less familiar with simCOM as I am with U-Blox but I think the +CSQ command result is only valid when the device is connected. If the modem is searching, it may return 99 even if there are one or more valid towers with good signal strength nearby.

Try to upload a sketch (like you mentioned you did) where you can send AT commands directly to the module. This is the best way to get started.

Then try the following commands:

report the sim iccid, should match that in the Hologram dashboard:
+CCID: 89445xxxxxxxxxxxxxx

Verify the simcard is ready
If either of these fail you may have the simcard in incorrectly (sounds like you may not be sure of the correct orientation).

Scan for nearby towers the modem can theoretically connect to:
+COPS: (2,"AT&T","AT&T","310410",2),(1,"T-Mobile","T-Mobile","310260",2),(1,"T-Mobile","T-Mobile","310260",0),,(0-6),(0-2)
This command may error at first, if you get an ERROR or empty response, just leave everything as is for 10 minutes then try it again. Also checkout Nova R410 Issues (Troubleshooting tips and tricks and known issues on the R410 Nova + user feedback on issues) . I know you are using a different modem but both are Cat-M1/NB-IOT modules so may have similar behavior.

I cant quite tell from your description but also make sure ONLY the cellular shield is plugged in to the arduino. Don’t double-stack shields while debugging (and be careful doing it anyway many are not compatible stacked).

Good luck.


Hi. When I do the C command, it matches my CCID, except there is an extra f on the end.

For example, my CCID is 8944501810180206549

and the C command prints out
<— 8944501810180206549f
SIM CCID = 8944501810180206549f

the example is the boiler plate LTE_Demo

void setup() {

at the very end i just have

fona.setNetworkSettings(F("hologram")); // For Hologram SIM card

when i type a, i get

---> AT+CADC?
<--- +CADC: 1,1203
ADC = 1203 mV

idk if that matters.

not sure if this is what you mean, but i’ve tried deploying code to the sim 7000g shield alone (instead of to the redboard microcontroller) and the upload doesn’t work. i asked that question here: - and was advised “You should be deploying code to the microcontroller, not the shield.”

so for my setup it’s just a single red sparkfun (microcontroller) and then the sim7000g (shield) on top - with the soil moisture sensor and the lipo batter and the lte and gps.

when it initializes i see in the console

FONA basic test
Initializing....(May take several seconds)
Configuring to 9600 baud
Attempting to open comm with ATs
	---> AT
	<--- OK
	---> ATE0
	<--- OK
	---> ATE0
	<--- OK
	---> ATI
	<--- SIM7000G R1351


	---> AT+CPMS="SM","SM","SM"
	<--- +CPMS: 0,10,0,10,0,10
Found SIM7000G (Global)
	---> AT+GSN
	<--- 869951030012359
Module IMEI: 869951030012359
	---> AT+CFUN=1
	<--- OK
	---> AT+CGDCONT=1,"IP","hologram"
	<--- OK

idk if my soldering is bad and that’s causing this on part of it…



Answers to some of your questions

Programming the shield?
Right you don’t write programs to the shield directly only to the micro controller. What I mean is you want to get to the state where you can send lower level AT commands directly to the modem instead of groups of commands such as what you get with “a” and “C”.

checkout: this looks like what you need. Once you are in this mode and can send AT commands directly for better debugging. This is what I mean by Try to upload a sketch (like you mentioned you did) where you can send AT commands directly to the module.

Is your soldering ok?
Overall the soldering job is sufficient, it looks like 4 or 5 pins on the upper left of your pictures aren’t soldered, you should solder them but they wouldn’t be causing any issue with connectivity.

Results of your “C” command
the extra 'f" is fine, this is good it means the simcard is correctly installed and the modem can read it.

Further debugging

Can you verify you are in the USA and if not what country are you in?

Then try the following:

  1. follow the link I provided on testing at commands and run through the commands I listed above.
  2. wait 5 minutes and run AT+CREG? a result of 1 or 5 means you are connected
  3. run AT+CFUN=1,1 which will restart the module, again wait a few minutes and try AT+CREG?
  4. leave everything as-is for 2-3 hours and re-run AT+CREG? and the AT+COPS=? commands.

Also I would start looking through the AT command manual for this modem as well as the demo code and others that you can find online. In general I have found the hardest bit of cellular connected IoT devices can be getting them properly configured to get online and dedecting / handling when the connector or network is disconnected.


thanks. got it. yes. i live in Florida in the USA.

ok command AT+CPIN? gives


When I do ** AT+COPS=?**, after a few seconds i get

+COPS: (1,"310 260","310 260","310260",0),,(0,1,2,3,4),(0,1,2)

I ran ** AT+CREG?** and that says
+CREG: 0,2

I then did AT+CFUN=1,1 and then after waiting 2 minutes I tried AT+CREG? (after restarting and re-uploading the LTE_Demo and getting into the AT commands with S) which gives

+CREG: 0,2


now i am on step 4 and will wait 2-3 hours and before trying AT+CREG?, followed by AT+COPS=?

I did try the n command in the interim just in case (i hope that’s ok) to test and got
<— +CGREG: 0,2
and then the G command gives

	<--- SHUT OK
	---> AT+CGATT=1
Failed to turn on

now i will wait 2 hours.


Create serial passthru tunnel with [S] now seems to not work. the console (serial monitor) hangs forever with


I’ve waited probably a good 3 minutes waiting for the device to stop hanging on the passthru tunnel.

The blue light flashes like once every second on the sim7000g and the power light is solid green.
I’ve tried unplugging, re-uploading re-assembling a few times now with the same result.


Hmmm… thats no good. that seems to be a problem with the shield. Do the other commands work that you were using before? such as “a” / “n”.

I would also recommend posting on forums for the shiled as some of your issues may be shield or simcom modem dependent


Hi Andrew,

When I do a I see

---> AT+CADC?
<--- +CADC: 1,1434
ADC = 1434 mV`

when i do n i see

---> AT+CGREG?
	<--- +CGREG: 0,2
Network status 2: Not registered (searching)

So, doing ‘n’ was always like that though. Do you think doing the [S] commands before made serial pass-thru not work anymore, or it just means the sim7000g was not totally working when i first got it?

I will post on their forum as well


‘s’ likely switches to serial passthrough and stays there, so once you enter ‘s’ mode ‘a’ and ‘n’ likely wont work.

For debugging just go into ‘s’ and stay there. I am guessing the module works fine and you just have to get familiar with the demo code and AT commands, this can get confusing but unfortunately that is part of embedded cellular connectivity (unless you go with Hologram Nova on an Raspberry Pi).

When debugging please only run the commands instructed and dont do a bunch of other things like power cycle the device and re-program the demo. All of these could be causing issues / changing the state of the microcontroller and modem and my (and anyone else’s feedback) will always be to repeat the debugging steps exactly as written.

Note the ‘a’ command seems to just be reading the modems analog to digital converter value and has nothing to do with network connectivity, so no need to run that macro or AT command.

Since we verified the simcard is being read successfully and it can see network towers try running (in ‘s’ mode):


If not registered, leave everything as is and powered on for 15 minutes, then try AT+CREG? again.

If still not registered, leave as-is (still powered on, still in ‘s’ mode) for 2-3 hours. then try AT+CREG? again.

Note the AT+CFUN commands reboot the modem, so wait a few seconds after running these commands before sending the next command.


tunneling works. here are the results to the commands.





+CGDCONT: 1,"IP","hologram","",0,0,0,0

+CREG: 0,2 OK

then i did it again

according to this site: 2 meant the sim was ‘searching a new operator’ and when the AT+CREG command returned 0 it meant the device was no longer searching and not registered.


+CFUN: (0-1,4-7),(0-1)