- This application note provides an example for configuring SIMCOM SIM7100E/SIM5360E over Linux
- This application note applies to fitlet2 with the above mentioned modems.
List of tested devices
- The guide was tested on a systems with the specs listed below, but should be easily adaptable
- NOTE: nmcli and mmcli tools used in the guide do not require X windows system and desktop environment, they work on servers as well
Device: fitlet2
CPU: Intel(R) Atom(TM) Processor E3950
BIOS: 05/14/2018 American Megatrends Inc. FLT2.0.40.01.00
OS: Linux Mint 19 Tara
Kernel: 4.15.0-23-generic
Modem: SIM7100E
Device: fitlet2
CPU: Intel(R) Atom(TM) Processor E3950
BIOS: 05/14/2018 American Megatrends Inc. FLT2.0.40.01.00
OS: CentOS 7
Kernel: 4.17.11-1.el7.elrepo.x86_64
Modem: SIM5360E
Detailed modem and SIM information
$ mmcli -m 0
/org/freedesktop/ModemManager1/Modem/0 (device id '58d13e091173f65e74b1b6ad29a0dd14f3e118a3')
-------------------------
Hardware | manufacturer: 'QUALCOMM INCORPORATED'
| model: 'SIMCOM_SIM7100E'
| revision: 'M9615A-CETWTBZM-6.0.15255 1 [May 13 2016 01:00:00]'
| supported: 'gsm-umts
| lte
| gsm-umts, lte'
| current: 'gsm-umts, lte'
| equipment id: '866802020708816'
-------------------------
System | device: '/sys/devices/pci0000:00/0000:00:15.0/usb1/1-8/1-8.2'
| drivers: 'option1, qmi_wwan'
| plugin: 'SimTech'
| primary port: 'cdc-wdm0'
| ports: 'ttyUSB0 (qcdm), ttyUSB2 (at), cdc-wdm0 (qmi), wwp0s21f0u8u2i5 (net), ttyUSB3 (at)'
-------------------------
Numbers | own : 'unknown'
-------------------------
Status | lock: 'sim-pin2'
| unlock retries: 'sim-pin (5), sim-pin2 (5), sim-puk (5), sim-puk2 (5)'
| state: 'registered'
| power state: 'on'
| access tech: 'umts'
| signal quality: '41' (recent)
-------------------------
Modes | supported: 'allowed: 2g, 3g, 4g; preferred: none'
| current: 'allowed: 2g, 3g, 4g; preferred: none'
-------------------------
Bands | supported: 'dcs, egsm, u2100, u1800, u850, u900, eutran-i, eutran-iii, eutran-vii, eutran-viii, eutran-xx, eutran-xxxviii, eutran-xl'
| current: 'dcs, egsm, u2100, u900, eutran-i, eutran-iii, eutran-vii, eutran-viii, eutran-xx, eutran-xxxviii, eutran-xl'
-------------------------
IP | supported: 'ipv4, ipv6, ipv4v6'
-------------------------
3GPP | imei: '866802020708816'
| enabled locks: 'none'
| operator id: '42503'
| operator name: 'unknown'
| subscription: 'unknown'
| registration: 'home'
-------------------------
SIM | path: '/org/freedesktop/ModemManager1/SIM/0'
-------------------------
Bearers | paths: 'none'
$ mmcli -i 0
SIM '/org/freedesktop/ModemManager1/SIM/0'
-------------------------
Properties | imsi : '425030300567978'
| id : '8997250003005679782'
| operator id : '42503'
| operator name : 'Rami Levy'
Configure cellular connection
$ sudo nmcli connection edit type gsm con-name "Rami Levi Mobile"
===| nmcli interactive connection editor |===
Adding a new 'gsm' connection
Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, gsm, serial, ppp, ipv4, ipv6, tc, proxy
nmcli>
- Edit the APN settings of your network. Comprehensive lists of major carriers and their settings can be found online: https://mobilebroadbandprovider.info/
- NOTE: In most cases the only information required is the APN and sometimes a username and password – all other fields may be left at their defaults
nmcli> set gsm.apn internet.rl
nmcli> set gsm.username rl@3g
nmcli> set gsm.password rl
nmcli>
- Review your APN and other settings with print command:
nmcli> print
===============================================================================
Connection profile details (Rami Levi Mobile)
===============================================================================
connection.id: Rami Levi Mobile
connection.uuid: 36fbc401-a3c8-4735-a404-fcbbc119943d
connection.stable-id: --
connection.type: gsm
connection.interface-name: --
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.auth-retries: -1
connection.timestamp: 0
connection.read-only: no
connection.permissions: --
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
-------------------------------------------------------------------------------
ipv4.method: auto
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: ""
ipv4.dns-priority: 0
ipv4.addresses: --
ipv4.gateway: --
ipv4.routes: --
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.never-default: no
ipv4.may-fail: yes
ipv4.dad-timeout: -1 (default)
-------------------------------------------------------------------------------
ipv6.method: auto
ipv6.dns: --
ipv6.dns-search: --
ipv6.dns-options: ""
ipv6.dns-priority: 0
ipv6.addresses: --
ipv6.gateway: --
ipv6.routes: --
ipv6.route-metric: -1
ipv6.route-table: 0 (unspec)
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: -1 (unknown)
ipv6.addr-gen-mode: stable-privacy
ipv6.dhcp-send-hostname: yes
ipv6.dhcp-hostname: --
ipv6.token: --
-------------------------------------------------------------------------------
gsm.number: *99#
gsm.username: rl@3g
gsm.password: <hidden>
gsm.password-flags: 0 (none)
gsm.apn: internet.rl
gsm.network-id: --
gsm.pin: <hidden>
gsm.pin-flags: 0 (none)
gsm.home-only: no
gsm.device-id: --
gsm.sim-id: --
gsm.sim-operator-id: --
gsm.mtu: auto
-------------------------------------------------------------------------------
proxy.method: none
proxy.browser-only: no
proxy.pac-url: --
proxy.pac-script: --
-------------------------------------------------------------------------------
nmcli>
- Supposing you're running as root, you'll now be able to save your connection and exit
nmcli> save
Saving the connection with 'autoconnect=yes'. That might result in an immediate activation of the connection.
Do you still want to save? (yes/no) [yes] yes
Connection 'Rami Levi Mobile' (36fbc401-a3c8-4735-a404-fcbbc119943d) successfully saved.
nmcli> quit
- Review your connections info
$ nmcli
cdc-wdm0: connected to Rami Levi Mobile
"cdc-wdm0"
gsm (option1, qmi_wwan), hw, iface wwp0s21f0u8u2i5, mtu 1500
ip4 default
inet4 10.44.64.145/30
route4 0.0.0.0/0
route4 10.44.64.144/30
eno1: unavailable
"Intel I211 Gigabit"
ethernet (igb), 00:01:C0:20:27:6C, hw, mtu 1500
enp1s0: unavailable
"Intel I211 Gigabit"
ethernet (igb), 00:01:C0:20:27:6B, hw, mtu 1500
lo: unmanaged
"lo"
loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
DNS configuration:
servers: 91.135.102.8 91.135.104.8
interface: wwp0s21f0u8u2i5
- That's all, you are connected