What is an FPLMN list?

An FPLMN (Forbidden Public Land Mobile Network) list is stored on the SIM and is used by the device to know which Networks it should not connect to.

Why is an FPLMN list important?

If you've ever dealt with IoT devices, you might have noticed that sometimes they take longer than expected to connect to a cellular network. While there can be various reasons for this, one common culprit is what's known as the FPLMN list.

Here's how it works: When a device tries to register with a network but gets the cold shoulder for any reason, that network gets added to the FPLMN list. Let's say you're in an area with three networks available, but your SIM card can only connect to one due to comercial agreements. After attempting to connect with all three networks, the device updates its FPLMN list with the ones it shouldn't bother with. So, the next time it tries to connect, it skips the ones that it knows it won't connect to and attempts the connection with the correct network from the first try.

This can save significant time, especially when your device is rebooted or used sporadically. It's a small efficiency that can make a big difference!

So why can it cause longer connection times?

Well, imagine you add a SIM that was not activated, to a device. Or maybe the card is active but is disabled from the Simbase dashboard - or, maybe the device is in a country where the SIM does not have an active data plan yet.

In all these scenarios, the device will pick each available network, one at a time, it will attempt registration and as each attempt gets rejected it will add the networks to the FPLMN list.

Next time when you boot the device and the SIM is already activated, enabled from the Simbase dashboard and the correct plan is provisioned , the device will no longer attempt the registration as the available networks are on the Forbidden (FPLMN) list. One thing to note is the the FPLMN list can store up to 4 networks at a time.

If this happens, how can we fix it?

As a general rule, it is best practice to avoid allowing devices to attempt registration when we know the SIM card is either not activated or is not on the right plan. The good news is that FPLMN lists can be cleared. So let’s explore how.

  1. Insert the SIM into a phone - In most scenarios the FPLMN list will be cleared if the SIM card is inserted into a phone. If the phone is still unable to register to any networks, the next step would be to disable automatic network selection, and attempt the connection with the available operators, one by one.

    Switching to manual network selection will clear the list however, if your SIM continues to have registration issues, most likely the problem is not the FPLMN list.

  2. Remove the SIM from the device - Most devices will clear the FPLMN list if the SIM is removed or replaced. Power down the device, remove the SIM, than power it on , insert the SIM back and reboot the device once more.

    Of course, this option is only possible if the device is within reach and the SIM card is in one of the standard formats: 1FF/2FF/3FF/4FF.

  3. Change the location - As previously noted, the FPLMN list contains up to four entries. When attempting to register to restricted networks, new registration attempts override existing FLPMN entries. However, this solution may not always be feasible, especially since in most scenarios the SIM would need to cross borders in order of this to work.

  4. AT Commands - This method requires some technical knowledge about AT commands but, this article aims to make it easy for you and walk you through the steps.

    There’s only two AT commands that need to be run in order to clear the FPLMN list - however, you will need to be able to either SSH into your device with Terminal, use the CLI of the router or use an SSH client. All the prerequisites for successfully using AT commands are explained in this Blog post. As usual, we’ll be using the Terminal to SSH into our Teltonika RUT 241 router.

  • The first command that we’ll be using instructs the device to read the Forbidden PLMNs:


    AT+CRSM=176,28539,0,0,12


  • 176 is the service code for "Read Binary" operation.

  • 28539 is the identifier for the FPLMN (Forbidden PLMN) list.

  • 0,0 are offsets (typically set to 0 for beginning) and lengths.

  • 12 indicates the length of the data to be read.


The second command will clear the PLMNs from the list:

'AT+QFPLMNCFG="Delete","all"'

As you can see in the above image, after clearing the FPLMN list I ran the AT+CRSM=176,28539,0,0,12 once more and the result is "FFFFFFFFFFFFFFFFFFFFFFFF" which means the list is empty.

Please remember that these commands are valid for most modem’s out there however, there may be devices that require specifc access or different commands to perform the same actions.

Previous
Previous

What is IoT and where is it used in your daily life?

Next
Next

AT Commands: Router setup and Connectivity tests