Clone
18
SimCardConfig
Thomas Laurent edited this page 2018-08-21 15:14:49 +02:00

Program SIM Cards

Before deploying a LTE network, you need a SIM Cards. There are several ways to programm the SIM card. Either you program it yourself using the available softwares or through a thrid party service. Three elements are needed:

  1. Programmable USIM card with Milenage support
  2. Card Reader/programmer hardware
  3. SIM programmer software
  4. SIM Card Programming issues with pysim
  5. open-cells.com open source SW: open-cells.com

Other Links:

There ar a lot of software to read the SIM cards:

You may also need multiformat SIM card with the SIM card adaptors to switch from nano, micro, and standard format.

Information Needed to program the SIM card

Here is the information you need to programm your SIM cards for OAI (subject to future changes in keys).

Below is the example for Eurecom:

  • Algorithm: Milenage
  • Ki: 8BAF473F2F8FD09487CCCBD7097C6862 (could be changed on per UE basis with the corresponding changes in HSS)
  • OP: 11111111111111111111111111111111
  • C1:00, C2: 01, C3: 02, C4: 04, C5: 08, R1: 40, R2: 00, R3: 20, R4: 40, R5: 60 all in hexa.
  • SPN (service provider Name): OpenAirInterface
  • MCC: 208 (FR)
  • MNC: 93 (new MNO MNC)
  • IMSI: 208930000000001 (MCC|MNC|id), where id is incremented. Note that here the PLMN (20893) is 5 digit, which is why the id 10 digits. Otherwise, for 6 digit PLMN, you only have 9 digit for id.
  • SQN (Sequence number): 000000000001 (this is different from the IMSI)

Notes:

  • Set the SIM card in normal operation mode
  • HSS needs to be prorammed for each UE SIM
  • The above information only pertains for the data communication. If you want to set the SIM card for voice connection, you need also to
    • MSISDN
    • IMPI
    • IMPU
    • Domain
    • P-CSCF

Tested LTE UE Devices and SIM Cards

Dongle

SIM Cards

  • Upteq
  • LinqUs
  • Gemalto legacy

Others that should works

  • Qipso
  • Non-Gemalto

Smartphone

You need to enter to the hidden menu, and select LTE-only mode.

  • NEXUS 4: hiddle code: *#*#4636#*#*. Then phone information, and select LTE_ONLY.
  • LG NEXUS 5, Hidden code: #*#4636#*#. Then phone information, and select LTE_ONLY.
  • Galaxy S V, hidden code: *#0011#. Then select back, input Q and press ok, then input 0000 and then ok. Then wait for 5 seconds.
    • LTE Only Mode:
      • UE Setting --> Setting --> Protocol --> NAS --> Network Control --> Band Selection --> LTE Band Preference --> LTE-ALL (or your preferred band).
      • UE Setting --> Setting --> Protocol --> NAS --> Network Control --> Pref Mod Set --> LTE_ONLY.
      • UE Setting --> Setting --> Protocol --> NAS --> Network Control --> Service Domain --> PS ONLY.
    • LTE Rel 10:
      • UE Setting --> Setting --> Protocol --> AS --> Release Version --> LTE 3GPP REL/CA Control. Then enable LTE 3GPP Rel10 and CA enabled.
    • Both cases require phone reboot for changes to take effect.
  • Other tested Smartphones: Samsung Galaxy 4, 5, 6, Note 4, Nexus 4, 5, and 6, iPhone 5, Sony Experia M4.
  • IPAD Air
  • Samsung Galaxy S6 Edge, You can set the band 5 or band 7 by doing *#2263#. Then go to 'Band Selection' and select LTE_ALL or LTE_ where is the correct band. Here is the link, https://www.youtube.com/watch?v=N0xWhf-kVMc

NOTE: Samsung begun SIM locking in recent smartphones, see this link. To avoid problems, you need to program your SIM cards with the MCC and MNC to the home region of the smarphone.

Known Issue (UE cannot browse Internet even though it is connected)

Sometimes, the UE can not browse the internet if the MTU of its LTE interface is higher than 1428. OAI EPC is transmitting a message at some point indicating the mtu size the UE should use for this interface, but some UEs ignore it and use 1500 mtu (that does not work). From my tests:

  • Moto G 4G Android 4.4.4 : ok
  • Samsung GS5 Android 5.0.1 : mtu 1500, does not work out of the box, need root to set mtu.
  • Samsung GS6 Android 5.0.1 : same as GS5, needs root.
  • Sony Xperia Z2 tablet Android 4.4.4 : mtu 1500, needs root. Android 5.0.1: mtu 1500, needs root. Android 6.0 : mtu 1428, ok.
  • Huawei e392 : mtu 1500 on windows or linux, can be fixed with sudo ifconfig wwan0 mtu 1428 and another specific command on windows.

On Android, the interface is usually called rmnet0 or rmnet_data0. On some phone it shows up with "netcfg", on some with "ifconfig", on some you need to be root to list the interface and see the parameters. It is accessible (cat to see, or echo (a priori needs root to work) to set the value) in /sys/class/net/interfacename/mtu

Known Issue: Sometimes the phone will not want to connect to OAI.

Try to avoid phones bought from a certain carrier. They have a wrapper that will block other networks, for example OAI. Here is another solution, but try at your own risk, https://lists.eurecom.fr/sympa/arc/openair5g-user/2016-06/msg00076.html

Known Issue: Sometimes phone would not want to scan a supported band

Follow this article but at your own risk, http://forum.xda-developers.com/galaxy-s5/general/how-to-add-rf-lte-frequency-bands-to-t2886059