Create a WiFi Hotspot

Create a Wi-Fi Hotspot on ALPON

Turn your ALPON X5 AI or ALPON X4 into a Wi-Fi access point with nmcli, the NetworkManager command-line tool. Share the device's cellular or Ethernet uplink with nearby clients (useful for field deployments, sensor offload, and on-site diagnostics) in four commands, no extra packages.

ALPON X5 AI ALPON X4 NetworkManager · nmcli Wi-Fi · WPA2
ALPON · Tutorial · Create a Wi-Fi Hotspot
How do I create a Wi-Fi hotspot on ALPON?

ALPON X5 AI and ALPON X4 ship with NetworkManager pre-installed. To start a Wi-Fi access point, open a terminal on the device and run a single nmcli connection add command on the wlan0 interface. Set ipv4.method shared, choose a non-overlapping subnet (avoid 100.0.0.0/16 and the container subnet), and provide an SSID and a WPA2-compliant password. Bring the connection up with nmcli connection up, and the device acts as a router for clients that join the new SSID.

Pick a non-overlapping subnet

The default Sixfab platform services on ALPON use the 100.0.0.0/16 subnet, and the on-device container runtime operates on its own internal subnet. Pick a hotspot subnet that does not overlap with either, or device connectivity, Sixfab Connect remote access, and deployed containers may become unreachable. The examples in this guide use 192.168.10.0/24, which is safe by default.

Overview

NetworkManager is the connection manager used by both ALPON X4 OS and ALPON X5 AI OS. Its nmcli command-line client lets you declare network connections as named profiles that survive reboots, can be brought up and down independently, and don't require editing config files by hand.

The Wi-Fi radio on both devices (wlan0) supports access point (AP) mode, so the same device that uses Wi-Fi as a client can also act as a router. This is useful in three common scenarios:

  • Field deployment. ALPON is online over cellular; nearby laptops or phones join the hotspot and reach the internet through the device.
  • Sensor offload. Battery-powered ESP32, Raspberry Pi Pico W, or other Wi-Fi clients send telemetry to the ALPON without an external router on site.
  • On-site diagnostics. A technician joins the hotspot to reach the device's local web UIs and container ports (e.g. http://192.168.10.1:30800) without bringing a switch or LAN.

All four commands below run as root (or under sudo). The procedure is identical on ALPON X4 and ALPON X5 AI.

  1. 1

    Create the Wi-Fi hotspot

    Open a terminal on the ALPON device, either over SSH, from a connected keyboard and monitor, or via the browser-based remote terminal on Sixfab Connect. Add a new NetworkManager profile in AP mode on wlan0, picking your own <YourSSID> and <YourStrongPassword>:

    bash · create hotspot profile
    nmcli connection add     type wifi     ifname wlan0     con-name hotspot-shared     ipv4.method shared     ipv4.addresses 192.168.10.1/24     wifi.mode ap     wifi.ssid <YourSSID>     wifi-sec.key-mgmt wpa-psk     wifi-sec.psk <YourStrongPassword>

    Expected output:

    terminal · success
    root@alpon-2wcg67e19263:~# nmcli connection add     type wifi ifname wlan0 con-name hotspot-shared     ipv4.method shared ipv4.addresses 192.168.10.1/24     wifi.mode ap wifi.ssid Hotspot     wifi-sec.key-mgmt wpa-psk wifi-sec.psk SecurePassword123!
    Connection 'hotspot-shared' (9260000e-8Wg0-2w7v-1199-e8b85f18lbee) successfully added.

    Parameter reference

    wlan0 The Wi-Fi interface used for the access point.
    con-name The NetworkManager profile name (hotspot-shared in this guide). Use any label; you'll reference it in steps 2 and 4.
    ipv4.method shared Enables NAT and an internal DHCP server so clients receive addresses and route through the ALPON's uplink.
    ipv4.addresses The device's IP on the hotspot subnet (192.168.10.1/24 here). Clients receive addresses in 192.168.10.2 – 192.168.10.254.
    wifi.mode ap Sets the radio to access-point mode.
    wifi.ssid The network name broadcast to clients.
    wifi-sec.psk The WPA2 password. Minimum 8 characters; mix letters, digits, and symbols.

    Keep your password in a secrets manager. nmcli stores it in /etc/NetworkManager/system-connections/ with file mode 0600, but anyone with root on the device can read it.

  2. 2

    Start and verify the hotspot

    Bring the profile up:

    bash · activate
    nmcli connection up hotspot-shared
    terminal · output
    root@alpon-2wcg67e19263:~# nmcli connection up hotspot-shared
    Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12)

    Confirm the hotspot is active by listing all NetworkManager connections:

    bash · list connections
    nmcli connection show
    terminal · nmcli connection show
    root@alpon-2wcg67e19263:~# nmcli connection show
    NAME                UUID  TYPE      DEVICE
    hotspot-shared      ***   wifi      wlan0
    Wired connection 3  ***   ethernet  usb0
    cni0                ***   bridge    cni0
    dummy0              ***   dummy     dummy0
    flannel.1           ***   vxlan     flannel.1
    lo                  ***   loopback  lo
    sfnetwork           ***   tun       sfnetwork
    Wired connection 1  ***   ethernet  eth0
    docker0             ***   bridge    docker0
    Wired connection 2  ***   ethernet  --

    You should see hotspot-shared in the list, bound to the wlan0 device.

  3. 3

    Test the hotspot

    From a smartphone, laptop, or any Wi-Fi client:

    1. Open the Wi-Fi picker and join the SSID you set in step 1.
    2. Enter the WPA2 password.
    3. Confirm the client receives an IP in the 192.168.10.0/24 range (e.g. 192.168.10.42).
    4. Open a browser and load any external URL to verify the uplink works.
    The uplink is whatever the device is using

    With ipv4.method shared, traffic from hotspot clients is NAT'd through whatever interface the ALPON is currently using for the internet: cellular (wwan0), wired Ethernet (eth0), or upstream Wi-Fi. If the device is offline, hotspot clients can still join the SSID and reach the ALPON itself, but they won't have internet access.

  4. 4

    Deactivate the hotspot

    To stop broadcasting the SSID and remove the profile entirely:

    bash · delete profile
    nmcli connection delete hotspot-shared

    If you only want to pause the hotspot (and start it again later with nmcli connection up hotspot-shared), use down instead of delete:

    bash · pause without deleting
    nmcli connection down hotspot-shared
Ready when…
  • nmcli connection show lists hotspot-shared with device wlan0.
  • The SSID is visible on a phone or laptop nearby.
  • A client that joins the SSID receives an IP in 192.168.10.0/24.
  • That client can browse the internet (assuming the ALPON has an uplink).

The profile is persisted by NetworkManager and re-activated automatically on reboot.


Troubleshooting

The two most common issues when running the procedure for the first time.

Error “property is invalid” when adding the connection

Symptom

The nmcli connection add command in step 1 fails with:

terminal · error
Error: Failed to add 'hotspot-shared' connection: 802-11-wireless-security.psk: property is invalid

Cause

The WPA2 password does not meet the WPA2-PSK requirements. WPA2 passwords must be at least 8 characters long.

Fix

Choose a password that is at least 8 characters and includes a mix of letters, digits, and symbols. Re-run the command from step 1 with the new value:

bash · valid password
wifi-sec.psk "SecurePassword123!"
Software nmcli: command not found or NetworkManager unavailable

Symptom

The shell reports nmcli: command not found, or the command runs but reports that the NetworkManager daemon is not active.

Cause

NetworkManager has been removed or disabled on the device. Both ALPON X4 OS and ALPON X5 AI OS ship with NetworkManager pre-installed and enabled, so this only happens after manual changes.

Fix

Reinstall NetworkManager and restart the service:

bash · reinstall
# 1. update package index and install NetworkManager
sudo apt update
sudo apt install network-manager

# 2. restart the daemon and confirm it is active
sudo systemctl restart NetworkManager
sudo systemctl status  NetworkManager