Using a different APN with a Particle SIM

I was wondering if it is possible to specify the APN (or network provider, in general) even when using a Particle SIM. I am in New Zealand and I am trying to manually connect to the Spark network, which I assume uses one of the APNs on this site.
So far, I have tried internet and connect, but these only cause the status LED to flash green, indicating that it is attempting to connect to the network.

Can a Particle SIM use a different APN? Would I need to use a Spark NZ SIM instead? I'm using a Particle E313, which has an embedded SIM, as far as I know.

My goal is to implement some sort of fallback for if the device is connected to the network, but the network has no internet connection (which seems to have happened in the past). If the device is connected to One NZ, formerly Vodafone, and has no internet connection, I would like the device to switch to the Spark network (or vice versa). Is there a better way to do this?

That's not possible - if you need a device to connect to a different network it will need a third party SIM card, as the ICCID (SIM) is not a Spark SIM. This is not possible on the Eseries unfortunately.

The Particle provided SIMs are locked to the MVNO that has agreements with carriers around the world for connectivity - the APN routes the traffic via the MVNO. The E313 SIM is capable of connecting to both Spark and Vodafone. The device should switch carriers if the other is available.

The alternative is the B524 which has three carrier options (and LTE with 2G fallback) in :new_zealand: - including Spark.

Thanks for your response. Just to be sure I am understanding, there is no way to switch between providers using the Particle SIM, but the MVNO should just switch over to the strongest signal? My two options are to either purchase a SIM of a single provider (although I think this isn't possible, because it looks like E313 and B524 don't support external SIMs) or let the traffic be routed through the MVNO, correct? And this also applies for the B524, except it will also support 2Degrees?

From our observations, it seems that there have been instances where there has been a connection from the Particle device to the Vodafone network, but there was no connection from Vodafone to the Internet. In these situations, it seems that it hasn't automatically switched over to Spark (presumably due to lower signal strength, even though it probably did have an Internet connection). Is it actually possible for this to happen or have we misinterpreted our logs? What should happen if the strongest network doesn't have an Internet connection and is there anything we can do maximise the time it is connected to the Internet in the case that one providers network goes down?

@no1089 I've been messing around the AT commands using the Cellular.command function. When I call AT+COPS?, I get the following response: +COPS: 0,2,"53001",2. The 53001 means NZ (530) and Vodafone (01).

I think—but I'm not certain—that if I call AT+COPS=1,2,"530xx"\r\n (where xx is, say, 05 for Spark), it should switch to Spark. I tried this and after a power cycle, I was connected to Spark instead of Vodafone! I'm not sure if it was just random chance that the device switched to Spark, but I then tried 53001 and it switched to Vodafone after a power cycle :thinking:. I would've done more testing, but I was running into connection issues and had more important things to work on.

Do you know if this just happened by chance, or is this actually the intended behaviour? If it is intended, should I be doing it, or is there a chance of this causing connection issues? Thanks

I'll start by saying that the network selection is up to the modem and the SIM - DeviceOS has no influence there, and forcing carrier selection is never a great idea - it can lead to cases where the device is stuck offline.

You are correct, both the E313 and B524 have embedded eSIMs, and cannot accept external SIM cards.
That being said; the B524 uses a different modem and should perform better since it's LTE Cat 1 with 2G - it's not an apples-apples comparison.

It's possible something on the local Vodafone tower is not quite right. Are you able to reliably replicate the situation where it's stuck without internet? What state is the Particle LED in when this happens?

Can you please DM me 10mins of Cloud Debug | Troubleshooting | Particle?