Wireless Configuration¶
Configure WiFi radios and interfaces for access points, mesh networks, and client connections.
Radio Configuration¶
Radios are physical wireless hardware. Configure them before creating WiFi interfaces.
Basic Radio Setup¶
config.wireless.radio("radio0") \
.channel(11) \
.htmode("HT20") \
.country("US") \
.disabled(False)
Radio Options¶
| Method | Description | Values |
|---|---|---|
channel(n) |
WiFi channel | 1-13 (2.4GHz), 36-165 (5GHz) |
htmode(mode) |
Channel width | HT20, HT40, VHT80, VHT160 |
country(code) |
Country code | US, GB, DE, etc. |
disabled(bool) |
Enable/disable | True/False |
txpower(dbm) |
TX power | 1-30 (dBm) |
Dual-Band Configuration¶
# 2.4 GHz radio
config.wireless.radio("radio0") \
.channel(11) \
.htmode("HT20") \
.country("US") \
.txpower(20)
# 5 GHz radio
config.wireless.radio("radio1") \
.channel(149) \
.htmode("VHT80") \
.country("US") \
.txpower(23)
WiFi Interfaces¶
WiFi interfaces are virtual interfaces on radios.
Access Point (AP)¶
Create a standard WiFi access point:
config.wireless.wifi_iface("default_ap") \
.device("radio0") \
.mode("ap") \
.network("lan") \
.ssid("MyNetwork") \
.encryption("psk2") \
.key("MySecurePassword")
Multiple APs¶
Create multiple APs on the same radio:
# Main AP
config.wireless.wifi_iface("ap_main") \
.device("radio0") \
.mode("ap") \
.network("lan") \
.ssid("MainNetwork") \
.encryption("psk2") \
.key("password1")
# Guest AP
config.wireless.wifi_iface("ap_guest") \
.device("radio0") \
.mode("ap") \
.network("guest") \
.ssid("GuestNetwork") \
.encryption("psk2") \
.key("password2")
Encryption Types¶
WPA2-PSK (Recommended)¶
config.wireless.wifi_iface("ap") \
.device("radio0") \
.mode("ap") \
.ssid("MyNetwork") \
.encryption("psk2") \
.key("SecurePassword123")
WPA3-SAE (Most Secure)¶
config.wireless.wifi_iface("ap") \
.device("radio0") \
.mode("ap") \
.ssid("MyNetwork") \
.encryption("sae") \
.key("SecurePassword123")
WPA2/WPA3 Mixed Mode¶
config.wireless.wifi_iface("ap") \
.device("radio0") \
.mode("ap") \
.ssid("MyNetwork") \
.encryption("sae-mixed") \
.key("SecurePassword123")
Open Network (No Encryption)¶
config.wireless.wifi_iface("open_ap") \
.device("radio0") \
.mode("ap") \
.ssid("FreeWiFi") \
.encryption("none")
802.11r Fast Roaming¶
Enable fast roaming for seamless handoff between APs:
config.wireless.wifi_iface("ap") \
.device("radio0") \
.mode("ap") \
.network("lan") \
.ssid("RoamingNetwork") \
.encryption("psk2") \
.key("password") \
.ieee80211r(True) \
.ft_over_ds(True) \
.ft_psk_generate_local(True)
Configure the same on all APs with the same SSID for roaming to work.
Mesh Networking¶
Mesh Interface¶
Create a wireless mesh interface:
config.wireless.wifi_iface("mesh0") \
.device("radio1") \
.mode("mesh") \
.ifname("mesh0") \
.network("mesh0") \
.mesh_id("my-mesh-network") \
.encryption("sae") \
.key("mesh-password") \
.mesh_fwding(False) \
.mcast_rate(18000)
Mesh Options¶
| Method | Description | Values |
|---|---|---|
mesh_id(id) |
Mesh network ID | Any string |
mesh_fwding(bool) |
Mesh forwarding | True/False |
mcast_rate(rate) |
Multicast rate | 6000, 12000, 18000, etc. |
WiFi Interface Options¶
| Method | Description | Example |
|---|---|---|
device(radio) |
Radio to use | .device("radio0") |
mode(mode) |
Interface mode | .mode("ap") |
network(net) |
Network to join | .network("lan") |
ssid(name) |
Network name | .ssid("MyWiFi") |
encryption(type) |
Encryption | .encryption("psk2") |
key(password) |
Password/key | .key("password") |
ifname(name) |
Interface name | .ifname("mesh0") |
Complete Example¶
Full dual-band setup with roaming:
from wrtkit import UCIConfig
config = UCIConfig()
# 2.4 GHz Radio
config.wireless.radio("radio0") \
.channel(11) \
.htmode("HT20") \
.country("US") \
.disabled(False)
# 5 GHz Radio
config.wireless.radio("radio1") \
.channel(149) \
.htmode("VHT80") \
.country("US") \
.disabled(False)
# 2.4 GHz AP
config.wireless.wifi_iface("ap_2g") \
.device("radio0") \
.mode("ap") \
.network("lan") \
.ssid("MyNetwork-2G") \
.encryption("psk2") \
.key("SecurePassword123") \
.ieee80211r(True) \
.ft_over_ds(True) \
.ft_psk_generate_local(True)
# 5 GHz AP
config.wireless.wifi_iface("ap_5g") \
.device("radio1") \
.mode("ap") \
.network("lan") \
.ssid("MyNetwork-5G") \
.encryption("psk2") \
.key("SecurePassword123") \
.ieee80211r(True) \
.ft_over_ds(True) \
.ft_psk_generate_local(True)
# 5 GHz Mesh (for interconnecting routers)
config.wireless.wifi_iface("mesh0") \
.device("radio1") \
.mode("mesh") \
.ifname("mesh0") \
.network("mesh0") \
.mesh_id("BackhaulMesh") \
.encryption("sae") \
.key("MeshPassword123") \
.mesh_fwding(False) \
.mcast_rate(18000)
See Also¶
- Network Configuration - Configure network interfaces
- Mesh Network Example - Complete mesh setup
- API Reference - Detailed API documentation