This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:network_mana:backhaul [2023/01/26 12:05] cro [Cellular configuration] |
wiki:network_mana:backhaul [2024/03/07 13:49] (current) ehe |
||
---|---|---|---|
Line 122: | Line 122: | ||
</note> | </note> | ||
+ | === Fallback DNS servers === | ||
+ | |||
+ | Fallback DNS server are used if no DNS server is given by DHCP server of a particular service. They can be configure using following parameter: | ||
+ | |||
+ | <code bash> | ||
+ | FallbackNameservers = 9.9.9.9,8.8.8.8,1.1.1.1 | ||
+ | </code> | ||
==== Ethernet configuration ==== | ==== Ethernet configuration ==== | ||
Line 191: | Line 198: | ||
==== Cellular configuration ==== | ==== Cellular configuration ==== | ||
- | |||
- | <note warning> | ||
- | * If a Roaming SIM card is inserted in the gateway, the **MCC/MNC** codes to configure should be those ones of the SIM and not those of the local operator. | ||
- | * Please see **SubscriberIdentity** line in gsmdiag.py result to know the **MCC/MNC** of the SIM card (5 first digits). | ||
- | * The **APN** to configure is the one of the SIM provider also, not the one of the local operator. | ||
- | </note> | ||
- | |||
Line 217: | Line 217: | ||
It is used to define APN, PIN code and cellular context: | It is used to define APN, PIN code and cellular context: | ||
- | * Multiple PIN code for multiple SIM card can be stored in this file (using SIM card ICCID). | + | * A default APN for all SIM cards can be stored in this file. In this case, the MCC/MNC are not needed. |
+ | * Multiple APN for multiple SIM card can be stored (using MCC/MNC of the SIM). | ||
* A default PIN code for all SIM cards can be stored. | * A default PIN code for all SIM cards can be stored. | ||
+ | * Multiple PIN code for multiple SIM card can be stored (using SIM card ICCID). | ||
* Usually SIM cards only need ''SIM PIN'' code to be unlocked but sometimes other types of PIN code can be used, as described in the example below. | * Usually SIM cards only need ''SIM PIN'' code to be unlocked but sometimes other types of PIN code can be used, as described in the example below. | ||
+ | |||
+ | A file named ''/etc/network/ofono/default_provisioning'' contains several operators configuration (MCC, MNC, APN) for several countries. \\ | ||
+ | |||
+ | If the SIM used is already configured in this file, there is no need of configuring the APN the ''/etc/network/ofono/provisioning''. | ||
+ | |||
+ | <note important>The PIN code, if set, still needs to be configured in ''/etc/network/ofono/provisioning''.</note> | ||
+ | |||
+ | <note warning> On Wirnet iZeptoCell-Cellular, the APN that must be used is ''bicsapn''. It is pre-configured on this gateway and this configuration should not be changed | ||
+ | </note> | ||
+ | |||
<file ini provisioning> | <file ini provisioning> | ||
# Syntax: | # Syntax: | ||
- | #[operator:MCC,MNC] | ||
- | #internet.AccessPointName=APN => only mandatory field | ||
- | #internet.Username=myUsername | ||
- | #internet.Password=myPassword | ||
- | #internet.AuthenticationMethod=[chap, pap] => default is chap | ||
- | #internet.Protocol=[ip, ipv6, dual] => default is ip | ||
# | # | ||
- | #[sim:ICCID] | + | ## Default "operator" configuration: |
- | #pin=XXXX => SIM PIN of SIM identified by ICCID | + | #[operator] |
- | #phone=XXXX => PH-SIM PIN of SIM identified by ICCID | + | #internet.AccessPointName=<APN> # Mandatory |
- | #firstphone=XXXX => PH-FSIM PIN of SIM identified by ICCID | + | #internet.Username=<username> |
- | #network=XXXX => PH-NET PIN of SIM identified by ICCID | + | #internet.Password=<password> |
- | #netsub=XXXX => PH-NETSUB PIN of SIM identified by ICCID | + | #internet.AuthenticationMethod=<method> # chap (default), pap, none |
- | #service=XXX => PH-SP PIN of SIM identified by ICCID | + | #internet.Protocol=<protocol> # ip (default), ipv6, dual |
- | #corp=XXXX => PH-CORP PIN of SIM identified by ICCID | + | |
# | # | ||
+ | ## Specific "operator" configuration: | ||
+ | #[operator:<MCC>,<MNC>] | ||
+ | #internet.AccessPointName=<APN> # Mandatory | ||
+ | #internet.Username=<username> | ||
+ | #internet.Password=<password> | ||
+ | #internet.AuthenticationMethod=<method> # chap (default), pap, none | ||
+ | #internet.Protocol=<protocol> # ip (default), ipv6, dual | ||
+ | # | ||
+ | ## Default "sim" configuration: | ||
#[sim] | #[sim] | ||
- | #pin=XXXX => default SIM PIN | + | #pin=<pin> # SIM pin |
- | #phone=XXXX => default PH-SIM PIN | + | #phone=<pin> # PH-SIM pin |
- | #firstphone=XXXX => default PH-FSIM PIN | + | #firstphone=<pin> # PH-FSIM pin |
- | #network=XXXX => default PH-NET PIN | + | #network=<pin> # PH-NET pin |
- | #netsub=XXXX => default PH-NETSUB PIN | + | #netsub=<pin> # PH-NETSUB pin |
- | #service=XXX => default PH-SP PIN | + | #service=<pin> # PH-SP pin |
- | #corp=XXXX => default PH-CORP PIN | + | #corp=<pin> # PH-CORP pin |
- | + | # | |
- | # Orange | + | ## Specific "sim" configuration: |
- | [operator:208,01] | + | #[sim:<ICCID>] |
- | internet.AccessPointName=orange.m2m.spec | + | #pin=<pin> # SIM pin |
- | + | #phone=<pin> # PH-SIM pin | |
- | # SFR | + | #firstphone=<pin> # PH-FSIM pin |
- | [operator:208,10] | + | #network=<pin> # PH-NET pin |
- | internet.AccessPointName=websfr | + | #netsub=<pin> # PH-NETSUB pin |
+ | #service=<pin> # PH-SP pin | ||
+ | #corp=<pin> # PH-CORP pin | ||
</file> | </file> | ||
Line 260: | Line 276: | ||
<note important> | <note important> | ||
- | * If a Roaming SIM card is inserted in the gateway, the **MCC/MNC** codes to configure should be those ones of the SIM and not those of the local operator. | + | * If a Roaming SIM card is inserted in the gateway, the **APN** codes to configure should be those ones of the SIM and not those of the local operator. |
- | * Please see **SubscriberIdentity** line in gsmdiag.py result to know the **MCC/MNC** of the SIM card (5 first digits). | + | * If needed, please see **SubscriberIdentity** line in gsmdiag.py result to know the **MCC/MNC** of the SIM card (5 first digits). |
- | * The **APN** to configure is the one of the SIM provider also, not the one of the local operator. | + | * The **MCC/MNC** to configure is the one of the SIM provider also, not the one of the local operator. |
</note> | </note> | ||
Line 268: | Line 284: | ||
- | To update oFono with the last configuration, each time the provisioning file is changed, a service ''reset'' has to be performed. | + | To update oFono with the last configuration, each time the file is changed, a service ''reset'' has to be performed. |
<code bash> | <code bash> | ||
Line 282: | Line 298: | ||
== GSM diagnosis tool == | == GSM diagnosis tool == | ||
- | <note important> | ||
- | The //GSM diagnosis// tool is delivered //as-is// (not fully validated). | ||
- | </note> | ||
GSM diagnosis tool is a script using oFono interfaces to detect most common problems on cellular modems. It can also be used to have a quick view of cellular modems status on board. | GSM diagnosis tool is a script using oFono interfaces to detect most common problems on cellular modems. It can also be used to have a quick view of cellular modems status on board. | ||
- | It produces a text file ''/tmp/gsmdiag.txt'' with information on modem status inside. | + | It produces information on modem status directly on the console and also a text file ''/tmp/gsmdiag.txt''. |
- | Call of script: | + | Call of script: ''# gsmdiag.py'' |
+ | Diagnosis output examples: | ||
+ | ++++ Modem ready to connect| | ||
<code bash> | <code bash> | ||
# gsmdiag.py | # gsmdiag.py | ||
- | Diagnostic written in /tmp/gsmdiag.txt | ||
- | </code> | ||
- | |||
- | Diagnosis file (wrong pin code case): | ||
- | |||
- | <file> | ||
- | Number of modems: 1 | ||
- | [Modem:/sierra_1] | ||
- | Powered:1 | ||
- | Online:0 | ||
- | Manufacturer:Sierra Wireless, Incorporated | ||
- | Model:MC7304 | ||
- | Revision:SWI9X15C_05.05.39.02 r22713 carmd-fwbuild1 2014/06/19 16:48:58 | ||
- | [SimProps] | ||
- | Present:1 | ||
- | CardIdentifier:89330120403002181830 | ||
- | SubscriberIdentity: property does not exist | ||
- | LockedPins:dbus.Array([dbus.String(u'pin')], signature=dbus.Signature('s'), variant_level=1) | ||
- | PinRequired:pin | ||
- | Error: SIM code required (PIN, PUK, ...) | ||
- | </file> | ||
- | |||
- | Diagnosis file (modem ready to connect): | ||
- | |||
- | <file> | ||
Number of modems: 1 | Number of modems: 1 | ||
[Modem:/sierra_0] | [Modem:/sierra_0] | ||
Line 348: | Line 338: | ||
Password: | Password: | ||
AuthenticationMethod:chap | AuthenticationMethod:chap | ||
- | </file> | + | Diagnostic written in /tmp/gsmdiag.txt |
+ | </code> | ||
+ | ++++ | ||
+ | |||
+ | ++++ SIM not detected| | ||
+ | <code bash> | ||
+ | # gsmdiag.py | ||
+ | Number of modems: 1 | ||
+ | [Modem:/quectelqmi_2] | ||
+ | Syspath:/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb2/2-1/2-1.1 | ||
+ | HardwarePosition:internal | ||
+ | Powered:1 | ||
+ | Online:1 | ||
+ | Manufacturer:QUALCOMM INCORPORATED | ||
+ | Model:QUECTEL Mobile Broadband Module | ||
+ | Revision:EG25GGBR07A08M2G | ||
+ | [SimProps] | ||
+ | Present:0 | ||
+ | Error: no SIM in modem (double checked with AT commands) | ||
+ | Diagnostic written in /tmp/gsmdiag.txt | ||
+ | </code> | ||
+ | ++++ | ||
+ | |||
+ | ++++ SIM detected but not operational| | ||
+ | <code bash> | ||
+ | # gsmdiag.py | ||
+ | Number of modems: 1 | ||
+ | [Modem:/quectelqmi_1] | ||
+ | Syspath:/sys/devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1 | ||
+ | HardwarePosition:internal | ||
+ | Powered:1 | ||
+ | Online:1 | ||
+ | Manufacturer:QUALCOMM INCORPORATED | ||
+ | Model:QUECTEL Mobile Broadband Module | ||
+ | Revision:EG25GGBR07A07M2G | ||
+ | [SimProps] | ||
+ | Present:0 | ||
+ | Error: SIM detected (ICCID: 8959102062181454741F) but not usable by Ofono | ||
+ | Diagnostic written in /tmp/gsmdiag.txt | ||
+ | </code> | ||
+ | ++++ | ||
+ | |||
+ | ++++ Wrong pin code case| | ||
+ | |||
+ | <code bash> | ||
+ | # gsmdiag.py | ||
+ | Number of modems: 1 | ||
+ | [Modem:/sierra_1] | ||
+ | Powered:1 | ||
+ | Online:0 | ||
+ | Manufacturer:Sierra Wireless, Incorporated | ||
+ | Model:MC7304 | ||
+ | Revision:SWI9X15C_05.05.39.02 r22713 carmd-fwbuild1 2014/06/19 16:48:58 | ||
+ | [SimProps] | ||
+ | Present:1 | ||
+ | CardIdentifier:89330120403002181830 | ||
+ | SubscriberIdentity: property does not exist | ||
+ | LockedPins:dbus.Array([dbus.String(u'pin')], signature=dbus.Signature('s'), variant_level=1) | ||
+ | PinRequired:pin | ||
+ | Error: SIM code required (PIN, PUK, ...) | ||
+ | Diagnostic written in /tmp/gsmdiag.txt | ||
+ | </code> | ||
+ | ++++ | ||
+ | |||
== getmodeminfo.py tool == | == getmodeminfo.py tool == | ||
Line 398: | Line 452: | ||
</note> | </note> | ||
- | On Wirnet iZeptoCell Cellular, serial port to access cellular module //AT// command interface is ''/dev/ttymxc2'' (speed: 115200). | + | On other gateways with an internal modem, serial port to access cellular module //AT// command interface is ''/dev/ttyAT'' (speed: 115200). |
- | + | ||
- | On other gateways with an internal modem, serial port to access cellular module //AT// command interface is ''/dev/ttyAT'' (speed does not matter). | + | |
It is not possible to send AT commands to external USB dongles used on Wirnet iFemtoCell. | It is not possible to send AT commands to external USB dongles used on Wirnet iFemtoCell. | ||
Line 410: | Line 462: | ||
86769xxxxxxxxx8 | 86769xxxxxxxxx8 | ||
OK</code> | OK</code> | ||
- | * Get IMSI (iZeptoCell Cellular):<code bash>echo $'AT+CIMI\r' | microcom -s 115200 /dev/ttymxc2 | ||
- | # result: | ||
- | root@klk-zcel-xxxxxx:~ # echo $'AT+CIMI\r' | microcom -s 115200 /dev/ttymxc2 | ||
- | AT+CIMI | ||
- | |||
- | XXXXXXXXXXXXXXX | ||
- | |||
- | OK</code> | ||
- | <note warning>When manually sending AT commands to modem, be sure there is no other software using the same channel</note> | ||
== QMI (Wirnet iBTS only) == | == QMI (Wirnet iBTS only) == | ||
Line 535: | Line 578: | ||
ifup eth0 | ifup eth0 | ||
</code> | </code> | ||
+ | |||
+ | ===== Router Mode ===== | ||
+ | ==== Purpose ==== | ||
+ | The aim of the router mode is to bring data connection to a sub-network thanks to a connection from a single gateway. | ||
+ | |||
+ | Here is an example of how it could be used :\\ | ||
+ | {{:images:router_mode.jpg?850|}} | ||
+ | |||
+ | ==== Router configuring ==== | ||
+ | To activate the router mode on a gateway, some commands need to be made in the gateway console. | ||
+ | |||
+ | Here are the commands : | ||
+ | <code bash> | ||
+ | # Activate router mode | ||
+ | echo "ROUTER=yes" > /etc/default/localnet.conf | ||
+ | |||
+ | # Edition of /etc/network/connman/main.conf to disable handling of eth0: | ||
+ | NetworkInterfaceBlacklist = vmnet,vboxnet,virbr,ifb,eth1,wlan-adm,usb,eth0 | ||
+ | |||
+ | # Add eth0 to localnet handling by adding this line in /etc/udev/rules.d/localnet.rules | ||
+ | SUBSYSTEM=="net", KERNEL=="eth0", RUN+="/etc/udev/scripts/localnet.sh" | ||
+ | |||
+ | # Make sure this config is saved in case of firmware upgrade | ||
+ | echo "/etc/udev/rules.d/localnet.rules" > /etc/sysupgrade.d/localnet.conf | ||
+ | </code> | ||
+ | |||
+ | These commands need to be made on the gateway which will host the connection only. Nothing has to be done on other gateway(s).\\ | ||
+ | A reboot of the gateway is needed to apply this configuration. You can do so with the command ''reboot'' | ||
+ | |||
+ | The host gateway can now provide data connection locally to another gateway or to multiple gateways thanks to an ethernet switch. \\ | ||
+ | Local connections to the switch can be: | ||
+ | * Ethernet and/or | ||
+ | * WLAN |