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 [2020/06/18 15:50] mbi  | 
                
                    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 127: | Line 134: | ||
| ConnMan’s LAN Ethernet configuration is done via an editable configuration file ''/etc/network/connman/lan.config''. This file is not created by default on the gateway. A configuration file ''/etc/network/connman/lan.config.example'' is provided. \\ | ConnMan’s LAN Ethernet configuration is done via an editable configuration file ''/etc/network/connman/lan.config''. This file is not created by default on the gateway. A configuration file ''/etc/network/connman/lan.config.example'' is provided. \\ | ||
| - | Once file ''/etc/network/connman/lan.config'' is created, relaunch ConnMan to apply the configuration ''/etc/init.d/connman restart''. | + | Once file /etc/network/connman/lan.config is created, ConnMan applies automatically the configuration. Executing /etc/init.d/connman restart is not mandatory | 
| By default DHCP is used, there is no default IP address. To use static IP addressing, the field ''IPv4'' can be changed, for example, from | By default DHCP is used, there is no default IP address. To use static IP addressing, the field ''IPv4'' can be changed, for example, from | ||
| Line 135: | Line 142: | ||
| to | to | ||
| - | <code ini>IPv4 = 192.168.1.0/24/192.168.1.1</code> | + | <code ini>IPv4 = 192.168.1.5/24/192.168.1.1</code> | 
| - | Where ''192.168.1.0'' will be the new IP address of the Wirnet gateway, ''24'' will be the subnet length (in bits), and ''192.168.1.1'' will be the default gateway. | + | Where ''192.168.1.5'' will be the new IP address of the Wirnet gateway, ''24'' will be the subnet length (in bits), and ''192.168.1.1'' will be the default gateway. | 
| If DNS resolution is needed, the ''Nameservers'' field can be added. Multiple addresses can be used. For example: | If DNS resolution is needed, the ''Nameservers'' field can be added. Multiple addresses can be used. For example: | ||
| Line 191: | Line 198: | ||
| ==== Cellular configuration ==== | ==== Cellular configuration ==== | ||
| + | |||
| The Wirnet iFemtoCell cellular modem is an external USB cellular dongle, here a list of several dongles tested in the [[wiki:ifemtocell:cellular_backhaul_ifemto|Cellular backhaul]] page.\\ | The Wirnet iFemtoCell cellular modem is an external USB cellular dongle, here a list of several dongles tested in the [[wiki:ifemtocell:cellular_backhaul_ifemto|Cellular backhaul]] page.\\ | ||
| Line 209: | 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 252: | 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. | 
| - | * The **APN** to configure is the one of the SIM provider also, not the one of the local operator. | + | * If needed, please see **SubscriberIdentity** line in gsmdiag.py result to know the **MCC/MNC** of the SIM card (5 first digits). | 
| + | * The **MCC/MNC** to configure is the one of the SIM provider also, not the one of the local operator. | ||
| </note> | </note> | ||
| oFono stores information about SIM cards into the ''/etc/network/ofono/YOUR_IMSI*'' folder. The provisioning file is only used if this folder does not exist. | oFono stores information about SIM cards into the ''/etc/network/ofono/YOUR_IMSI*'' folder. The provisioning file is only used if this folder does not exist. | ||
| - | To update oFono with the last configuration, each time the provisioning file, or the SIM card 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> | ||
| /etc/init.d/ofono reset | /etc/init.d/ofono reset | ||
| </code> | </code> | ||
| + | |||
| + | <note important> | ||
| + | **Each time the SIM card is changed, a service ''reset'' has to be performed.** | ||
| + | </note> | ||
| === Modem tools === | === Modem tools === | ||
| Line 268: | 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 334: | 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 387: | Line 455: | ||
| 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. | ||
| + | |||
| + | * Get IMEI (iStation and iFemtoCell Evolution):<code bash>echo $'AT+CGSN\r' | microcom /dev/ttyAT | ||
| + | # result: | ||
| + | root@klk-wiis-xxxxxx:~ # echo $'AT+CGSN\r' | microcom /dev/ttyAT  | ||
| + | AT+CGSN | ||
| + | 86769xxxxxxxxx8 | ||
| + | OK</code> | ||
| == QMI (Wirnet iBTS only) == | == QMI (Wirnet iBTS only) == | ||
| Line 428: | Line 503: | ||
| </code> | </code> | ||
| - | To trigger the update, first, check the module version of the gateway and make sure it is compatible with the firmware you want to install. Then follow the instruction of the [[wiki:sw_updates|software updates]] page. The update takes about 5 minutes. | + | To trigger the update, first, check the module version of the gateway and make sure it is compatible with the firmware you want to install. Then follow the instruction of the [[wiki:keros_custo:sw_updates|software updates]] page. The update takes about 5 minutes. | 
| A successful upgrade should display this kind of trace: | A successful upgrade should display this kind of trace: | ||
| Line 503: | 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 | ||