Boron - Hologram SIM - Verizon Network Issues

I am testing 2 Borons using a Hologram.io SIM card connecting to Verizon CAT M1. Reason for not using AT&T is because these devices are in rural parts of the country where Verizon has better coverage vs AT&T. The issue I have is the Borons will connect fine to Verizon for about a day/ day and a half and then sometime between 11pm and 1am, something happens and they stop connecting to Verizon. Both devices stop around the same time and they are located in separate cities. I am able to access one of the Borons and they are not locked up. I notice the boron goes back to searching for an operator. I have code that clears the Cell tower blacklist which Hologram has reported as a potential issue. Cell strength is about 30-50%. The boron turns on the modem every 30 minutes, connects to Verizon and then Particle, submits a sensor value, disconnects from Particle, and turns the modem back off.

I am highly concerned right now in reliability of the cell connection. Any one experiencing the same issue with Hologram SIMs?

Thanks

If I remember correctly there already was some discussion about a similar issue where you need to set a specific Cellular.command() for these SIMs.
If you search the forum you’ll probably find that thread.

You are correct and here is the code I am using:
Cellular.on();
delay(10000); //10 seconds

Log.info(“Clear the SIM blacklist…”);
Cellular.command(“AT+CRSM=214,28539,0,0,12,“FFFFFFFFFFFFFFFFFFFFFFFF”\r\n”);

Log.info(“Connecting to Particle Cloud…”);
Particle.connect();
waitFor(Particle.connected, 2 * 60000);

Last night I added a 15 second pause before and after the clearing of the sim blacklist. I also added a call to Cellular.connect before the Particle.connect. This code seem to fix the issue. The boron connected to the Verizon network until about 11:45pm. It stopped again and has not connected since.

The issue is definitely with the fplmn blacklisting. Just running the code to clear it from the sim is not enough. It seems like it gets cleared from the sim then when it tries to connect to Verizon, it is immediately added back to the SIM. I see this when I check the sim again before connecting a second time and it is back on the SIM. Is there a way to disable this blacklisting functionality?

Have you set the network profile to Verizon using AT+UMNOPROF? If you didn't, I'm surprised you were able to connect at all. I found it to be necessary when using Verizon with a Hologram SIM using the Boron LTE.

1 Like

Hey Rick,
I am setting the profile to Verizon. The issue has something to do with an FPLMN entry getting written to the SIM card. With that entry there, it forbids it to connect to Verizon. I have code that is clearing out the entry but it keeps coming back. CREG returns 2,2 when it occurs. I have over 50% signal strength in some cases. It is happening to multiple Borons in multiple cities.

This is the Hologram article I followed to clear the fplmn https://help.hologram.io/en/articles/1991280-how-do-i-clear-the-fplmn-list

Feels like there is something else going on which causes the the FPLMN to get written to the SIM card.

@rickkas7
Had another observation last night.

Followed (https://help.hologram.io/en/articles/2093798-how-can-i-get-my-device-to-switch-networks-via-at-commands) instructions to connect to the Verizon network instead of letting the Particle do it though the Cellular.connect

Hologram’s instructions are to use AT+CREG=1 which Ublox states is: network registration URC +CREG: <stat> enabled. Also called Cellular.command(“AT+COPS=4,2,311480\r\n”); to manually register with Verizon operator which also clears the FPLMN entry.

However, when I let Particle start the cell connection for me, it calls AT+CEREG=2 and AT+COPS=0,2 which Ublox states is: network registration and location information URC+CREG:<stat>[,<lac>,<ci>[,<AcTStatus>]] enabled

The Ublox manual also mentions an FPLMN entry can get written to the SIM card if there is an issue with the location. Any thoughts on why AT+CEREG=2 is used instead of AT+CREG=1? Can this be overridden?

@Particle9,

Did you ever get this resolved? I too am looking for an alternative to AT&T for a rural location.

Thanks,

Chip

1 Like

I normally let Hologram pick the best carrier for me (it alternates between AT&T and Verizon), but I do have code that will explicitly connect to Verizon through Hologram if needed.

I use SYSTEM_MODE(MANUAL) and send these commands before Cellular.connect().

AT+COPS=2
AT+URAT=7
AT+UMNOPROF=3
AT+CFUN=1
3 Likes

Hey Picsil,
How are you letting Hologram choose between the two carriers? I was under the assumption you had to explicitly choose one UMNOPROF command? Thanks.

+UMNOPROF=0 seems to work. I say seems to because while it’s been solid in the last couple of months of testing, when I got to my pilot site last week (weak Verizon and weaker AT&T signal) it connected at first to AT&T, then quit connecting at all. Not sure what was going on.

Not permanently. I am still having to clear the FPLMN list which should not be necessary. I haven’t found an answer why this entry keeps getting added which then prevents the device from connecting to Verizon.

I have seen this happen before with ATT and that is why I switch to Verizon. But on Verizon, I battle the FPLMN issue which prevents it from connecting unless I clear the list before connecting. Frustrating.

@Particle9 or @picsil

I am getting a dark blue flashing status LED from my Boron. After following these instructions:

https://docs.particle.io/support/particle-devices-faq/electron-3rdparty-sims/#setting-up-a-3rd-party-sim-card-boron

and flashing the code from @michaelm this thread:

Any advice? The SIM card is only about 2 months old.

Thanks, Chip

The dark blinking blue indicates mesh network listening mode. I called Mesh.off(); just after I turn on the modem to disable it.

1 Like

@Particle9, Thank you for the suggestion. I have added this to the sketch but am still seeing flashing dark blue.

I am trying to follow the steps here but get this error on the first step - even when the device is in listening mode.

ChipMac Downloads % particle identify
! The `serialport` dependency is missing or invalid.
! Please reinstall: https://docs.particle.io/tutorials/developer-tools/cli/#installing
Cannot find module '@serialport/bindings'

I get this same error from my other Particle devices too so I need to figure this out.

Thanks, Chip