Summit Network Manager User Guide Overview This document outlines the added features of the Ezurio version of NetworkManager. Some of these features are only compatible with our Summit software stack and do not work with the Sterling software stack. Unless otherwise specified, these commands work with radios other than the 60 series. Summit Software Stack For more information about the Summit software stack, please contact your local RSM or contact us at https://www.ezurio.com/contact NetworkManager For general information about the parent project on which this work is based, visit the following: https://networkmanager.dev/docs/api/latest/ Basic Connectivity This section provides commands to configure connection profiles for basic usage. This is only meant as a demonstration. We recommend that you follow the link provided in the Overview section and read the man (manual) pages for more information. Getting Started and Useful Commands man Pages # man nmcli # man nmcli-examples Starting up Wi-Fi The following is an example of starting up Wi-Fi and scanning for a list of available connections. # nmcli radio wifi on # nmcli dev wifi rescan # nmcli dev wifi list IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY opentest Infra 1 195 Mbit/s 92 **** – 8021xtest Infra 40 195 Mbit/s 59 *** WPA2 802.1X wpa2test Infra 1 195 Mbit/s 70 *** WPA2 adhoctest Ad-Hoc 1 54 Mbit/s 60 *** – testac Infra 52 405 Mbit/s 60 *** – Viewing Available Connection Profiles # nmcli con NAME UUID TYPE DEVICE 8021xtest 0e85c35a-e28e-4da8-a956-7d286c49b4b7 wifi – Wired connection 1 a09d5560-4a54-34f6-b50c-b35d58a62f1f ethernet – hotspot 92b33586-da57-442f-853f-a0e0b2359e83 wifi wlan0 opentest 3e152a5b-942a-4163-b418-9c236d2ec7a6 wifi – wpa2test 41a56cde-57b1-47ac-a9df-fa62115d9da8 wifi – Display Device Status # nmcli device status DEVICE TYPE STATE CONNECTION wlan0 wifi connected hotspot eth0 ethernet unavailable – lo loopback unmanaged – Display the Parameters of a Given Connection The output of this command is very exhaustive. We edited it (…) in this example to show some key parameters. # nmcli -p con show hotspot =============================================================================== Connection profile details (hotspot) =============================================================================== connection.id: hotspot5 connection.uuid: 92b33586-da57-442f-853f-a0e0b2359e83 connection.stable-id: – connection.type: 802-11-wireless connection.interface-name: wlan0 connection.autoconnect: no ... 802-11-wireless.ssid: hotspot 802-11-wireless.mode: ap 802-11-wireless.band: bg 802-11-wireless.channel: 6 ... 802-11-wireless-security.key-mgmt: wpa-psk ... =============================================================================== Activate connection details (92b33586-da57-442f-853f-a0e0b2359e83) =============================================================================== GENERAL.NAME: hotspot GENERAL.UUID: 92b33586-da57-442f-853f-a0e0b2359e83 GENERAL.DEVICES: wlan0 GENERAL.STATE: activated ... ——————————————————————————- IP4.ADDRESS[1]: 10.42.0.1/24 IP4.GATEWAY: – IP4.ROUTE[1]: dst = 10.42.0.0/24, nh = 0.0.0.0, mt = 600 UUID For best practice, give each connection profile a unique name to make managing the profiles an easier task. In situations where connection names are duplicated, there is an alternative method to addressing a profile by its name. The UUID (Universally Unique Identifier) is automatically generated for each profile upon creation and can be substituted for the connection name in any command. # nmcli con NAME UUID TYPE DEVICE 8021xtest bcb6a35b-305d-4ecc-b147-0c57c22884fc wifi – Wired connection 1 a09d5560-4a54-34f6-b50c-b35d58a62f1f ethernet – hotspot 99d9e9d5-d7b5-4217-919d-e4a6c23421fa wifi – hotspot 44d0030f-872f-4684-921e-3077c3b02ea7 wifi – opentest 3e152a5b-942a-4163-b418-9c236d2ec7a6 wifi – wpa2test 41a56cde-57b1-47ac-a9df-fa62115d9da8 wifi – # nmcli con up 99d9e9d5-d7b5-4217-919d-e4a6c23421fa Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/Ac... Connecting as a Client The following are examples that demonstrate connection profiles for different security types. Unsecured Network # nmcli con NAME UUID TYPE DEVICE Wired connection 1 bd88ab65-cad4-3012-b31d-b73ce7dc9de7 ethernet – # nmcli con add con-name opentest ifname wlan0 type wifi ssid opentest Connection ’opentest’ (3e152a5b-942a-4163-b418-9c236d2ec7a6) successfully added. # nmcli con NAME UUID TYPE DEVICE opentest 3e152a5b-942a-4163-b418-9c236d2ec7a6 wifi wlan0 Wired connection 1bd88ab65-cad4-3012-b31d-b73ce7dc9de7 ethernet – # nmcli con up opentest Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/Ac... WPA2-PSK Secured Network # nmcli conn add con-name wpa2test ifname wlan0 type wifi ssid "wpa2test" # nmcli conn modify id wpa2test 802-11-wireless-security.key-mgmt wpa-psk # nmcli conn modify id wpa2test 802-11-wireless-security.psk "test1234" # nmcli conn up wpa2test Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/Ac... WPA2-AES-802.1X + CCKM Secured Network Using EAP-TLS and Certificate # nmcli con add con-name 8021xtest ifname wlan0 type wifi ssid "8021xtest" Connection ’8021xtest’ (0e85c35a-e28e-4da8-a956-7d286c49b4b7) successfully added. # nmcli con mod id 8021xtest 802-1x.eap tls 802-1x.identity user1 802-1x.private-key \ /etc/ssl/certs/user1.pem 802-1x.password user1 802-1x.client-cert /etc/ssl/certs/user1.pem # nmcli con mod id 8021xtest 802-11-wireless-security.key-mgmt wpa-eap # nmcli --ask con up 8021xtest Passwords or encryption keys are required to access the wireless network ’8021xtest’. Identity (802-1x.identity): user1 Passwords or encryption keys are required to access the wireless network ’8021xtest’. Private key password (802-1x.private-key-password): ***** Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/Ac... SoftAP Mode SoftAP 2.4GHz b/g Band This connection profile configures the host to broadcast a WPA2-PSK secured network on channel 6 (2437 MHz) with the SSID named hotspot and to share the wired ethernet connection to connected clients. # nmcli conn add type wifi ifname wlan0 con-name hotspot autoconnect no ssid "hotspot" # nmcli con mod hotspot 802-11-wireless.mode ap ipv4.method shared # nmcli con mod hotspot 802-11-wireless.band bg 802-11-wireless.channel 6 # nmcli con mod hotspot wifi-sec.key-mgmt wpa-psk wifi-sec.psk "test1234" # nmcli con mod hotspot wifi-sec.pairwise CCMP wifi-sec.proto RSN # nmcli con up hotspot Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/Ac... Ezurio Commands 802-1x Properties Key Name: 802-1x.phase2-auth Value Type: List of authentication methods Default Value: Value Description: This field has been modified to accept multiple authentication methods. # nmcli con modify test 802-1x.phase2-auth mschapv2 +802-1x.phase2-auth gtc Key Name: 802-1x.phase2-autheap Value Type: List of authentication methods Default Value: Value Description: This field was modified to accept multiple authentication methods. # nmcli con modify test 802-1x.phase2-autheap mschapv2 +802-1x.phase2-autheap gtc Key Name: 802-1x.tls-disable-time-checks Value Type: 0 or 1 Default Value: 0 Value Description: If set to 1, it disables time/date checking of server/CA certificates. # nmcli con modify test 802-1x.tls-disable-time-checks 1 Key Name: 802-1x.pac-file-password Value Type: string Default Value: Not set Value Description: Used to decrypt manually provisioned EAP-FAST PAC files. Requires Summit supplicant. # nmcli con modify test 802-1x.pac-file-password password 802-11-wireless Properties Key Name: 802-11-wireless.auth-timeout Value Type: uint32 (3-60) Default Value: Value Description: Restarts 802.11 authentication if a connection is not established in the specified time. Requires Summit supplicant. # nmcli con modify test 802-11-wireless.auth-timeout 8 Key Name: 802-11-wireless.frequency-list Value Type: string – A list of frequencies separated by spaces Default Value: Not set – Use all frequencies Value Description: Limits scanning to the listed frequencies. While in the disconnected state, this feature requires the Summit supplicant. # nmcli con modify test 802-11-wireless.frequency-list "2412 2462" Key Name: 802-11-wireless.rts-thresh Value Type: uint32 Default Value: 2437 Value Description: Indicates the packet size at which RTS or CTS is required on the link. A value between 0-2347. Units are in bytes. # nmcli con modify test 802-11-wireless.rts-thresh 2347 Key Name: 802-11-wireless.ccx Value Type: 0 (disabled), 1 (optimized) or 2 (full) Default Value: 0 (disabled) Value Description: Used to enable CCX features. Requires Summit supplicant. # nmcli con modify test 802-11-wireless.ccx 1 Key Name: 802-11-wireless.client-name Value Type: string (up to 16 character name - ascii) Default Value: Not set Value Description: If CCX is enabled, the client-name will be sent to a CCX capable AP to identify the device. Requires Summit supplicant. # nmcli con modify test 802-11-wireless.client-name "device22" 802-11-wireless-security Properties Key Name: 802-11-wireless-security.key-mgmt Value Type: key management method Default Value: Value Description: This field has been modified to add ’CCKM’. Requires Summit supplicant. # nmcli con modify test 802-11-wireless-security.key-mgmt cckm Key Name: 802-11-wireless-security.procactive-key-caching ValueType: uint32 (0 or 1) Default Value: 0 Value Description: Selects PMK usage normal/SPMK (0) or OPMK (1). # nmcli con modify test 802-11-wireless-security.proactive-key-caching 1 Scanning Key Name: 802-11-wireless.hidden Value Type: uint32 (0 or 1) Default Value: 0 Value Description: Scanning behavior is modified. If all profiles are marked as hidden, broadcast probe requests are suppressed. Requires Summit supplicant. # nmcli con modify test 802-11-wireless.hidden 1 Key Name: 802-11-wireless.max-scan-interval Value Type: uint32 (seconds) Default Value: 0 (uses NetworkManager limits) Value Description: Limits the NetworkManager interval between scans while disconnected. While scanning, the NetworkManager pauses for a time period between scans. This time period keeps increasing when a suitable network is not found (max 120s). This field can be used to limit that maximum. # nmcli con modify test 802-11-wireless.max-scan-interval 30 Key Name: 802-11-wireless.bgscan Value Type: string DefaultValue: Not set (uses default from NetworkManager) Value Description: Controls the supplicant background scanning while connected to a network. Refer to the supplicant wpa_supplicant.conf bgscan for more details. simple:<short interval seconds>:<threshold dbm>:<long interval seconds> – above the threshold uses the long interval (seconds) for scanning and below uses the short interval (seconds). # nmcli con modify test 802-11-wireless.bgscan "simple:30:-45:60" Scanning Parameters - 60 Series radio and Summit supplicant required Key Name: 802-11-wireless.scan-delay Value Type: uint32 (0-250) Default Value: 0 (use linux mac80211 default) Value Description: Time (msec) to wait on channel before transmitting a probe request. # nmcli con modify test 802-11-wireless.scan-delay 0 Key Name: 802-11-wireless.scan-dwell Value Type: uint32 (0-250) Default Value: 0 (use linux mac80211 default) Value Description: Time (msec) to remain on channel after transmitting a probe request. # nmcli con modify test 802-11-wireless.scan-dwell 0 Key Name: 802-11-wireless.scan-passive-dwell Value Type: uint32 (0-250) Default Value: 0 (use linux mac80211 default) Value Description: Time (msec) to remain on a passive/DFS/Radar channel. # nmcli con modify test 802-11-wireless.scan-passive-dwell 0 Key Name: 802-11-wireless.scan-suspend-time Value Type: uint32 (0-250) Default Value: 0 (use linux mac80211 default) Value Description: Time (msec) to suspend scanning if there is an active connection to service packets. Scanning resumes after this time period. Scanning may again be suspended after a period determined by mac80211. # nmcli con modify test 802-11-wireless.scan-suspend-time 0 Key Name: 802-11-wireless.scan-dfs-timer Value Type: uint32 Default Value: 120 Value Description: The dwell time while passively scanning a DFS channel. A value between 20-500. Units are in msec. # nmcli con modify test 802-11-wireless.scan-dfs-timer 60 Key Name: 802-11-wireless.probe-delay Value Type: uint32 Default Value: 120 Value Description: A value between 20-120. Units are in msec. # nmcli con modify test 802-11-wireless.probe-delay 20 Key Name: 802-11-wireless.ignore-null-ssid Value Type: uint32 Default Value: 0 Value Description: If set to 1, it ignores AP with null SSID in the scan list. # nmcli con modify test 802-11-wireless.ignore-null-ssid on Key Name: 802-11-wireless.frequency-dfs Value Type: uint32 (0 or 1) Default Value: 1 (enabled) Value Description: Set to zero to disable DFS/Radar frequencies. # nmcli con modify test 802-11-wireless.frequency-dfs 1 Key Name: 802-11-wireless.scan-roam-delta Value Type: uint32 (dbm) Default Value: 0 (do not limit) Value Description: This field limits the threshold used to select a better AP for roaming. # nmcli con modify test 802-11-wireless.scan-roam-delta 5 Scanning Notes While connected, the settings for that profile apply to all scans, including NetworkManager scans (both automatic and manual). While disconnected, NetworkManager automatic scanning uses the following: The union of the frequency-list from all profiles DFS/Radar channels are only disabled if disabled in all profiles The largest scan timing parameter value from all profiles While disconnected, NetworkManager manual scans do the following: # nmcli device wifi rescan ifname wlan0 ssid "abcd" # nmcli device wifi rescan ifname wlan0 ssid "" scan all-frequencies scan DFS/Radar channels use default scan timing Roaming Features - Summit supplicant required Key Name: 802-11-wireless.roam-trigger Value Type: uint32 (50|55|60|65|70|75|80|85|90) Default Value: 70 Value Description: Indicates the signal strength at which the radio scans for an access point with a better signal strength. <50|55|60|65|70|75|80|85|90>. Units are in dBm. # nmcli con modify test 802-11-wireless.roam-trigger 65 Key Name: 802-11-wireless.roam-period Value Type: uint32 (5|10|15|20|25|30|35|40|45|50|55|60) Default Value: 10 Value Description: Indicates the amount of time a radio collects RSSI can data before it considers roaming to a different access point. <5|10|15|20|25|30|35|40|45|50|55|60>. Units are in sec. # nmcli con modify test 802-11-wireless.roam-period 15 Key Name: 802-11-wireless.roam-period Value Type: uint32 (5|10|15|20|25|30|35|40|45|50|55|60) Default Value: 10 Value Description: Indicates the amount of time a radio collects RSSI can data before it considers roaming to a different access point. <5|10|15|20|25|30|35|40|45|50|55|60>. Units are in sec. # nmcli con modify test 802-11-wireless.roam-period 15 Powersave Features Key Name: 802-11-wireless.powersave-mode Value Type: uint32 Default Value: 0 Value Description: One of the NM_SETTING_WIRELESS_POWERSAVE_MODE_FAST (2) (enable FAST power save mode). NM_SETTING_WIRELESS_POWERSAVE_MODE_MAX (3) (enable MAX power save mode), or NM_SETTING_WIRELESS_POWERSAVE_MODE_DEFAULT (0) (user neither power save mode). # nmcli con modify test 802-11-wireless.powersave-mode fast Key Name: 802-11-wireless.psp-delay Value Type: uint32 Default Value: 200 Value Description: Value between 10 and 500. Units are in msec. # nmcli con modify test 802-11-wireless.psp-delay 100 Key Name: 802-11-wireless.uapsd Value Type: uint32 Default Value: 0 Value Description: One of the NM_SETTING_WIRELESS_UAPSD_ON (1) (enable uapsd), or NM_SETTING_WIRELESS_UAPSD_OFF (0) (disable uapsd). # nmcli con modify test 802-11-wireless.uapsd on