Area Mesh WiFi

Multiple Module Access Control

To ensure maximum compatibility with a wide range of devices, Area Mesh uses the popular EAP-TTLS for access control (with MSCHAP authentication protected by a TLS tunnel).

Unlike traditional EAP-TTLS implementations, Area Mesh break it up into 4 independent compute modules under different ownerships, to eliminate single-point-of-failure, increasing security and reliability.

area_mesh_wifi

Unlimited Growth

WiFi keeps improving at a constant pace through the years (WiFi 7 available from January 2024), with new capabilities that extend it well beyond private networking into the community networking.

WiFi 4 WiFi 5 WiFi 6 WiFi 7
Launch date 2009 2013 2019 2024
IEEE standard 802.11n 802.11ac 802.11ax 802.11be
Max data rate 600 Mbps 6.9 Gbps 9.6 Gbps 46.1 Gbps
Bands GHz 2, 5 5 2, 5 2, 5, 6
Channel MHz 20,40 20,40,80,160 20.40.80,160 20,40,80,160,320
Modulation QAM 64 OFDM 256 OFDMA 1024 OFDMA 4096 OFDMA
MIMO 4×4 DL SU 4×4 DL MU 8×8 UL/DL MU 16×16 UL/DL MU

For WiFi 5 we included features from the improved 802.11ac wave 2 standard.

Multiple Network level

In order to encourage maximum community participation, initially there are 2 community network levels:

Level 0

Standard: WiFi 4 or 5
Band: 2 GHz, 5 GHz
Security: WPA 2
Access: Captive Portal

Currently deployed level 0 SSIDs:
0.88.io

Level 1

Standard: WiFi 6
Band: 2 GHz, 5 GHz
Security: WPA 3
Access: EAP-TTLS

Currently deployed level 1 SSIDs:
1.88.io

CoovaChilli

CoovaChilli is a feature rich opensourced network access controller.

Area Mesh supports numerous FreeRadius compatible network access controllers (e.g. packetfence) but CoovaChilli is the default.

CoovaChilli Radius Attributes

Attribute Description
Acct-Status-Type (40) 1=Start, 2=Stop, 3=Interim-Update
Acct-Input-Octets (42) Number of octets received from client
Acct-Output-Octets (43) Number of octets transmitted to client.
Acct-Session-ID (44) Unique ID to link Access-Request and Accounting-Request messages.
Acct-Session-Time (46) Session duration in seconds.
Acct-Input-Packets (47) Number of packets received from client.
Acct-Interim-Interval (85) If present in Access-Accept chilli will generate interim accounting records with the specified interval (seconds).
Acct-Output-Packets (48) Number of packets transmitted to client.
Acct-Terminate-Cause (49) 1=User-Request, 2=Lost-Carrier, 4=Idle-Timeout, 5=Session-Timeout, 11=NAS-Reboot
Acct-Input-Gigawords (52) Number of times the Acct-Input-Octets counter has wrapped around.
Acct-Output-Gigawords (53) Number of times the Acct-Output-Octets counter has wrapped around.
Called-Station-ID (30) Set to the ‘‘nasmac’’ option or the MAC address of chilli.
Calling-Station-ID (31) MAC address of client
CHAP-Password (3) Used for UAM CHAP Authentication
CHAP-Challenge (60) Used for UAM CHAP Authentication
ChilliSpot-Max-Input-Octets (14559, 1) Maximum number of octets the user is allowed to transmit. After this limit has been reached the user will be disconnected.
ChilliSpot-Max-Output-Octets (14559, 2) Maximum number of octets the user is allowed to receive. After this limit has been reached the user will be disconnecte
ChilliSpot-Max-Total-Octets (14559, 3) Maximum total octets the user is allowed to send or receive. After this limit has been reached the user will be disconnected.
ChilliSpot-Bandwidth-Max-Up (14559, 4) Maximum bandwidth up
ChilliSpot-Bandwidth-Max-Down (14559, 5) Maximum bandwidth down
ChilliSpot-Config (14559, 6) Configurations passed between chilli and back-end as name value pairs
ChilliSpot-Lang (14559, 7) Language selected in user interface
ChilliSpot-Version (14559, 8) Contains the version of the running CoovaChilli
ChilliSpot-DHCP-Netmask (14559, 61) DHCP IP netmask of the user, which is configurable during MAC authentication in the Access-Accept.
ChilliSpot-DHCP-DNS1 (14559, 62) DHCP DNS1 of the user, which is configurable during MAC authentication in the Access-Accept.
ChilliSpot-DHCP-DNS2 (14559, 63) DHCP DNS2 of the user, which is configurable during MAC authentication in the Access-Accept.
ChilliSpot-DHCP-Gateway (14559, 64) DHCP Gateway of the user, which is configurable during MAC authentication in the Access-Accept
ChilliSpot-DHCP-Domain (14559, 65) DHCP Domain of the user, which is configurable during MAC authentication in the Access-Accept.
Class (25) Copied transparently by chilli from Access-Accept to Accounting-Request.
EAP-Message (79) Used for WPA Authentication
Framed-IP-Address (8) IP address of the user, which is configurable during MAC authentication in the Access-Accept.
Framed-IP-Netmask (9) IP netmask of the user, which is configurable during MAC authentication in the Access-Accept.
Filter-ID (11) Filter ID pass on to scripts possibly.
Idle-Timeout (28) Logout once idle timeout is reached (seconds)
Message-Authenticator (80) Is always included in Access-Request. If present in Access-Accept, Access-Challenge or Access-reject chilli will validate that the Message-Authenticator is correct.
MS-MPPE-Send-Key (311,16) Used for WPA
MS-MPPE-Recv-Key (311,17) Used for WPA
NAS-IP-Address (4) IP address of Chilli (set by the ‘‘nasip’’ or ‘‘radiuslisten’’ option, and otherwise “0.0.0.0”)
NAS-Identifier (32) Set to radiusnasid option if present
NAS-Port-Type (61) 19=Wireless-IEEE-802.11
Reply-Message (18) Reason of reject if present.
State (24) Sent to chilli in Access-Accept or Access-Challenge. Used transparently in subsequent Access-Request.
Service-Type (6) Set to Login (1) for normal authentication requests. The Access-Accept message from the radius server for configuration management messages must also be set to Administrative-User.
Session-Timeout (27) Logout once session timeout is reached (seconds)
User-name (1) Full username as entered by the user.
User-Password (2) Used for UAM as alternative to CHAP-Password and CHAP-Challenge.
WISPr-Location-ID (14122, 1) Location ID is set to the radiuslocationid option if present. Should be in the format: isocc=, cc=, ac=, network=<ssid/ZONE>
WISPr-Location-Name (14122, 2) Location Name is set to the radiuslocationname option if present. Should be in the format: ,
WISPr-Logoff-URL (14122, 3) Included in Access-Request to notify the operator of the log off URL. Defaults to “http://uamlisten:uamport/logoff”.
WISPr-Redirection-URL (14122, 4) If present the client will be redirected to this URL once authenticated. This URL should include a link to WISPr-Logoff-URL in order to enable the client to log off.
WISPr-Bandwidth-Max-Up (14122, 7) Maximum transmit rate (b/s). Limits the bandwidth of the connection. Note that this attribute is specified in bits per second.
WISPr-Bandwidth-Max-Down (14122, 8) Maximum receive rate (b/s). Limits the bandwidth of the connection. Note that this attribute is specified in bits per second.
WISPr-Session-Terminate-Time (14122, 9) The time when the user should be disconnected in ISO 8601 format (YYYY-MM-DDThh:mm:ssTZD). If TZD is not specified local time is assumed. For example a disconnect on 18 December 2001 at 7:00 PM UTC would be specified as 2001-12-18T19:00:00+00:00.