Wifi
如何解決“本地選擇取消身份驗證”?
我使用Buildroot建構了一個嵌入式 Linux ,但在與 AP 保持連接時遇到了一些麻煩。無法多次獲取 IP 地址。
我使用 wpa_supplicant 通過 WPA2-PSK 連接到我的 AP。它適用於其他 AP,例如我的智能手機處於 AP 模式。
當我使用時
iwconfig wlan0
,我看到我與我的 AP 相關聯wlan0 IEEE 802.11bgn ESSID:"ZyXEL_B3B5" Mode:Managed Frequency:2.462 GHz Access Point: 90:EF:68:D3:B3:B5 Bit Rate=58.5 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:on Link Quality=53/70 Signal level=-57 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:1 Missed beacon:0
但我無法獲得 IP 地址
ifup wlan0
udhcpc (v1.22.1) started Sending discover... Sending discover... Sending discover... No lease, failing
我應該說我只能獲得一次 IP 地址。如果我重新啟動,這將不再可能。
我設法安裝
dhclient
而不是使用 Busybox 的預設 DHCP 客戶端,但沒有任何反應(我無限期地被阻止)dhclient wlan0
根據我的核心消息,我似乎沒有持續關聯
[ 355.459738] wlan0: authenticate with 90:ef:68:d3:b3:b5 (try 1) [ 355.461366] wlan0: authenticated [ 355.461416] wlan0: associate with 90:ef:68:d3:b3:b5 (try 1) [ 355.469353] wlan0: RX AssocResp from 90:ef:68:d3:b3:b5 (capab=0x431 status=0 aid=1) [ 355.469364] wlan0: associated [ 365.547863] wlan0: deauthenticating from 90:ef:68:d3:b3:b5 by local choice (reason=3) [ 365.672765] cfg80211: Calling CRDA to update world regulatory domain [ 367.169736] wlan0: authenticate with 90:ef:68:d3:b3:b5 (try 1) [ 367.171421] wlan0: authenticated [ 367.194859] wlan0: associate with 90:ef:68:d3:b3:b5 (try 1) [ 367.198561] wlan0: RX AssocResp from 90:ef:68:d3:b3:b5 (capab=0x431 status=0 aid=1) [ 367.198584] wlan0: associated [ 377.277864] wlan0: deauthenticating from 90:ef:68:d3:b3:b5 by local choice (reason=3) [ 377.412822] cfg80211: Calling CRDA to update world regulatory domain [ 378.899738] wlan0: authenticate with 90:ef:68:d3:b3:b5 (try 1) [ 378.901668] wlan0: authenticated [ 378.924732] wlan0: associate with 90:ef:68:d3:b3:b5 (try 1) [ 378.928437] wlan0: RX AssocResp from 90:ef:68:d3:b3:b5 (capab=0x431 status=0 aid=1) [ 378.928461] wlan0: associated [ 389.008120] wlan0: deauthenticating from 90:ef:68:d3:b3:b5 by local choice (reason=3) [ 389.182888] cfg80211: Calling CRDA to update world regulatory domain [ 390.689735] wlan0: authenticate with 90:ef:68:d3:b3:b5 (try 1) [ 390.691415] wlan0: authenticated [ 390.714734] wlan0: associate with 90:ef:68:d3:b3:b5 (try 1) [ 390.720847] wlan0: RX AssocResp from 90:ef:68:d3:b3:b5 (capab=0x431 status=0 aid=1) [ 390.720870] wlan0: associated [ 400.811246] wlan0: deauthenticating from 90:ef:68:d3:b3:b5 by local choice (reason=3) ...
我的 AP 的日誌
338 Nov 16 15:50:53 udhcpd[2404]: Received DISCOVER 339 Nov 16 15:50:53 udhcpd[2404]: unicasting packet to client yiaddr 340 Nov 16 15:50:56 udhcpd[2404]: Received DISCOVER 341 Nov 16 15:50:56 udhcpd[2404]: unicasting packet to client yiaddr 342 Nov 16 15:50:59 udhcpd[2404]: Received DISCOVER 343 Nov 16 15:50:59 udhcpd[2404]: unicasting packet to client yiaddr
工作時的日誌(僅一次)
325 Nov 16 15:48:37 udhcpd[2404]: Received DISCOVER 326 Nov 16 15:48:37 udhcpd[2404]: unicasting packet to client yiaddr 327 Nov 16 15:48:37 udhcpd[2404]: Received REQUEST 328 Nov 16 15:48:37 udhcpd[2404]: lease = 11854360 329 Nov 16 15:48:37 udhcpd[2404]: requested = b2a8eb7f 330 Nov 16 15:48:37 udhcpd[2404]: server_id = c0a80101 331 Nov 16 15:48:37 udhcpd[2404]: unicasting packet to client yiaddr
如何解決?
我在我的 AP 中將“自動頻道”選項更改為固定頻道,將“頻道寬度”選項更改為 20 MHz,它解決了我的問題。