¿Cómo arreglar la "desautenticación por elección local"?

10

Construí un Linux embebido usando Buildroot y tengo algunos problemas para mantenerme conectado a mi AP. No se puede obtener una dirección IP más de una vez.

Yo uso wpa_supplicant para conectarme a mi AP usando WPA2-PSK. Funciona con otros AP como mi teléfono inteligente en modo AP.

Cuando uso iwconfig wlan0veo que estoy asociado con mi 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

Pero no puedo obtener una dirección IP con ifup wlan0

udhcpc (v1.22.1) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing

Debo decir que puedo obtener una dirección IP solo una vez. Si reinicio esto ya no es posible.

Logré instalar en dhclientlugar de usar el cliente DHCP predeterminado de Busybox pero no sucede nada (permanezco bloqueado indefinidamente)

dhclient wlan0

Según mis mensajes del kernel, parece que no estoy continuamente asociado

[  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)
...

Los registros de mi 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

Los registros cuando funciona (solo una vez)

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

¿Cómo resolverlo?

didil
fuente
¿Has intentado matar al wpa_supplicant a mano? ¿Has probado un kernel diferente? También definiría el país en el archivo de configuración.
Rui F Ribeiro
Sí, he intentado matar a wpa_supplicant pero no tengo otro administrador de wifi, por lo que no hace nada (excepto desasociado del AP). No tengo un kernel diferente para probar y funciona con otros AP.
didil
¿Otros dispositivos como los teléfonos inteligentes se conectan con éxito a su AP? ¿Revisaste logs / dmesg en el AP?
Sí, tanto mi teléfono inteligente (Android) como mi computadora portátil (Ubuntu 15.10) se conectan a mi AP en cualquier momento (incluso después de reiniciar). los registros en mi AP permanecen vacíos.
didil
Agregué los registros de mi AP en mi pregunta.
didil

Respuestas:

6

Cambié la opción "Canal automático" a un canal fijo y la opción "Ancho de canal" a 20 MHz en mi AP y resolvió mi problema.

didil
fuente