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:
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.
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
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.