PDA

Ver la versión completa : Problema con la conexión a un AP



Fruit
27-03-2010, 11:44
Hola. Yo conectaba a un AP bastante lejano físicamente, a un 26% o así de Link Quality. Supongo que por ese motivo, a cada minuto, recibía un:


No probe response from AP xx:xx:xx:xx:xx:xx after 500ms, disconnecting.

Si volvía a ejecutar el script que tengo para conectar, lo hacía correctamente y a la primera, pero me caía al minuto. Así que pensé en la siguiente solución, algo cafre:


while(true); /conectar.sh; do sleep 10; done

Esto iba muy bien, ni tan siquiera me tiraba las conexiones establecidas, ya que no usaba dhcpcd. Pero a los 15 minutos, perdí la conexión, y en el log leí:


wlan0: direct probe to AP xx:xx:xx:xx:xx:xx (try 1)
wlan0: direct probe responded
wlan0: authenticate with AP xx:xx:xx:xx:xx:xx (try 1)
wlan0: authenticate with AP xx:xx:xx:xx:xx:xx (try 2)
wlan0: authenticate with AP xx:xx:xx:xx:xx:xx (try 3)
wlan0: authentication with AP xx:xx:xx:xx:xx:xx timed out

Cada vez que intentaba conectar, lo mismo. Me quedé pasmado, y pensé "¿habrá cascado?".

Así que me fui a otro AP, y tenía el mismo problema. Baja calidad de conexión así que me caía cada dos por tres. Y puse el mismo while. Y a los 15 minutos, tampoco me autenticaba.

No es un filtro MAC, porque el script 'conectar.sh' la cambia antes de conectar. Y así llevan los APs dos días. Eran de distinta marca y modelo. Puedo conectar sin problemas a otros APs. ¿Me los he cargado?

j8k6f4v9j
27-03-2010, 14:50
Quizá tu tarjeta esté un poco más sorda. O quizá se les haya volcado la antena a esos APs. O les hayan puesto una maceta delante ...

Supongo que estás utilizando una tasa de transferencia de 1Mb/s. Mientras más lejos esté el AP más baja debe ser la tasa a utilizar. Yo probaría con una antena mejor, o a mover tu antena de sitio (si es que te queda alguno por probar :P ). Si con eso conectas, ya sabes que es que te falta un pelín de señal.


Salu2

Fruit
27-03-2010, 15:07
Bueno, ahora parece que puedo conectar a ambas redes pero sólo desde Windows. Hay que ver.

Tengo otra tarjeta, Atheros, pero ésa está más sorda que una tapia (usando la misma antena). Es bastante raro.

Fruit
28-03-2010, 12:37
Nada, que no puede ser. Conecta con Windows pero no con GNU/Linux. :confused:

j8k6f4v9j
28-03-2010, 13:53
Cuál dice el fabricante que es el nivel máximo de potencia de tu tarjeta? Con iwconfig puedes ver que efectivamente está a su nivel máximo?

¿Seguro que has bajado la tasa de transferencia a 1M?


Salu2

Fruit
28-03-2010, 14:03
Cuál dice el fabricante que es el nivel máximo de potencia de tu tarjeta? Con iwconfig puedes ver que efectivamente está a su nivel máximo?

Es una netway. Suerte que funciona... no pidas documentación. De hecho me parece que venía en una caja marrón, no traía ni pegatinas (era OEM, vaya).


¿Seguro que has bajado la tasa de transferencia a 1M?No la definí así que supongo que está en auto, y a 30 de Link Quality debería traducirse a 1M...

Fruit
28-03-2010, 16:37
Problema resuelto (aunque aún me quedan dudas). La diferencia entre Windows y GNU/Linux es que en este último usaba `macchanger -r wlan0` para cambiar la MAC por una aleatoria.

Si uso la MAC real conecta, si no, no. Y el AP no tiene filtro MAC. :confused:

j8k6f4v9j
28-03-2010, 17:12
Yo dejé de usar macchanger hace tiempo por problemas similares.

Ahora prefiero configurar con un poco de scripting el archivo /etc/network/interfaces:


iface wlan0 inet static
hwaddress ether 99:88:77:66:55:44
address blah
blah
blan

Salu2

Fruit
28-03-2010, 17:31
Bueno, entonces para cambiar la MAC por otra hay que hacer /etc/rc.d/network restart o algo así, ¿no?

Además, ¿qué sentido tiene que el AP se niegue a autenticarte con una MAC aleatoria? Ya no sólo porque el filtro MAC está desactivado, sino porque eso quiere decir que si llega un PC nuevo no lo va a aceptar, y llevo haciéndolo sin ningún problema desde hace meses.

j8k6f4v9j
28-03-2010, 17:42
Además, ¿qué sentido tiene que el AP se niegue a autenticarte con una MAC aleatoria? Ya no sólo porque el filtro MAC está desactivado, sino porque eso quiere decir que si llega un PC nuevo no lo va a aceptar, y llevo haciéndolo sin ningún problema desde hace meses.

Supongo que en alguna actualización habrá cambiado algo que impide que macchanger cambie la dirección MAC correctamente. Con otros puntos de acceso sí te conecta?

Has probado a ponerle direcciones "cercanas"? Que al menos compartan los tres primeros pares digo.


Bueno, entonces para cambiar la MAC por otra hay que hacer /etc/rc.d/network restart o algo así, ¿no?

restart está desaconsejado últimamente. Pero sigue siendo válido hacer
/etc/init.d/networking stop; /etc/init.d/networking start

Aún así, cuando tienes veintitantas interfaces con decenas de servicios no es demasiado práctico. en esos casos es preferible hacer
ifdown wlan0; ifup wlan0


Salu2

Fruit
28-03-2010, 19:07
Supongo que en alguna actualización habrá cambiado algo que impide que macchanger cambie la dirección MAC correctamente.No creo: según macchanger sí la ha cambiado. Según macchanger, claro.
Con otros puntos de acceso sí te conecta?Sí.
Has probado a ponerle direcciones "cercanas"? Que al menos compartan los tres primeros pares digo.No, cuando pueda probaré.

restart está desaconsejado últimamente.¿Por? Llevo usando eso para todos los servicios desde siempre. ¿Está mal?

Aquí dejo el script que usaba para conectar, comentado (una chapuza):


# Tira la interfaz para cambiar la mac, ya no hace falta, claro
#ifconfig wlan0 down
#macchanger -r wlan0
#ifconfig wlan0 up
# Quita el power management, necesario desde el kernel .32
# porque si no, se asocia y conecta pero no recibe nada
iwconfig wlan0 power off
iwconfig wlan0 rate 1M
iwconfig wlan0 essid BLABLA key s:BLABLA
ifconfig wlan0 192.168.1.40 netmask 255.255.255.0 broadcast 192.168.1.255
route add default gw 192.168.1.1 wlan0
echo "nameserver 8.8.8.8" > /etc/resolv.conf
#echo "nameserver 208.67.222.222" >> /etc/resolv.conf

j8k6f4v9j
28-03-2010, 19:59
¿Por? Llevo usando eso para todos los servicios desde siempre. ¿Está mal?

Yo también, sobre todo en administración remota, pero hay veces que no vuelve a levantar todas las interfaces o a relanzar dhclient.




Aquí dejo el script que usaba para conectar, comentado (una chapuza):


# Tira la interfaz para cambiar la mac, ya no hace falta, claro
#ifconfig wlan0 down
#macchanger -r wlan0
#ifconfig wlan0 up
# Quita el power management, necesario desde el kernel .32
# porque si no, se asocia y conecta pero no recibe nada
iwconfig wlan0 power off
iwconfig wlan0 rate 1M
iwconfig wlan0 essid BLABLA key s:BLABLA
ifconfig wlan0 192.168.1.40 netmask 255.255.255.0 broadcast 192.168.1.255
route add default gw 192.168.1.1 wlan0
echo "nameserver 8.8.8.8" > /etc/resolv.conf
#echo "nameserver 208.67.222.222" >> /etc/resolv.conf

No veo nada malo. Puedes aprovechar para ponerlo todo en /etc/network/interfaces. Aunque también puedes asignar la MAC con ifconfig


ifconfig wlan0 down; ifconfig wlan0 hw ether 99:88:77:66:55:44 up
blah
blah



Salu2

Fruit
28-03-2010, 20:29
ifconfig wlan0 down; ifconfig wlan0 hw ether 99:88:77:66:55:44 up
blah
blah
Probado. Con una MAC totalmente diferente (la que has puesto):
SIOCSIFHWADDR: Cannot assign requested addressCon una del mismo fabricante, vuelvo a lo mismo, conecta pero no se autentica.

j8k6f4v9j
28-03-2010, 23:25
Probado. Con una MAC totalmente diferente (la que has puesto):
SIOCSIFHWADDR: Cannot assign requested address


Con una del mismo fabricante, vuelvo a lo mismo, conecta pero no se autentica.

Quizá en interfaces, fijando la dirección del AP y, con suerte, fijando la potencia de transmisión, el nivel de sensibilidad, la fragmentación, etc.



cat << IFACES > /etc/network/interfaces
iface WLAN0 inet static
hwaddress ether 40618633d97c
address 192.168.1.252
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 208.67.220.220
wireless-essid eRpuntoDeAKseso
wireless-key la_clavebuena
wireless-power off
wireless-rate 1M
wireless-txpower XX
wireless-rts XX
wireless-frag XX
IFACES
ifdown wlan0
ifup wlan0



Salu2

Fruit
29-03-2010, 00:54
Vaya, no tengo /etc/network/, ¿está en un paquete adicional?

j8k6f4v9j
29-03-2010, 07:05
En debian está en varios paquetes, entre ellos ifupdown, pero creo que con el sistema base ya se incluye. Quizá tu distro coloque su configuración de red en otro sitio.

De todas formas, puedes ir probando estos parámetros (power, rts, frag ...) con iwconfig haciendo, si tu tarjeta de lo permite, iwconfig wlan0 commit tras cada configuración para forzarla a adoptar los cambios inmediatamente.


Salu2

Fruit
29-03-2010, 11:55
Disculpa si ésto se está volviendo algo pesado, pero no conozco cuales podrían ser los valores normales para rts y frag. Si no los configuro (auto) están en off.

j8k6f4v9j
29-03-2010, 16:10
Disculpa si ésto se está volviendo algo pesado

:p


no conozco cuales podrían ser los valores normales para rts y frag. Si no los configuro (auto) están en off.

Si el fabricante fuese enrrollado daría una parámetros aproximados y resultados de pruebas (que los tienen). No sé si es el caso, pero es poco probable.

Puede que el problema lo estés teniendo ahora mismo con sens. El valor de sens especifica en nivel de señal mínimo aceptable para permanecer conectado al punto de acceso. Es decir, que si el nivel de señal que recibes de un punto de acceso determinado es menor que sens, la tarjeta estimará que no es suficiente. Bajando este nivel (puedes hacer el cafre, siempre podrás restaurarlo más tarde), tratará de permanecer conectada al punto de acceso indicado durante más "tiempo".

Bajar el rts te puede ayudar cuando hay ruido interfiriendo en la conexión. Lo que hace es añadir un saludo por cada paquete transmitido. La carga obviamente es mayor. El valor que le pones es el tamaño mínimo de los paquetes con los que se enviará un RTS. O sea, si lo pones a 150, se enviará un RTS por cada paquete mayor que ese tamaño.

Y frag es el factor de fragmentación de los paquetes transmitidos. También es útil en escenarios en los que se pierden muchos paquetes, aunque suponga una carga adicional. Si enviamos trozos más pequeños, cuando perdamos algún paquete habremos perdido menos información. Se podría decir que es el siguiente paso que viene después de bajar la tasa de transferencia al mínimo soportado (1M en la mayoría de los casos).

Si tu tarjeta (o el controlador) permite que se le ajusten estos valores, probablemente puedas volver a navegar felizmente desde Linux.


Salu2

Fruit
29-03-2010, 16:16
No he comprendido completamente lo de rts (¿en qué ayuda el saludo en la transmisión?), lo demás sí, gracias.

Lo que no sé es si sens me ayudará, ya que el problema no es que la tarjeta estime que a ese nivel de recepción no van a llegar bien los paquetes, sino que directamente no llegan:
No probe response from AP xx:xx:xx:xx:xx:xx after 500ms, disconnecting.