Tôi đã xây dựng một Linux nhúng bằng Buildroot và tôi gặp một số rắc rối khi kết nối với AP. Không thể có được một địa chỉ IP nhiều lần.
Tôi sử dụng wpa_supplicant để kết nối với AP của mình bằng WPA2-PSK. Nó hoạt động với các AP khác như điện thoại thông minh của tôi ở chế độ AP.
Khi tôi sử dụng iwconfig wlan0
tôi thấy rằng tôi được liên kết với AP của tôi
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
Nhưng tôi không thể có được địa chỉ IP với ifup wlan0
udhcpc (v1.22.1) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
Tôi nên nói rằng tôi chỉ có thể nhận được địa chỉ IP một lần. Nếu tôi khởi động lại thì điều này là không thể nữa.
Tôi đã quản lý để cài đặt dhclient
thay vì sử dụng ứng dụng khách DHCP mặc định của Busybox nhưng không có gì xảy ra (tôi bị chặn vô thời hạn)
dhclient wlan0
Theo thông điệp kernel của tôi, có vẻ như tôi không liên kết
[ 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)
...
Nhật ký của AP của tôi
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
Nhật ký khi nó hoạt động (chỉ một lần)
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
Làm thế nào để giải quyết nó?