记录 Linux 下无法连接 WPA2-EAP WiFi 的问题排查过程。

症状

添加好 WiFi 配置后点击连接,KDE 的 NetworkManager 会在“正在配置端口”后小概率获取 IP,随后又弹出重新输入密码的窗口。反复尝试后仍然连接失败。

排查

查看 NetworkManager 的 journal 并未发现有用信息:

journalctl -xeu NetworkManager

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
2026/3/5 16:45	NetworkManager	<info>  [1772700308.8622] Config: added 'ssid' value 'S'
2026/3/5 16:45 NetworkManager <info> [1772700308.8622] Config: added 'scan_ssid' value '1'
2026/3/5 16:45 NetworkManager <info> [1772700308.8622] Config: added 'bgscan' value 'simple:30:-65:300'
2026/3/5 16:45 NetworkManager <info> [1772700308.8622] Config: added 'key_mgmt' value 'WPA-EAP FT-EAP FT-EAP-SHA384 WPA-EAP-SHA256'
2026/3/5 16:45 NetworkManager <info> [1772700308.8622] Config: added 'auth_alg' value 'OPEN'
2026/3/5 16:45 NetworkManager <info> [1772700308.8623] Config: added 'password' value '<hidden>'
2026/3/5 16:45 NetworkManager <info> [1772700308.8623] Config: added 'eap' value 'PEAP'
2026/3/5 16:45 NetworkManager <info> [1772700308.8623] Config: added 'fragment_size' value '1266'
2026/3/5 16:45 NetworkManager <info> [1772700308.8623] Config: added 'phase2' value 'auth=MSCHAPV2'
2026/3/5 16:45 NetworkManager <info> [1772700308.8623] Config: added 'identity' value '28'
2026/3/5 16:45 NetworkManager <info> [1772700308.8623] Config: added 'proactive_key_caching' value '1'
2026/3/5 16:45 NetworkManager <info> [1772700308.9515] device (wlp9s0): supplicant interface state: disconnected -> scanning
2026/3/5 16:45 NetworkManager <info> [1772700308.9515] device (p2p-dev-wlp9s0): supplicant management interface state: disconnected -> scanning
2026/3/5 16:45 NetworkManager <info> [1772700312.8392] device (wlp9s0): supplicant interface state: scanning -> authenticating
2026/3/5 16:45 NetworkManager <info> [1772700312.8392] device (p2p-dev-wlp9s0): supplicant management interface state: scanning -> authenticating
2026/3/5 16:45 NetworkManager <info> [1772700312.8454] device (wlp9s0): supplicant interface state: authenticating -> associating
2026/3/5 16:45 NetworkManager <info> [1772700312.8454] device (p2p-dev-wlp9s0): supplicant management interface state: authenticating -> associating
2026/3/5 16:45 NetworkManager <info> [1772700312.9626] device (wlp9s0): supplicant interface state: associating -> associated
2026/3/5 16:45 NetworkManager <info> [1772700312.9627] device (p2p-dev-wlp9s0): supplicant management interface state: associating -> associated
2026/3/5 16:45 NetworkManager <info> [1772700314.0445] device (wlp9s0): supplicant interface state: associated -> disconnected
2026/3/5 16:45 NetworkManager <info> [1772700314.0445] device (p2p-dev-wlp9s0): supplicant management interface state: associated -> disconnected
2026/3/5 16:45 NetworkManager <info> [1772700314.2286] device (wlp9s0): supplicant interface state: disconnected -> scanning
2026/3/5 16:45 NetworkManager <info> [1772700314.2286] device (p2p-dev-wlp9s0): supplicant management interface state: disconnected -> scanning
2026/3/5 16:45 NetworkManager <info> [1772700328.7202] device (wlp9s0): supplicant interface state: scanning -> authenticating
2026/3/5 16:45 NetworkManager <info> [1772700328.7203] device (p2p-dev-wlp9s0): supplicant management interface state: scanning -> authenticating
2026/3/5 16:45 NetworkManager <info> [1772700328.7253] device (wlp9s0): supplicant interface state: authenticating -> associating
2026/3/5 16:45 NetworkManager <info> [1772700328.7253] device (p2p-dev-wlp9s0): supplicant management interface state: authenticating -> associating
2026/3/5 16:45 NetworkManager <info> [1772700328.8425] device (wlp9s0): supplicant interface state: associating -> associated
2026/3/5 16:45 NetworkManager <info> [1772700328.8426] device (p2p-dev-wlp9s0): supplicant management interface state: associating -> associated
2026/3/5 16:45 NetworkManager <info> [1772700329.9175] device (wlp9s0): supplicant interface state: associated -> disconnected
2026/3/5 16:45 NetworkManager <info> [1772700329.9176] device (p2p-dev-wlp9s0): supplicant management interface state: associated -> disconnected
2026/3/5 16:45 NetworkManager <info> [1772700330.1012] device (wlp9s0): supplicant interface state: disconnected -> scanning
2026/3/5 16:45 NetworkManager <info> [1772700330.1012] device (p2p-dev-wlp9s0): supplicant management interface state: disconnected -> scanning
2026/3/5 16:45 NetworkManager <warn> [1772700333.9965] device (wlp9s0): Activation: (wifi) association took too long
2026/3/5 16:45 NetworkManager <info> [1772700333.9965] device (wlp9s0): state change: config -> need-auth (reason 'none', managed-type: 'full')
2026/3/5 16:45 NetworkManager <warn> [1772700333.9970] device (wlp9s0): Activation: (wifi) asking for new secrets
2026/3/5 16:45 NetworkManager <info> [1772700343.9915] device (wlp9s0): state change: need-auth -> prepare (reason 'none', managed-type: 'full')
2026/3/5 16:45 NetworkManager <info> [1772700343.9918] device (wlp9s0): state change: prepare -> config (reason 'none', managed-type: 'full')
2026/3/5 16:45 NetworkManager <info> [1772700343.9920] device (wlp9s0): Activation: (wifi) connection '1X' has security, and secrets exist. No new secrets needed.
2026/3/5 16:45 NetworkManager <info> [1772700343.9920] Config: added 'ssid' value 'X'
2026/3/5 16:45 NetworkManager <info> [1772700343.9920] Config: added 'scan_ssid' value '1'
2026/3/5 16:45 NetworkManager <info> [1772700343.9920] Config: added 'bgscan' value 'simple:30:-65:300'
2026/3/5 16:45 NetworkManager <info> [1772700343.9920] Config: added 'key_mgmt' value 'WPA-EAP FT-EAP FT-EAP-SHA384 WPA-EAP-SHA256'
2026/3/5 16:45 NetworkManager <info> [1772700343.9920] Config: added 'auth_alg' value 'OPEN'
2026/3/5 16:45 NetworkManager <info> [1772700343.9920] Config: added 'password' value '<hidden>'
2026/3/5 16:45 NetworkManager <info> [1772700343.9920] Config: added 'eap' value 'PEAP'
2026/3/5 16:45 NetworkManager <info> [1772700343.9920] Config: added 'fragment_size' value '1266'
2026/3/5 16:45 NetworkManager <info> [1772700343.9921] Config: added 'phase2' value 'auth=MSCHAPV2'
2026/3/5 16:45 NetworkManager <info> [1772700343.9921] Config: added 'identity' value '8'
2026/3/5 16:45 NetworkManager <info> [1772700343.9921] Config: added 'proactive_key_caching' value '1'
2026/3/5 16:45 NetworkManager <info> [1772700347.9052] device (wlp9s0): supplicant interface state: scanning -> authenticating
2026/3/5 16:45 NetworkManager <info> [1772700347.9053] device (p2p-dev-wlp9s0): supplicant management interface state: scanning -> authenticating
2026/3/5 16:45 NetworkManager <info> [1772700347.9128] device (wlp9s0): supplicant interface state: authenticating -> associating
2026/3/5 16:45 NetworkManager <info> [1772700347.9129] device (p2p-dev-wlp9s0): supplicant management interface state: authenticating -> associating
2026/3/5 16:45 NetworkManager <info> [1772700348.0264] device (wlp9s0): supplicant interface state: associating -> associated
2026/3/5 16:45 NetworkManager <info> [1772700348.0265] device (p2p-dev-wlp9s0): supplicant management interface state: associating -> associated
2026/3/5 16:45 NetworkManager <info> [1772700349.1053] device (wlp9s0): supplicant interface state: associated -> disconnected
2026/3/5 16:45 NetworkManager <info> [1772700349.1054] device (p2p-dev-wlp9s0): supplicant management interface state: associated -> disconnected
2026/3/5 16:45 NetworkManager <info> [1772700349.2907] device (wlp9s0): supplicant interface state: disconnected -> scanning
2026/3/5 16:45 NetworkManager <info> [1772700349.2908] device (p2p-dev-wlp9s0): supplicant management interface state: disconnected -> scanning
2026/3/5 16:46 NetworkManager <info> [1772700363.7809] device (wlp9s0): supplicant interface state: scanning -> authenticating
2026/3/5 16:46 NetworkManager <info> [1772700363.7810] device (p2p-dev-wlp9s0): supplicant management interface state: scanning -> authenticating
2026/3/5 16:46 NetworkManager <info> [1772700363.7891] device (wlp9s0): supplicant interface state: authenticating -> associating
2026/3/5 16:46 NetworkManager <info> [1772700363.7891] device (p2p-dev-wlp9s0): supplicant management interface state: authenticating -> associating
2026/3/5 16:46 NetworkManager <info> [1772700363.8986] device (wlp9s0): supplicant interface state: associating -> associated
2026/3/5 16:46 NetworkManager <info> [1772700363.8987] device (p2p-dev-wlp9s0): supplicant management interface state: associating -> associated
2026/3/5 16:46 NetworkManager <info> [1772700364.9656] device (wlp9s0): supplicant interface state: associated -> disconnected
2026/3/5 16:46 NetworkManager <info> [1772700364.9657] device (p2p-dev-wlp9s0): supplicant management interface state: associated -> disconnected
2026/3/5 16:46 NetworkManager <info> [1772700365.1507] device (wlp9s0): supplicant interface state: disconnected -> scanning
2026/3/5 16:46 NetworkManager <info> [1772700365.1508] device (p2p-dev-wlp9s0): supplicant management interface state: disconnected -> scanning
2026/3/5 16:46 NetworkManager <warn> [1772700368.9965] device (wlp9s0): Activation: (wifi) association took too long
2026/3/5 16:46 NetworkManager <info> [1772700368.9965] device (wlp9s0): state change: config -> need-auth (reason 'none', managed-type: 'full')
2026/3/5 16:46 NetworkManager <warn> [1772700368.9970] device (wlp9s0): Activation: (wifi) asking for new secrets
2026/3/5 16:46 NetworkManager <info> [1772700372.8897] device (wlp9s0): state change: need-auth -> prepare (reason 'none', managed-type: 'full')
2026/3/5 16:46 NetworkManager <info> [1772700372.8903] device (wlp9s0): state change: prepare -> config (reason 'none', managed-type: 'full')
2026/3/5 16:46 NetworkManager <info> [1772700372.8907] device (wlp9s0): Activation: (wifi) connection '1X' has security, and secrets exist. No new secrets needed.
2026/3/5 16:46 NetworkManager <info> [1772700372.8908] Config: added 'ssid' value ''
2026/3/5 16:46 NetworkManager <info> [1772700372.8908] Config: added 'scan_ssid' value '1'
2026/3/5 16:46 NetworkManager <info> [1772700372.8908] Config: added 'bgscan' value 'simple:30:-65:300'
2026/3/5 16:46 NetworkManager <info> [1772700372.8908] Config: added 'key_mgmt' value 'WPA-EAP FT-EAP FT-EAP-SHA384 WPA-EAP-SHA256'
2026/3/5 16:46 NetworkManager <info> [1772700372.8908] Config: added 'auth_alg' value 'OPEN'
2026/3/5 16:46 NetworkManager <info> [1772700372.8909] Config: added 'password' value '<hidden>'
2026/3/5 16:46 NetworkManager <info> [1772700372.8909] Config: added 'eap' value 'PEAP'
2026/3/5 16:46 NetworkManager <info> [1772700372.8909] Config: added 'fragment_size' value '1266'
2026/3/5 16:46 NetworkManager <info> [1772700372.8909] Config: added 'phase2' value 'auth=MSCHAPV2'
2026/3/5 16:46 NetworkManager <info> [1772700372.8909] Config: added 'identity' value '208'
2026/3/5 16:46 NetworkManager <info> [1772700372.8910] Config: added 'proactive_key_caching' value '1'
2026/3/5 16:46 NetworkManager <info> [1772700376.8107] device (wlp9s0): supplicant interface state: scanning -> authenticating
2026/3/5 16:46 NetworkManager <info> [1772700376.8108] device (p2p-dev-wlp9s0): supplicant management interface state: scanning -> authenticating
2026/3/5 16:46 NetworkManager <info> [1772700376.8185] device (wlp9s0): supplicant interface state: authenticating -> associating
2026/3/5 16:46 NetworkManager <info> [1772700376.8186] device (p2p-dev-wlp9s0): supplicant management interface state: authenticating -> associating
2026/3/5 16:46 NetworkManager <info> [1772700376.9304] device (wlp9s0): supplicant interface state: associating -> associated
2026/3/5 16:46 NetworkManager <info> [1772700376.9304] device (p2p-dev-wlp9s0): supplicant management interface state: associating -> associated
2026/3/5 16:46 NetworkManager <info> [1772700378.0091] device (wlp9s0): supplicant interface state: associated -> disconnected
2026/3/5 16:46 NetworkManager <info> [1772700378.0091] device (p2p-dev-wlp9s0): supplicant management interface state: associated -> disconnected
2026/3/5 16:46 NetworkManager <info> [1772700378.1930] device (wlp9s0): supplicant interface state: disconnected -> scanning
2026/3/5 16:46 NetworkManager <info> [1772700378.1930] device (p2p-dev-wlp9s0): supplicant management interface state: disconnected -> scanning
2026/3/5 16:46 NetworkManager <warn> [1772700397.9964] device (wlp9s0): Activation: (wifi) association took too long
2026/3/5 16:46 NetworkManager <info> [1772700397.9965] device (wlp9s0): state change: config -> failed (reason 'no-secrets', managed-type: 'full')
2026/3/5 16:46 NetworkManager <info> [1772700397.9969] manager: NetworkManager state is now CONNECTED_LOCAL
2026/3/5 16:46 NetworkManager <info> [1772700398.0133] device (wlp9s0): set-hw-addr: set MAC address to AAAA (scanning)
2026/3/5 16:46 NetworkManager <warn> [1772700398.0976] device (wlp9s0): Activation: failed for connection 'X'

日志与前述症状一致,依然没有关键线索。
继续排查 NetworkManager 的无线后端 wpa_supplicant 的日志 journalctl -xeu wpa_supplicant

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2026/3/11 08:00	wpa_supplicant	nl80211: send_event_marker failed: Source based routing not supported
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-DISCONNECTED bssid=AAAA reason=3 locally_generated=1
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-DSCP-POLICY clear_all
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
2026/3/11 08:00 NetworkManager <info> [1773187200.7302] Config: added 'key_mgmt' value 'WPA-EAP FT-EAP FT-EAP-SHA384 WPA-EAP-SHA256'
2026/3/11 08:00 wpa_supplicant wlp9s0: SME: Trying to authenticate with AAAA (SSID='X' freq=5745 MHz)
2026/3/11 08:00 wpa_supplicant wlp9s0: Trying to associate with AAAA (SSID='X' freq=5745 MHz)
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-REGDOM-BEACON-HINT before freq=5745 max_tx_power=2000 no_ir=1
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-REGDOM-BEACON-HINT after freq=5745 max_tx_power=2000
2026/3/11 08:00 wpa_supplicant wlp9s0: Associated with AAAA
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-EAP-STARTED EAP authentication started
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=25
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 25 (PEAP) selected
2026/3/11 08:00 wpa_supplicant SSL: SSL3 alert: write (local SSL3 detected an error):fatal:protocol version
2026/3/11 08:00 wpa_supplicant OpenSSL: openssl_handshake - SSL_connect error:0A000102:SSL routines::unsupported protocol
2026/3/11 08:00 wpa_supplicant wlp9s0: CTRL-EVENT-EAP-FAILURE EAP authentication failed

最后发现 OpenSSL 的加密策略过于严格,而我要连的 WiFi 设备较旧,用的还是较旧的加密方式,导致认证失败。

解决

既然问题在 OpenSSL,且为了不修改全局配置,可以单独为 wpa_supplicant 指定配置文件,编辑 /etc/wpa_supplicant/openssl.cnf

1
2
3
4
5
6
7
8
[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
CipherString = DEFAULT:@SECLEVEL=1

编辑 wpa_supplicant 的 service 文件:

#
1
2
3
4
5
6
### Editing /etc/systemd/system/wpa_supplicant.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file

+Environment="OPENSSL_CONF=/etc/wpa_supplicant/openssl.cnf"

### Edits below this comment will be discarded

重启 wpa_supplicant 即可。