OpenWiFi (TIP) - Passpoint Configuration
Configure Passpoint (Hotspot 2.0) on OpenWiFi (Telecom Infra Project) access points to enable automatic WiFi authentication through IronWifi's cloud RADIUS service. This open-source solution provides carrier-grade WPA2/WPA3-Enterprise security without manual network selection.
Overview
OpenWiFi is an open-source wireless networking solution from the Telecom Infra Project (TIP). It provides carrier-grade features including full Passpoint/Hotspot 2.0 support.
Supported Platforms
- OpenWiFi Cloud SDK - Cloud controller
- OpenWiFi AP Firmware - Compatible access points
- Supported Hardware: EdgeCore, CIG, HFCL, Actiontec, and other TIP-compliant APs
Prerequisites
In OpenWiFi:
- OpenWiFi controller deployed (cloud or on-premises)
- OpenWiFi-compatible access points
- OpenWiFi firmware 2.x or later
In IronWifi Console (complete these first):
- Log in to IronWifi Management Console
- Navigate to Networks > select your network
- Enable Passpoint
- Note the following:
- RADIUS Server IPs
- RADIUS Secret
- NAI Realm (e.g.,
ironwifi.com) - Roaming Consortium OIs
OpenWiFi Controller Configuration
OpenWiFi Cloud SDK Configuration
Step 1: Create RADIUS Profile
- Log in to OpenWiFi Cloud SDK
- Navigate to Profiles > RADIUS
- Click Create Profile
- Configure:
{
"name": "IronWifi-RADIUS",
"radius": {
"authentication": {
"host": "radius.ironwifi.com",
"port": 1812,
"secret": "your-radius-secret"
},
"accounting": {
"host": "radius.ironwifi.com",
"port": 1813,
"secret": "your-radius-secret"
}
}
}
Step 2: Create Passpoint Profile
- Navigate to Profiles > Passpoint
- Click Create Profile
- Configure Hotspot 2.0 settings:
{
"name": "IronWifi-Passpoint",
"passpoint": {
"enabled": true,
"venue": {
"group": "business",
"type": "unspecified"
},
"access-network-type": "free-public",
"internet": true,
"domain-names": [
"ironwifi.net"
],
"roaming-consortium": [
"5A03BA0000",
"004096"
],
"nai-realms": [
{
"realm": "ironwifi.com",
"eap-methods": [
{
"method": "eap-ttls",
"authentication": {
"inner": "pap"
}
}
]
}
]
}
}
Step 3: Create SSID Configuration
- Navigate to Configurations > SSIDs
- Click Create SSID
- Configure:
{
"name": "Passpoint",
"ssid": "Passpoint",
"encryption": {
"proto": "wpa2",
"ieee80211w": "optional"
},
"radius": {
"profile": "IronWifi-RADIUS"
},
"passpoint": {
"profile": "IronWifi-Passpoint"
}
}
Step 4: Create Device Configuration
- Navigate to Configurations > Device Configs
- Create or edit configuration
- Add the Passpoint SSID
- Push to devices
JSON Configuration Reference
Complete Passpoint Configuration
{
"uuid": "device-uuid",
"configuration": {
"interfaces": [
{
"name": "WAN",
"role": "upstream",
"ethernet": [
{
"select-ports": ["WAN*"]
}
],
"ipv4": {
"addressing": "dynamic"
}
},
{
"name": "Passpoint",
"role": "downstream",
"ssids": [
{
"name": "Passpoint",
"wifi-bands": ["2G", "5G"],
"bss-mode": "ap",
"encryption": {
"proto": "wpa2",
"key": "",
"ieee80211w": "optional"
},
"radius": {
"authentication": {
"host": "1.2.3.4",
"port": 1812,
"secret": "your-secret"
},
"accounting": {
"host": "1.2.3.4",
"port": 1813,
"secret": "your-secret"
}
},
"pass-point": {
"venue-name": [
"eng:IronWifi Hotspot"
],
"venue-group": 2,
"venue-type": 0,
"access-network-type": 0,
"internet": 1,
"domain-name": [
"ironwifi.net"
],
"roaming-consortium": [
"5A03BA0000",
"004096"
],
"nai-realm": [
"0,ironwifi.com,21[2:4]"
],
"osen": false,
"anqp-domain": 0,
"friendly-name": [
"eng:IronWifi"
]
}
}
]
}
]
}
}
NAI Realm Encoding
The NAI realm format follows:
<encoding>,<realm>,<eap-method>[<inner-auth>]
Where:
0= UTF-8 encoding21= EAP-TTLS[2:4]= Inner auth PAP
Common EAP methods:
13= EAP-TLS21= EAP-TTLS25= EAP-PEAP
Advanced Configuration
3GPP Cellular Network
For carrier integration:
{
"pass-point": {
"3gpp-plmn": [
{
"mcc": "310",
"mnc": "410"
},
{
"mcc": "311",
"mnc": "480"
}
]
}
}
WAN Metrics
Configure link information:
{
"pass-point": {
"wan-metrics": {
"link-status": "up",
"symmetric-link": true,
"downlink-speed": 100000,
"uplink-speed": 50000,
"downlink-load": 0,
"uplink-load": 0
}
}
}
Connection Capability
Define available services:
{
"pass-point": {
"connection-capability": [
{"protocol": "tcp", "port": 80, "status": "open"},
{"protocol": "tcp", "port": 443, "status": "open"},
{"protocol": "tcp", "port": 5060, "status": "open"},
{"protocol": "udp", "port": 5060, "status": "open"}
]
}
}
Operating Class
Configure supported frequencies:
{
"pass-point": {
"operating-class": [81, 115, 121, 124]
}
}
OpenRoaming Integration
Full OpenRoaming Configuration
{
"pass-point": {
"roaming-consortium": [
"5A03BA0000",
"004096"
],
"nai-realm": [
"0,ironwifi.com,21[2:4]",
"0,openroaming.org,21[2:4]"
],
"domain-name": [
"ironwifi.net",
"openroaming.org"
]
}
}
API Configuration
Using OpenWiFi API
Create configuration via API:
curl -X POST "https://owgw.example.com/api/v1/device/{device-uuid}/configure" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d @passpoint-config.json
Get Device Status
curl -X GET "https://owgw.example.com/api/v1/device/{device-uuid}/status" \
-H "Authorization: Bearer YOUR_TOKEN"
Troubleshooting
Network Not Discovered
-
Check Passpoint Status
- Verify configuration pushed to device
- Check device status in controller
-
Verify ANQP
- Check GAS/ANQP frames in packet capture
- Verify all required IEs present
-
Device Firmware
- Ensure firmware supports Hotspot 2.0
- Update to latest OpenWiFi firmware
Authentication Failures
-
RADIUS Connectivity
# Test from AP CLI
radtest user password radius.ironwifi.com 1812 secret -
Check Logs
- Review OpenWiFi controller logs
- Check IronWifi authentication logs
-
NAI Realm
- Verify realm encoding
- Check EAP method matches
Debug Commands
On OpenWiFi AP CLI:
# Show wireless status
ubus call wifi status
# Show hostapd status
hostapd_cli -i wlan0 status
# Show ANQP information
hostapd_cli -i wlan0 anqp_get
# Show associated clients
hostapd_cli -i wlan0 all_sta
# Debug logs
logread -f | grep -i hostapd
Best Practices
- Use Templates: Create reusable configuration templates
- Version Control: Track configuration changes
- Testing: Test with multiple Passpoint clients
- Monitoring: Set up logging and alerts
- Firmware: Keep APs on latest OpenWiFi firmware
- Redundancy: Configure backup RADIUS servers