Configure wireless connection using command-line utility.

Operating system.

$ lsb_release --all
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.1 LTS
Release:	22.04
Codename:	jammy

Display networking status.

$ nmcli networking 
disabled

Enable networking.

$ nmcli networking on

Display networking status.

$ nmcli networking 
enabled

Check network connectivity.

$ nmcli networking connectivity check 
none

Ad-hoc solution

Display radio status.

$ nmcli radio
WIFI-HW  WIFI      WWAN-HW  WWAN     
enabled  disabled  enabled  disabled 

Enable wireless radio.

$ nmcli radio wifi on

Inspect wireless radio status.

$ nmcli radio wifi
enabled

Display network interfaces

$ nmcli device 
DEVICE          TYPE      STATE         CONNECTION 
wlp3s0          wifi      disconnected  --         
p2p-dev-wlp3s0  wifi-p2p  disconnected  --         
enp2s0f1        ethernet  unavailable   --         
lo              loopback  unmanaged     --         
tailscale0      tun       unmanaged     -- 

Scan and list wireless networks.

$ nmcli device wifi list ifname wlp3s0 --rescan yes
IN-USE  BSSID              SSID                     MODE   CHAN  RATE        SIGNAL  BARS  SECURITY  
        C0:C5:22:F0:4A:E8  wifi_home                Infra  9     270 Mbit/s  65      ***   WPA1 WPA2 
        B8:66:85:6C:04:E0  lightspeed_internet      Infra  1     130 Mbit/s  55      **    WPA2      
        A1:24:58:AC:0E:04  lightspeed_internet      Infra  100   540 Mbit/s  55      **    WPA2      
        54:13:10:4E:19:70  SPOT-2.4GHz              Infra  6     195 Mbit/s  40      **    WPA2      
        C0:C5:22:F0:4A:EE  wifi_home                Infra  48    405 Mbit/s  39      **    WPA1 WPA2 
        38:70:0C:E0:69:58  2.4G-WiFi                Infra  6     130 Mbit/s  32      **    WPA1 WPA2 

Connect to specific wireless network.

$ nmcli device wifi connect lightspeed_internet    ifname wlp3s0 password PSKKEYPSKKEY private yes hidden no
Device 'wlp3s0' successfully activated with '446d36b9-3d02-42dc-a338-a2322e755832'.

Display wireless password.

$ nmcli device wifi show-password ifname wlp3s0  
SSID: lightspeed_internet   
Security: WPA
Password: PSKKEYPSKKEY

Check network connectivity.

$ nmcli networking connectivity check 
full

Thorough solution

Create wireless connection.

$ sudo nmcli connection add type wifi ssid lightspeed_internet    wifi-sec.key-mgmt wpa-psk  wifi-sec.psk PSKKEYPSKKEY ipv4.method auto connection.id "lightspeed_internet   " connection.interface-name wlp3s0 connection.permissions "user:milosz"
Connection 'Home' (446d36b9-3d02-42dc-a338-a2322e755832) successfully added.

List connections.

$ nmcli connection 
NAME                     UUID                                  TYPE      DEVICE 
lightspeed_internet      446d36b9-3d02-42dc-a338-a2322e755832  wifi      wlp3s0 
Wired connection         92ba9eab-c22b-3fce-9076-e47b190990bf  ethernet  --   

Show connection details.

$ nmcli connection show lightspeed_internet    --show-secrets 
connection.id:                          lightspeed_internet   
connection.uuid:                        446d36b9-3d02-42dc-a338-a2322e755832
connection.stable-id:                   --
connection.type:                        802-11-wireless
connection.interface-name:              wlp3s0
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1672144573
connection.read-only:                   no
connection.permissions:                 user:milosz
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
connection.mdns:                        -1 (default)
connection.llmnr:                       -1 (default)
connection.dns-over-tls:                -1 (default)
connection.wait-device-timeout:         -1
802-11-wireless.ssid:                   lightspeed_internet   
802-11-wireless.mode:                   infrastructure
802-11-wireless.band:                   --
802-11-wireless.channel:                0
802-11-wireless.bssid:                  --
802-11-wireless.rate:                   0
802-11-wireless.tx-power:               0
802-11-wireless.mac-address:            --
802-11-wireless.cloned-mac-address:     --
802-11-wireless.generate-mac-address-mask:--
802-11-wireless.mac-address-blacklist:  --
802-11-wireless.mac-address-randomization:default
802-11-wireless.mtu:                    auto
802-11-wireless.seen-bssids:            A1:24:58:AC:0E:04
802-11-wireless.hidden:                 no
802-11-wireless.powersave:              0 (default)
802-11-wireless.wake-on-wlan:           0x1 (default)
802-11-wireless.ap-isolation:           -1 (default)
802-11-wireless-security.key-mgmt:      wpa-psk
802-11-wireless-security.wep-tx-keyidx: 0
802-11-wireless-security.auth-alg:      open
802-11-wireless-security.proto:         --
802-11-wireless-security.pairwise:      --
802-11-wireless-security.group:         --
802-11-wireless-security.pmf:           0 (default)
802-11-wireless-security.leap-username: --
802-11-wireless-security.wep-key0:      --
802-11-wireless-security.wep-key1:      --
802-11-wireless-security.wep-key2:      --
802-11-wireless-security.wep-key3:      --
802-11-wireless-security.wep-key-flags: 0 (none)
802-11-wireless-security.wep-key-type:  unknown
802-11-wireless-security.psk:           PSKKEYPSKKEY
802-11-wireless-security.psk-flags:     0 (none)
802-11-wireless-security.leap-password: --
802-11-wireless-security.leap-password-flags:0 (none)
802-11-wireless-security.wps-method:    0x0 (default)
802-11-wireless-security.fils:          0 (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.routing-rules:                     --
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0 (none)
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.dhcp-reject-servers:               --
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.routing-rules:                     --
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.required-timeout:                  -1 (default)
ipv6.ip6-privacy:                       -1 (unknown)
ipv6.addr-gen-mode:                     stable-privacy
ipv6.ra-timeout:                        0 (default)
ipv6.dhcp-duid:                         --
ipv6.dhcp-iaid:                         --
ipv6.dhcp-timeout:                      0 (default)
ipv6.dhcp-send-hostname:                yes
ipv6.dhcp-hostname:                     --
ipv6.dhcp-hostname-flags:               0x0 (none)
ipv6.token:                             --
proxy.method:                           none
proxy.browser-only:                     no
proxy.pac-url:                          --
proxy.pac-script:                       --
GENERAL.NAME:                           lightspeed_internet   
GENERAL.UUID:                           446d36b9-3d02-42dc-a338-a2322e755832
GENERAL.DEVICES:                        wlp3s0
GENERAL.IP-IFACE:                       wlp3s0
GENERAL.STATE:                          activated
GENERAL.DEFAULT:                        yes
GENERAL.DEFAULT6:                       no
GENERAL.SPEC-OBJECT:                    /org/freedesktop/NetworkManager/AccessPoint/7386
GENERAL.VPN:                            no
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/ActiveConnection/37
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/Settings/7
GENERAL.ZONE:                           --
GENERAL.MASTER-PATH:                    --
IP4.ADDRESS[1]:                         192.168.1.14/24
IP4.GATEWAY:                            192.168.1.1
IP4.ROUTE[1]:                           dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]:                           dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.ROUTE[3]:                           dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 600
IP4.DNS[1]:                             192.168.1.1
IP4.DOMAIN[1]:                          home
DHCP4.OPTION[1]:                        broadcast_address = 192.168.1.255
DHCP4.OPTION[2]:                        dhcp_lease_time = 86400
DHCP4.OPTION[3]:                        dhcp_server_identifier = 192.168.1.1
DHCP4.OPTION[4]:                        domain_name = home
DHCP4.OPTION[5]:                        domain_name_servers = 192.168.1.1
DHCP4.OPTION[6]:                        expiry = 1672230965
DHCP4.OPTION[7]:                        ip_address = 192.168.1.14
DHCP4.OPTION[8]:                        next_server = 192.168.1.1
DHCP4.OPTION[9]:                        requested_broadcast_address = 1
DHCP4.OPTION[10]:                       requested_domain_name = 1
DHCP4.OPTION[11]:                       requested_domain_name_servers = 1
DHCP4.OPTION[12]:                       requested_domain_search = 1
DHCP4.OPTION[13]:                       requested_host_name = 1
DHCP4.OPTION[14]:                       requested_interface_mtu = 1
DHCP4.OPTION[15]:                       requested_ms_classless_static_routes = 1
DHCP4.OPTION[16]:                       requested_nis_domain = 1
DHCP4.OPTION[17]:                       requested_nis_servers = 1
DHCP4.OPTION[18]:                       requested_ntp_servers = 1
DHCP4.OPTION[19]:                       requested_rfc3442_classless_static_routes = 1
DHCP4.OPTION[20]:                       requested_root_path = 1
DHCP4.OPTION[21]:                       requested_routers = 1
DHCP4.OPTION[22]:                       requested_static_routes = 1
DHCP4.OPTION[23]:                       requested_subnet_mask = 1
DHCP4.OPTION[24]:                       requested_time_offset = 1
DHCP4.OPTION[25]:                       requested_wpad = 1
DHCP4.OPTION[26]:                       routers = 192.168.1.1
DHCP4.OPTION[27]:                       subnet_mask = 255.255.255.0
IP6.ADDRESS[1]:                         fe80::19c2:a00c:3017:9939/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 1024

Modify connection parameters.

$ nmcli connection modify lightspeed_internet    connection.id "Wireless network at home"

List connections.

$ nmcli connection 
NAME                      UUID                                  TYPE      DEVICE 
Wireless network at home  446d36b9-3d02-42dc-a338-a2322e755832  wifi      wlp3s0 
Wired connection          92ba9eab-c22b-3fce-9076-e47b190990bf  ethernet  --  

Inspect stored configuration.

$ sudo cat  /etc/NetworkManager/system-connections/lightspeed_internet   .nmconnection 
[connection]
id=Wireless network at home
uuid=446d36b9-3d02-42dc-a338-a2322e755832
type=wifi
interface-name=wlp3s0
permissions=user:milosz:;
timestamp=1672144573

[wifi]
mode=infrastructure
ssid=lightspeed_internet   

[wifi-security]
key-mgmt=wpa-psk
psk=PSKKEYPSKKEY

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

[proxy]

Delete connection.

$ nmcli connection  delete "Wireless network at home" 
Connection 'Wireless network at home' (446d36b9-3d02-42dc-a338-a2322e755832) successfully deleted.