Skip to main contentSkip to search
Skip to main content

Troubleshooting

Key Takeaways
  • The most common captive portal issue is a missing walled garden entry -- always verify
    107.178.250.42/32
    and
    *.ironwifi.com
    are in your controller's pre-auth access list.
  • Authentication failures are typically caused by mismatched RADIUS shared secrets, incorrect ports, or disabled user accounts -- check the IronWiFi Console Reports > Authentication logs first.
  • For 802.1X (WPA2/WPA3-Enterprise) issues, verify the EAP inner method matches on both client and server: use PAP for EAP-TTLS and MSCHAPv2 for PEAP.
  • iOS and Android devices randomize MAC addresses by default, which breaks MAC-based authentication -- disable Private WiFi Address (iOS) or set Privacy to "Use device MAC" (Android).
  • Use IronWiFi's Authentication Testing Tool to isolate whether the problem is in your IronWiFi configuration or your access point/controller setup.

Diagnose and resolve common IronWiFi issues with step-by-step solutions. Each section includes symptoms, causes, and fixes organized by category.

Quick Navigation

Authentication Issues: Access Rejected · Certificate Auth · MAC Auth · RADIUS Accounting · 802.1X Protocols

Captive Portal: Splash Page · Social Login · Stuck Users · Vouchers · Custom Pages · Browser Issues

Controllers: UniFi · Meraki · MikroTik

Network: Disconnections · Slow Auth · VLAN · Bandwidth · Mobile Devices

Integrations: Connector Sync · Webhooks · Email Delivery · API · Multi-Location

Diagnostic Tools: Auth Test · Request Logs · Packet Capture


Common Issues - Quick Fixes

Before diving into detailed troubleshooting, try these solutions for the most frequently reported issues:

ProblemQuick Fix
Splash page won't loadAdd
107.178.250.42/32
and
*.ironwifi.com
to walled garden
Users can't authenticateVerify RADIUS server IP, customer authentication port, and shared secret match exactly
Authentication works but no internetCheck controller credentials and firewall allows port 8443 from
107.178.250.42
Social login failsAdd provider domains to walled garden:
*.google.com
,
*.facebook.com
iOS/Android won't connectDisable Private WiFi Address (iOS) or set Privacy to "Use device MAC" (Android)
VLAN not assignedAdd
Tunnel-Private-Group-ID
attribute and verify VLAN exists on switches

Authentication Issues

Access Rejected

Symptoms: User cannot connect and receives a rejection message or error.

Common causes and solutions:

CauseHow to fix
Invalid credentialsGo to Users in the IronWiFi Console and verify the username and password are correct
User disabledOpen the user's profile and confirm Status is set to "Enabled"
Time restrictionsCheck the Login Time attribute in the user's profile to ensure the current time falls within allowed hours
Expired accountReview the Valid From and Valid To dates in the user's profile
Wrong authentication sourceVerify the user's Authentication Source matches where their credentials are stored (local, Microsoft Entra ID, Google Workspace, etc.)

Certificate Authentication Failure

Symptoms: EAP-TLS authentication fails with certificate-related errors.

Common causes and solutions:

CauseHow to fix
Certificate expiredCheck the certificate's validity dates and issue a new certificate if expired
Certificate revokedIn the IronWiFi Console, go to Certificates and verify the certificate is not in the revoked list
CA certificate not trustedInstall the IronWiFi CA certificate on the client device (download from Certificates > CA Certificate)
Wrong certificate selectedOn the client device, open WiFi settings and select the correct user certificate for this network

MAC Authentication Not Working

Symptoms: Device should authenticate automatically based on its MAC address but fails to connect.

Common causes and solutions:

CauseHow to fix
MAC not in authorized listGo to Users, open the user's profile, and add the device MAC address under Authorized Devices
MAC format mismatchUse lowercase letters with colons as separators (e.g.,
aa:bb:cc:dd:ee:ff
). Check that your controller sends MACs in this format
Feature not enabledIn your Captive Portal settings, enable MAC-based authentication
Authorization expiredCheck if the MAC authorization has a time limit and re-authorize the device if needed

RADIUS Accounting Issues

Symptoms: Session data not tracked, incorrect usage statistics, or accounting reports showing no data.

Common causes and solutions:

CauseHow to fix
Accounting not enabledIn IronWiFi Console, go to Networks and verify RADIUS Accounting is enabled in your network settings
Wrong accounting portVerify your controller is sending accounting packets to your customer accounting port (displayed in Network Settings). Check controller logs for accounting failures
Accounting-Start not receivedReview Reports > Authentication to confirm Accounting-Start packets are arriving. If missing, check firewall rules for UDP traffic on your customer accounting port
Session timeout mismatchedEnsure Accounting-Interim-Interval on your controller matches or is lower than the Session-Timeout value in IronWiFi
Duplicate session IDsSome controllers reuse session IDs. In IronWiFi Network settings, enable Unique Session ID to handle this
Data usage not accurateVerify your controller sends Accounting-Update packets with Acct-Input-Octets and Acct-Output-Octets attributes

802.1X Protocol Issues

Symptoms: Enterprise WiFi authentication fails with protocol-specific errors for EAP-TTLS or PEAP.

Common causes and solutions:

CauseHow to fix
Inner authentication mismatchFor EAP-TTLS, verify inner method is set to PAP (not MSCHAPv2) on both client and server. For PEAP, use MSCHAPv2
Server certificate not trustedClient devices must trust the RADIUS server certificate. Install the IronWiFi CA certificate on client devices
Anonymous identity misconfiguredFor privacy, use an anonymous outer identity (e.g.,
anonymous@yourdomain.com
) and the real username as inner identity
Phase 2 authentication failingCheck user credentials are correct for the inner authentication method. Review Reports > Authentication for specific error messages
TLS version incompatibilityEnsure client devices support TLS 1.2 or higher. Older devices may need firmware updates
Domain name verificationIf client enforces server name verification, ensure the certificate CN or SAN matches the RADIUS server domain
Related Resources

Captive Portal Issues

Splash Page Not Loading

Symptoms: Users see a white page, timeout error, or "page cannot be displayed" when connecting to WiFi.

Common causes and solutions:

CauseHow to fix
Walled garden misconfiguredAdd IronWiFi's IP address
107.178.250.42/32
and domain
*.ironwifi.com
to your controller's walled garden or pre-auth access list
Wrong redirect URLCopy the Splash Page URL from your IronWiFi captive portal settings and paste it exactly into your controller's external portal URL field
DNS issuesEnsure your controller allows DNS traffic (port 53) before authentication. Add DNS servers to the pre-auth access list
HTTPS certificate problemsIf using a custom domain, verify your SSL certificate is valid and properly installed

Social Login Not Working

Symptoms: Users click a social login button (Google, Facebook, LinkedIn) but authentication fails or the login window doesn't appear.

Common causes and solutions:

CauseHow to fix
Missing walled garden entriesAdd the required domains to your controller's walled garden. For Google:
*.google.com
,
*.gstatic.com
,
*.googleapis.com
. For Facebook:
*.facebook.com
,
*.fbcdn.net
OAuth app misconfiguredIn IronWiFi Console under Captive Portals > Authentication Providers, verify your OAuth Client ID and Secret are correct
Popup blockedThe user's browser may be blocking the login popup. They should allow popups for the splash page domain
Third-party cookies blockedSocial login requires third-party cookies. Users should enable cookies or try a different browser

Users Stuck on Splash Page

Symptoms: Users complete authentication (see a success message) but cannot access the internet and may be redirected back to the splash page.

Common causes and solutions:

CauseHow to fix
Controller not receiving auth responseFor UniFi and similar controllers, verify the controller credentials in IronWiFi are correct and the controller is reachable from the internet (check firewall rules for port 8443)
Session not createdGo to Reports > Sessions in IronWiFi Console to check if a session was created. If not, review the authentication logs for errors
Client isolation enabledIf client isolation is enabled on your access points, it may block communication. Disable it or add exceptions for the captive portal
VLAN misconfigurationVerify the post-auth VLAN assignment is correct and that the VLAN has internet access

Voucher/Guest Pass Problems

Symptoms: Vouchers not working, guests cannot redeem codes, or voucher codes not generating.

Common causes and solutions:

CauseHow to fix
Voucher expiredCheck the Valid Until date in Captive Portals > Vouchers. Extend expiration or create new vouchers
Voucher already usedEach voucher code can typically be used once (unless configured otherwise). Verify usage count in the voucher details
Voucher not activatedEnsure the voucher status is set to Active in the IronWiFi Console
Wrong voucher formatVerify users are entering the code exactly as generated, including any dashes or special characters
Voucher page not accessibleAdd voucher redemption domains to the walled garden. Ensure
*.ironwifi.com
is whitelisted
Batch generation failedWhen generating bulk vouchers, check browser console for errors. Try generating smaller batches (e.g., 100 at a time)
Email delivery failedIf vouchers should be emailed to guests, verify email settings in Account > Outgoing Emails

Custom Splash Page Issues

Symptoms: Custom HTML/CSS not displaying correctly, JavaScript errors, or form submissions failing.

Common causes and solutions:

CauseHow to fix
JavaScript errorsOpen browser developer console (F12) and check the Console tab for errors. Fix syntax errors or missing dependencies
CSS not loadingVerify external CSS URLs are added to the walled garden. Use inline CSS or host assets on IronWiFi-friendly domains
Form fields not submittingEnsure form field names match IronWiFi requirements (e.g.,
username
,
password
,
email
). Check form method is POST
Custom domain SSL issuesIf using a custom domain, verify SSL certificate is valid and properly configured. Mixed content (HTTP on HTTPS page) will be blocked
External resources blockedAdd all third-party resources (fonts, images, scripts) to the walled garden or use data URIs for small assets
Mobile responsive issuesTest on actual mobile devices. Use CSS media queries and viewport meta tags for proper mobile rendering
Template variables not workingVerify you're using correct template syntax (e.g.,
{{username}}
,
{{location}}
). Check IronWiFi documentation for available variables

Browser Compatibility Issues

Symptoms: Splash page works in some browsers but not others, or specific browser shows errors.

Common causes and solutions:

CauseHow to fix
Captive portal detection disablediOS users: Ensure Auto-Join is enabled for the network. Android users: Enable Auto-connect in WiFi settings
Browser privacy mode blocking cookiesSocial login and some authentication methods require cookies. Users should disable private/incognito mode or allow cookies
Safari blocking third-party cookiesFor iOS/macOS Safari, users must enable Prevent Cross-Site Tracking exceptions or use a different browser
Popup blockers preventing social loginUsers must allow popups for the splash page domain. Add exception in browser settings
Older browser versionsRecommend users update to latest browser version. Modern authentication protocols require updated browsers
Browser extensions interferingAd blockers or privacy extensions may block authentication. Users should disable extensions or whitelist the splash page
Redirect loops in ChromeClear browser cache and cookies. Verify the captive portal detection is working (disconnect and reconnect to WiFi)
Related Resources

Controller-Specific Issues

UniFi: Authorization Failed

Error:

unifi_authentication_failed

This error means IronWiFi cannot authenticate with your UniFi controller.

How to fix:

  1. In UniFi, create a dedicated local admin user (not SSO) with full admin privileges
  2. In IronWiFi Console, go to Captive Portals and update the UniFi controller credentials with this new user
  3. Test the connection by clicking Test Connection in the captive portal settings

Error:

unifi_gw_connection_failed

This error means IronWiFi cannot reach your UniFi controller over the network.

How to fix:

  1. Confirm your controller's public IP address or hostname is correct in IronWiFi
  2. Ensure your firewall allows inbound connections on port 8443 from IronWiFi's IP (
    107.178.250.42
    )
  3. If your controller is behind NAT, set up port forwarding for port 8443 to your controller's internal IP
  4. If direct connection isn't possible, enable the Proxy feature in your IronWiFi captive portal settings

Meraki: RADIUS Timeout

Symptoms: Users experience long delays during authentication, or authentication times out completely.

How to fix:

  1. In Meraki Dashboard, go to Wireless > Access control and verify the RADIUS server IP matches IronWiFi's regional server (find this in your IronWiFi network settings)
  2. Confirm the RADIUS ports match your customer authentication and accounting ports (displayed in Network Settings)
  3. Double-check that the shared secret in Meraki exactly matches the one in IronWiFi (secrets are case-sensitive)
  4. Ensure your firewall allows outbound UDP traffic on your customer authentication and accounting ports to the IronWiFi RADIUS server
  5. If using RADIUS accounting, verify it's enabled in both Meraki and IronWiFi

MikroTik: Users Can't Authenticate

Symptoms: Users cannot authenticate through the MikroTik hotspot.

How to fix:

  1. Verify your RADIUS configuration in the MikroTik terminal:

    /radius print

    Confirm the server address, secret, and ports match your IronWiFi settings.

  2. Check hotspot server settings:

    /ip hotspot print

    Ensure the hotspot is enabled and assigned to the correct interface.

  3. Verify walled garden entries include IronWiFi domains:

    /ip hotspot walled-garden print

    Add

    *.ironwifi.com
    and
    107.178.250.42
    if missing.

  4. Test with a local MikroTik user first to confirm the hotspot itself works, then switch to RADIUS authentication.

Network Issues

Intermittent Connectivity

Symptoms: Users experience random disconnections or need to re-authenticate frequently.

Common causes and solutions:

CauseHow to fix
Session timeout too shortIn IronWiFi Console, go to Networks > Attributes and increase the Session-Timeout value (e.g., 28800 for 8 hours)
Idle timeout too aggressiveIncrease the Idle-Timeout attribute to allow longer periods of inactivity before disconnection
Network instabilityCheck your local network for issues such as interference, overloaded access points, or bandwidth problems
Roaming between APsEnable seamless roaming (802.11r/k/v) on your access points and ensure all APs use the same SSID and security settings

Slow Authentication

Symptoms: Authentication takes several seconds or longer than expected.

Common causes and solutions:

CauseHow to fix
RADIUS server latencyUse the IronWiFi regional server closest to your location. Check your network settings for available regions
Controller to IronWiFi latencyIf your controller has high latency to IronWiFi, enable the Proxy feature in your captive portal settings for a direct connection
DNS resolution delaysConfigure reliable DNS servers (e.g., 8.8.8.8, 1.1.1.1) on your network and ensure DNS is allowed before authentication
Certificate chain issuesIf using EAP-TLS, ensure your certificate chain is complete and doesn't require additional lookups during verification

VLAN Assignment Issues

Symptoms: Users placed in wrong VLAN, dynamic VLAN not working, or network access incorrect after authentication.

Common causes and solutions:

CauseHow to fix
VLAN attribute not configuredIn IronWiFi Console, go to Users or Networks > Attributes and add the Tunnel-Private-Group-ID attribute with the VLAN ID
Controller not supporting dynamic VLANVerify your controller/AP supports 802.1X dynamic VLAN assignment. Check vendor documentation for RADIUS VLAN support
VLAN not created on switchEnsure the VLAN ID exists on your network switches and has proper routing/internet access configured
Trunk port misconfigurationVerify the port connecting your AP to the switch is configured as a trunk port allowing all required VLANs
VLAN override in controllerSome controllers have local VLAN settings that override RADIUS attributes. Check AP or SSID VLAN configuration
Multiple VLAN attributes conflictingIf using both Tunnel-Private-Group-ID and other VLAN attributes, ensure they match. Remove conflicting attributes
Guest VLAN fallbackSome controllers fall back to a guest VLAN on auth failure. Verify authentication is succeeding first

Bandwidth Limits Not Working

Symptoms: User bandwidth exceeds configured limits, traffic shaping not applied, or speed restrictions ignored.

Common causes and solutions:

CauseHow to fix
Rate limiting not configuredIn IronWiFi Console, add WISPr-Bandwidth-Max-Down and WISPr-Bandwidth-Max-Up attributes to user profile or network (values in kbps)
Controller doesn't support rate limitingVerify your controller supports WISPr bandwidth attributes. Not all vendors implement this feature
Per-user vs per-session limitsSome controllers apply limits per device, others per user. Test with single device to verify behavior
Burst settings too highIf your controller supports burst rates, lower the burst limit to enforce consistent speed limits
QoS conflicting with RADIUSController QoS policies may override RADIUS attributes. Disable local QoS or set it to use RADIUS values
Cached sessionsAfter changing bandwidth limits, users may need to reconnect for new limits to apply. Force session termination in IronWiFi
Incorrect attribute formatVerify bandwidth values are in the correct unit (kbps, not Mbps). For 10 Mbps limit, use 10000 (kbps)

Mobile Device Specific Issues

Symptoms: Certain mobile devices cannot connect while others work fine, or device-specific authentication errors.

Common causes and solutions:

CauseHow to fix
iOS Private WiFi AddressiOS randomizes MAC addresses by default. Disable Private WiFi Address in iOS WiFi settings, or use user authentication instead of MAC auth
Android randomized MACAndroid 10+ randomizes MACs. In WiFi settings, set Privacy to Use device MAC for the network
iOS captive portal assistant closingiOS may close the captive portal window too quickly. Ensure your success page shows for at least 2-3 seconds before redirect
Android not showing captive portalEnable Auto-connect in Android WiFi settings. Ensure walled garden includes
connectivitycheck.gstatic.com
for portal detection
iOS certificate trust issuesFor 802.1X, install certificates via Apple Configurator or MDM. Manually installed certificates may not be trusted for WiFi
Android certificate installationOn Android, certificates must be installed as WiFi certificate not just VPN/App certificate
Device manufacturer customizationsSamsung, Xiaomi, and other manufacturers modify Android WiFi behavior. Test with stock Android device to isolate vendor-specific issues
Related Resources

Integration Issues

Connector Sync Failing

Symptoms: Users from Google Workspace or Microsoft Entra ID are not appearing in IronWiFi, or changes are not being synchronized.

How to fix:

  1. Go to Connectors in IronWiFi Console and click Re-authorize to refresh the connection
  2. Verify the connector has the required API permissions in Google Admin Console or Azure Portal
  3. Check the Sync Logs in IronWiFi to identify specific errors
  4. Ensure your network allows outbound HTTPS connections to Google and Microsoft APIs

Webhook Not Received

Symptoms: Your application is not receiving webhook notifications from IronWiFi.

How to fix:

  1. Go to your Captive Portal settings in IronWiFi Console, find the Webhook URL field, and verify the URL is correct and includes
    https://
  2. Confirm your receiving server is running and accessible from the internet
  3. Check your firewall allows inbound HTTPS connections from IronWiFi's IP (
    107.178.250.42
    )
  4. Verify your server's SSL certificate is valid and not expired

Email/Notification Delivery Issues

Symptoms: Welcome emails, voucher codes, or password reset emails not received by users.

Common causes and solutions:

CauseHow to fix
Email not configuredIn IronWiFi Console, go to Account > Outgoing Emails and set up SMTP server or use IronWiFi email service
Wrong recipient emailVerify the user's email address is correct in their profile. Check for typos or extra spaces
Emails in spam folderAsk users to check spam/junk folders. Add
noreply@ironwifi.com
or your custom domain to their safe senders list
SMTP authentication failedVerify SMTP credentials (username, password, server, port) are correct. Test with an SMTP testing tool
Email rate limitingEmail providers may rate limit bulk emails. Reduce sending frequency or contact your email provider to increase limits
Template variables missingIf using custom email templates, ensure all required variables (e.g.,
{{username}}
,
{{voucher}}
) are correctly formatted
SPF/DKIM not configuredFor custom domains, configure SPF and DKIM records in your DNS to improve deliverability and avoid spam filtering

API Integration Issues

Symptoms: API calls failing, authentication errors, or unexpected responses from IronWiFi API.

Common causes and solutions:

CauseHow to fix
Invalid API keyIn IronWiFi Console, go to Account > API Keys and verify the key is active and not expired. Generate new key if needed
Wrong API endpointVerify you're using the correct regional API endpoint (e.g.,
api.ironwifi.com
,
api-eu.ironwifi.com
). Check IronWiFi API documentation
Rate limitingIronWiFi API has rate limits. Implement exponential backoff and respect
Retry-After
headers in 429 responses
Missing required parametersReview API documentation for required fields. Check request body contains all mandatory parameters
Incorrect authentication headerUse
X-API-Key
header with your API key. Format:
X-API-Key: your-api-key-here
JSON parsing errorsEnsure request body is valid JSON. Use a JSON validator to check syntax before sending requests
CORS errors in browserIf calling API from browser, verify CORS is enabled for your domain in IronWiFi settings, or use server-side API calls instead

Multi-Location Setup Issues

Symptoms: Users cannot roam between locations, authentication fails at secondary sites, or sessions not synchronized.

Common causes and solutions:

CauseHow to fix
Different networks per locationEnsure all locations use the same Network in IronWiFi Console, or configure user access to multiple networks
RADIUS server region mismatchFor optimal performance, use regional RADIUS servers. Configure each location to use the nearest IronWiFi RADIUS server
User database not sharedVerify all locations are using the same authentication source (shared user database, not separate local users per location)
Session synchronization disabledIn multi-controller setups, enable session synchronization or use a unified controller with multiple sites
Firewall blocking inter-location trafficIf using site-to-site VPN, ensure firewall rules allow traffic between locations for seamless roaming
Different SSIDs per locationFor transparent roaming, use the same SSID and security settings across all locations
Geolocation-based restrictionsCheck if user or network settings have location-based restrictions that block access at certain sites
Related Resources

Diagnostic Tools

Use these tools to diagnose issues before contacting support.

Authentication Test

Test RADIUS authentication without involving your controller:

  1. Go to ironwifi.com/authentication-testing-tool
  2. Enter your IronWiFi RADIUS server address and port
  3. Enter the shared secret from your network settings
  4. Select the authentication method (EAP-TTLS/PAP, PEAP-MSCHAPv2, PAP, or EAP-TLS)
  5. Enter test credentials (username and password)
  6. Click Test and review the response

A successful test confirms your IronWiFi configuration is correct. If this test passes but authentication fails from your controller, the issue is likely in your controller configuration.

Request Logs

View detailed authentication attempts in the IronWiFi Console:

  1. Navigate to Reports > Authentication
  2. Use filters to find specific requests by date, username, MAC address, or result (Accept/Reject)
  3. Click on any request to see the full RADIUS attributes sent and received
  4. Look for error messages or missing attributes that explain the failure

Packet Capture

For advanced debugging when other methods don't reveal the issue:

  1. On your controller or a network device, capture RADIUS traffic on your customer authentication and accounting ports (UDP)
  2. Look for Access-Request packets going to IronWiFi and Access-Accept or Access-Reject responses
  3. Verify that required attributes (User-Name, Called-Station-Id, etc.) are present in requests
  4. Compare the shared secret usage and attribute formats with IronWiFi documentation

Getting Help

Still experiencing issues? Follow these steps:

1. Check Service Status

Visit status.ironwifi.com first to verify no ongoing outages or maintenance.

2. Gather Diagnostic Information

Before contacting support, collect:

  • Screenshots of error messages
  • Request IDs from Request Logs
  • Controller type and firmware version
  • Steps to reproduce the issue
  • Recent configuration changes

3. Contact Support

Include all diagnostic information for faster resolution.

Was this page helpful?