Provision a network
US is what
unlocks 5 GHz. Saved networks persist on the device.
The M1 joins WPA2-PSK and WPA3-SAE (Personal) networks. Enterprise networks that
authenticate with 802.1X/EAP are not supported, so a corporate SSID generally
needs a guest or IoT network instead.
Read the connection state
WiFi status lives in the wireless block of the device information and is cached whenopen() succeeds. WiFi add/remove/select calls refresh that
cached block after the command is accepted:
get_device_information() is cached and non-blocking. Because association is
asynchronous, the first snapshot after wifi_add() may still show
connecting.
The snapshot is captured at open() and updated by the WiFi calls, so a handle
held open across a network change continues to report the association captured
earlier. Call refresh_device_information() to update it, then read the struct
again:
wifi_state is one of connected, connecting, auth_failed,
disconnected, or unknown. connecting appears only during a live attempt,
and auth_failed means the credentials were rejected. A dropped link reads
disconnected while the device reconnects on its own. unknown is set
host-side when a refresh could not complete, which is different from an empty
value: empty means this firmware did not report the field at all.
On firmware newer than v00.09.16, connecting and auth_failed describe a
specific connection attempt and expire approximately 90 seconds after it. An
expired result reverts to disconnected rather than persisting, so
auth_failed always refers to a recent attempt. On v00.09.16 and earlier, an
auth_failed result persists until the device reboots and may therefore name a
network whose credentials have since been corrected.
See Core Types for the full block, including
ble_connected, which reports whether a Bluetooth central currently holds the
link on firmware newer than v00.09.16.
From the CLI
wifi select overrides that choice for a
specific saved network. Re-adding the currently connected network has no effect
and does not drop the active link.
Operations that require connectivity (
upload_recording(), update downloads)
fail with WIFI_NOT_CONNECTED when the device is not associated. Check
wireless.wifi_connected first for a better user experience.Enable wireless streaming
Once the M1 is associated, open a new BLE session with the Linux receiver’s IP:udp_host is the host
address, not the M1’s address.
