A client that associates with the SSID and then fails to log in can be stuck at any one of four links — the terminal itself, the AP, the wireless controller (AC), or the authentication server behind it. This is the diagnostic order that finds which link is actually broken, the real display and configuration commands for Portal, PSK and 802.1X, and the causes that account for most of these tickets.
By the AtlasCommTech engineering team — 13 years of carrier & enterprise network deployments · Updated July 2026
"Wrong password" on a phone screen can mean four completely different failures underneath it — which is exactly why working through the chain in order beats guessing.
A Wi-Fi client that finds the SSID, associates with the AP, and then fails to log in is a wireless-side problem — the fault sits in the terminal-to-AP link, the AP-to-AC (wireless controller) link, or the AC-to-authentication-server link behind it: a Portal server for a web-page push, or a RADIUS server for 802.1X. That's a different chain from a wired deployment, where the client is already plugged into a switch port and the redirect happens at the router or gateway itself — if that's what you're actually looking at, our wired-router Portal authentication troubleshooting note covers that chain instead.
What follows is the client-AP-AC-server chain as a diagnostic tree, the checks for each stage with the exact commands to run against a Huawei AC/WAC, the causes that show up again and again across Portal, PSK and 802.1X once you're past the first few checks, and field FAQ answers.
Wi-Fi authentication splits into two shapes: no server is involved at all, or the AC is relaying the request to a Portal or RADIUS server somewhere behind it.
Placing the symptom on this chain first tells you which stage section below actually applies, instead of restarting the AP and hoping.
Diagram labels are kept in English for engineering clarity.
PSK and open authentication are settled entirely between the client and the AP's security profile — no AC-side server round-trip involved. Portal and 802.1X both depend on the AC successfully relaying a request to a server behind it, which means a config mismatch on either side of that hand-off, not just the client, can be the real fault.
Five stages, five different sets of things to look at — and the command that tells you which one you're actually stuck in.
Before chasing Portal or RADIUS, confirm the VAP the client associated with is actually up and running the security policy you think it is.
<AC1> display ap all
Total AP information:
nor : normal [1]
Total: 1
-----------------------------------------------------------------------------------------------------------------------
ID MAC Name Group IP Type State STA Uptime
-----------------------------------------------------------------------------------------------------------------------
0 00e0-fc76-e360 area_1 ap-group1 10.23.100.254 AirEngine5776-26 nor 1
-----------------------------------------------------------------------------------------------------------------------
<AC1> display vap ssid wlan-net
WID : WLAN ID
Total: 2
--------------------------------------------------------------------------------
AP ID AP name RfID WID BSSID Status Auth type STA SSID
--------------------------------------------------------------------------------
0 area_1 0 1 00E0-FC76-E360 ON WPA/WPA2-PSK 1 wlan-net
0 area_1 1 1 00E0-FC76-E370 ON WPA/WPA2-PSK 0 wlan-net
------------------------------------------------------------------------------------
// Status ON confirms the VAP was created on this radio; Auth type confirms the running security policy; STA is the associated-client count
PSK and open authentication never touch the AC's server-facing configuration — if this stage is broken, the fault is entirely in the security profile and the passphrase, nothing further downstream.
[AC1] wlan
[AC1-wlan] security-profile name wlan-net
[AC1-wlan-sec-prof-wlan-net] security wpa-wpa2 psk pass-phrase YsHsjx_202206 aes
[AC1-wlan-sec-prof-wlan-net] quit
// mixed WPA2/WPA3 profile that still accepts SAE-capable clients on the same SSID:
[AC1-wlan] security-profile name wlan-net
[AC1-wlan-sec-prof-wlan-net] security wpa2-wpa3 psk-sae pass-phrase YsHsjx_202206 aes
If the client sees the login page but every credential fails, or never sees the page at all, this is the AC-to-Portal-server leg, not the client.
[AC1] web-auth-server server-source all-interface
[AC1] web-auth-server abc
[AC1-web-auth-server-abc] server-ip 172.16.1.1
[AC1-web-auth-server-abc] shared-key cipher YsHsjx_202206
[AC1-web-auth-server-abc] port 50200
[AC1-web-auth-server-abc] url https://172.16.1.1:8445/portal
[AC1-web-auth-server-abc] server-detect
[AC1-web-auth-server-abc] quit
[AC1] portal-access-profile name portal1
[AC1-portal-access-profile-portal1] web-auth-server abc
[AC1-portal-access-profile-portal1] quit
[AC1] free-rule-template name default_free_rule
[AC1-free-rule-default_free_rule] free-rule 1 destination ip 172.16.1.2 mask 24
[AC1-free-rule-default_free_rule] quit
[AC1] authentication-profile name p2
[AC1-authentication-profile-p2] portal-access-profile portal1
[AC1-authentication-profile-p2] mac-access-profile mac1
[AC1-authentication-profile-p2] free-rule-template default_free_rule
[AC1-authentication-profile-p2] access-domain example.com force
// server-ip, port and shared-key must match the Portal server's own listening configuration exactly
802.1X authentication fails between the AC and the RADIUS server far more often than it fails on the client's supplicant — check the shared secret and the EAP method before touching anything on the terminal.
[AC1] radius-server template radius_huawei
[AC1-radius-radius_huawei] radius-server authentication 10.23.200.1 1812
[AC1-radius-radius_huawei] radius-server accounting 10.23.200.1 1813
[AC1-radius-radius_huawei] radius-server shared-key cipher YsHsjx_202206mc@1
[AC1-radius-radius_huawei] quit
[AC1] aaa
[AC1-aaa] authentication-scheme scheme1
[AC1-aaa-authen-scheme1] authentication-mode radius
[AC1-aaa-authen-scheme1] quit
[AC1-aaa] domain example.com
[AC1-aaa-domain-example.com] authentication-scheme scheme1
[AC1-aaa-domain-example.com] radius-server radius_huawei
[AC1-aaa-domain-example.com] quit
[AC1-aaa] quit
[AC1] dot1x-access-profile name d1
[AC1-dot1x-access-profile-d1] quit
[AC1] authentication-profile name p1
[AC1-authentication-profile-p1] dot1x-access-profile d1
[AC1-authentication-profile-p1] access-domain example.com force
// 802.1X access profiles use EAP authentication by default -- the RADIUS server must support EAP, or every request is rejected
A client that authenticates cleanly and still can't reach anything is no longer an authentication problem — it's VLAN, ACL or free-rule scope.
[AC1] wlan
[AC1-wlan] vap-profile name wlan-net2
[AC1-wlan-vap-prof-wlan-net2] forward-mode tunnel
[AC1-wlan-vap-prof-wlan-net2] service-vlan vlan-id 101
[AC1-wlan-vap-prof-wlan-net2] security-profile wlan-net2
[AC1-wlan-vap-prof-wlan-net2] ssid-profile wlan-net2
[AC1-wlan-vap-prof-wlan-net2] authentication-profile p2
// confirm service-vlan is the VLAN this user group is actually supposed to land on, not a leftover from a copied profile
Once the stages above have told you where the problem sits, these five account for most of what's actually wrong.
SYMPTOMClient shows "authentication failed" or "incorrect password" immediately after association, even though the user is confident the password is correct.
CAUSEWith WPA/WPA2-PSK, the passphrase configured in security wpa-wpa2 psk pass-phrase is stored and displayed in cipher form on the AC — a typo made when it was first configured, or a passphrase that was changed on the AC but not communicated to users, isn't something you can catch by reading the running configuration back. Separately, if the profile was migrated to the mixed wpa2-wpa3 psk-sae mode, a client hard-coded to plain WPA2-only settings can also fail even with the right password.
FIXRe-enter the passphrase on the AC deliberately and hand out the plaintext value fresh rather than trusting a previously distributed one; if legacy clients are failing after a WPA3 migration, confirm the profile uses the mixed psk-sae mode rather than SAE-only.
[AC1-wlan] security-profile name wlan-net
[AC1-wlan-sec-prof-wlan-net] security wpa-wpa2 psk pass-phrase YsHsjx_202206 aes
SYMPTOMThe login page never appears at all — the browser just times out or redirects nowhere — rather than appearing and rejecting a correct password.
CAUSEThe AC's web-auth-server entry has to match the Portal server's own listening IP, port and shared-key exactly; a mismatch on any one of the three means the AC's push either never reaches the server or the server's reply is never trusted. If server-detect isn't enabled, an actual Portal server outage produces the identical blank-page symptom, because the AC has no heartbeat telling it the server is down.
FIXCompare server-ip, port and shared-key cipher on the AC against the Portal server's own configuration side by side, and enable server-detect so a real outage is distinguishable from a config error.
[AC1] web-auth-server abc
[AC1-web-auth-server-abc] server-ip 172.16.1.1
[AC1-web-auth-server-abc] shared-key cipher YsHsjx_202206
[AC1-web-auth-server-abc] port 50200
[AC1-web-auth-server-abc] server-detect
// Warning: The shared-key complexity is low. It is recommended that the password contain at least sixteen characters...
SYMPTOM802.1X clients hang at "authenticating" and then fail, with no obvious client-side error to explain why.
CAUSEradius-server shared-key cipher on the AC has to be character-for-character identical to the shared secret configured for this AC as a client entry on the RADIUS server; because it's stored in cipher form, a mismatch isn't visible by reading the AC's own configuration. Separately, 802.1X access profiles default to EAP authentication — if the RADIUS server isn't configured to handle the specific EAP method the client's supplicant sends (PEAP, EAP-TLS, EAP-MSCHAPv2), it rejects the request outright, which looks identical to a wrong password from the client's side.
FIXRe-enter the shared-key on the AC and confirm it against the RADIUS server's client-entry configuration directly, and confirm with the RADIUS administrator which EAP method the server actually has configured for this AC's requests.
[AC1] radius-server template radius_huawei
[AC1-radius-radius_huawei] radius-server shared-key cipher YsHsjx_202206mc@1
[AC1-radius-radius_huawei] quit
[AC1] dot1x-access-profile name d1
// 802.1X access profiles use EAP authentication by default; confirm the RADIUS server supports the client's EAP method
SYMPTOMSome users on the same SSID authenticate fine while others on the same physical AP fail, or authentication succeeds but accounting/session records never appear on the server.
CAUSEThe authentication-profile applied to a VAP has to bind both the correct access profile (dot1x-access-profile or portal-access-profile) and the correct access-domain force — the domain is what actually ties a request to a specific authentication scheme, accounting scheme and RADIUS or Portal server template. A VAP whose authentication-profile still points at a leftover or default domain silently authenticates against the wrong scheme, or against no configured scheme at all.
FIXCheck authentication-profile on the AC for the domain actually bound with access-domain force, and confirm that domain itself is bound to the authentication-scheme, accounting-scheme and radius-server (or web-auth-server, for Portal) you expect.
[AC1] aaa
[AC1-aaa] domain example.com
[AC1-aaa-domain-example.com] authentication-scheme scheme1
[AC1-aaa-domain-example.com] accounting-scheme scheme2
[AC1-aaa-domain-example.com] radius-server radius_huawei
[AC1-aaa-domain-example.com] quit
[AC1-aaa] quit
[AC1] authentication-profile name p1
[AC1-authentication-profile-p1] dot1x-access-profile d1
[AC1-authentication-profile-p1] access-domain example.com force
SYMPTOMThe client authenticates successfully — no error at all — and still can't reach the internet or internal resources.
CAUSEThis is no longer an authentication fault; it's the service-vlan configured on the vap-profile putting the client in the wrong VLAN, a user-isolation/ACL policy scoped to the wrong group, or — for Portal deployments — a free-rule-template that's too narrow to let legitimate post-login traffic through because it was written only to permit pre-auth traffic to the Portal server and DNS.
FIXConfirm service-vlan on the vap-profile matches the VLAN this user group is meant to land in, and review the free-rule-template and any ACL/isolation policy for scope that's leftover from a copied profile rather than written for this SSID.
[AC1-wlan] vap-profile name wlan-net2
[AC1-wlan-vap-prof-wlan-net2] service-vlan vlan-id 101
[AC1-wlan-vap-prof-wlan-net2] authentication-profile p2
Pulled straight from the field — the ones worth having an answer ready for.
Check display vap ssid <ssid-name> on the AC. The Auth type column tells you the security policy actually running on that SSID — WPA/WPA2-PSK, WPA2-802.1X, or Open (which means any failure has to be Portal, since there's no key or RADIUS exchange to fail). That one field rules out two of the three paths immediately.
An SSID-wide, all-at-once failure that starts at a specific moment points at the AC's server side — the RADIUS server, the Portal server, or the shared-key/domain binding between the AC and either of them — rather than PSK, since a passphrase mismatch would have been failing consistently since it was set, not suddenly for everyone together.
That pattern is almost always client-side: a stale saved passphrase on that one device, a supplicant configured for the wrong EAP method, or (for MAC-priority Portal) a MAC address that isn't matching the mac-access-profile the way it's expected to. It's rarely worth touching the AC's authentication-profile or domain binding for a single-user symptom.
Yes — each is configured as its own SSID with its own VAP profile, security profile and authentication profile, all bound to the same AP group and radio. A common pattern is a WPA2/WPA3-PSK SSID for guests or BYOD next to a WPA2-802.1X SSID for managed corporate devices on the same physical AP.
It's an authentication-profile that binds both a mac-access-profile and a portal-access-profile — known devices (already in the MAC database) get authenticated silently by MAC address, while unknown devices fall through to the Portal login page. It's the usual way to let staff-owned managed devices skip the captive portal while still pushing it to guest and BYOD traffic on the same SSID.
Completely separate, because they're different authentication-profile bindings on different VAPs — a client trying to join a WPA2-802.1X SSID never reaches the Portal server code path at all, and vice versa. If you're seeing errors that look like a mix of both, first confirm which physical SSID and VAP the client actually associated with; it's common to mistake two neighboring SSIDs for one.
This note is built around the Huawei AC/WAC (WLAN controller) configuration model and the display ap all / display vap ssid / display security-profile commands behind it, plus the RADIUS/Portal binding logic that model uses. If your controller is a different vendor, the exact commands change, but the client-AP-AC-server chain and the order in which to check it carries over directly. It doesn't cover RF-layer causes of association failure itself (channel, power, interference), WIDS/rogue-AP containment interactions, or cloud-managed AP platforms that hide these CLI views behind a web console.
Tell us which stage it's stuck at — client-AP association, PSK, Portal, or 802.1X — plus the display vap ssid or RADIUS server logs, and we'll help you read it.