Как исправить «деаутентификацию по локальному выбору»?

10

Я построил встроенный Linux с помощью Buildroot, и у меня возникли некоторые проблемы с тем, чтобы оставаться на связи с моей точкой доступа. Невозможно получить IP-адрес более одного раза.

Я использую wpa_supplicant для подключения к своей точке доступа с использованием WPA2-PSK. Он работает с другими точками доступа, такими как мой смартфон, в режиме точки доступа.

Когда я использую, 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вместо использования DHCP-клиента по умолчанию Busybox, но ничего не происходит (я остаюсь заблокированным на неопределенный срок)

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

Как это решить?

didil
источник
Вы пытались убить wpa_supplicant вручную? Вы пробовали другое ядро? Я бы также определил страну в конфигурационном файле.
Руи Ф Рибейро
да, я пытался убить wpa_supplicant, но у меня нет другого менеджера Wi-Fi, поэтому он ничего не делает (кроме деассоциированных от точки доступа). У меня нет другого ядра для тестирования, и оно работает с другими AP.
Дидил
Другие устройства, такие как смартфоны, успешно подключаются к вашей точке доступа? Вы проверяли logs / dmesg на самой AP?
Да, и мой смартфон (Android), и мой ноутбук (Ubuntu 15.10) подключаются к моей точке доступа в любое время (даже после перезагрузки). журналы на моем AP остаются пустыми.
Дидил
Я добавил журналы моего AP в моем вопросе.
Дидил

Ответы:

6

Я изменил опцию «Автоматический канал» на фиксированный канал и опцию «Ширина канала» на 20 МГц в моей точке доступа, и это решило мою проблему.

didil
источник