Archivo del Autor: sbgermanm

Configurar el TL-WA901ND en modo repetidor WIFI

Edito 2014-03-10: Este vídeo es muy ilustrativo: http://www.youtube.com/watch?v=svPB8aBXI4w

Antes de explicar como configurar el punto de acceso TL-WA901ND, vamos a ver que uso le queremos dar.

En mi casa recibo una señal wifi gratuita, del ayuntamiento, pero solo llega a una habitación. En el resto de la casa no hay forma y en los móviles, ni siquiera hay suficiente señal en esa habitación.

Así que, necesitaba un repetidor, algo que recibiese la señal y la emitiese de nuevo con mas potencia:

Esta funcionalidad es una de la que nos aporta el TP-LINK TL-WA901ND:

Es un cacharro versátil (Punto de acceso, Cliente, Universal / Repetidor WDS, Puente Inalámbrico), con una velocidad de transmisión inalámbrica de 300 Mbps, muy fácil de configurar y que incorpora PoE.

Es importante entender que lo que va a hacer este cacharro es repetir la señal de forma idéntica a la que recibe: tendrá el mismo SSID y deberemos configurar la seguridad de forma idéntica. La forma en que veremos que está funcionando será por el nivel de potencia de la señal. Si queremos ver realmente que estamos recibiendo dos señales con el mismo SSID, podemos usar la herramienta inSSIDer, que nos mostrara cada señal y la mac y marca del cacharro que la envía.

Las instrucciones son muy simples de seguir (ver el manual):

  1. Primero tendremos que ponernos con un equipo/portátil en la zona donde se recibe la señal. Podemos usar la herramienta inSSIDer para comprobar la señal que recibimos así como la marca del moden que la envía.
  2. Conectamos por cable con el TPLink.
  3. Ponemos en nuestro adaptador de red, la IP 192.168.1.100 y 255.255.255.0 como mascara.
  4. Con esto ya podemos entrar a configurarlo, poniendo en un navegador la dirección 192.168.1.254 con admin/admin
  5. En la configuración, seleccionamos el modo repetidor universal.
  6. Cambiamos el país.
  7. Le damos a «survey».
  8. Elegimos la señal a repetir.
  9. Le damos a guardar.
  10. Vamos a seguridad y ponemos la configuración necesaria para poder recibir la señal. La señal repetida usará esa misma clave para dar acceso, digamos que hace un puente, simplemente. Si la que recibimos es WPA, tendremos que configurarla en modo WPA y con la misma clave.
  11. Y ya está. Ya podemos soltar el cable de red, volver a poner la ip que tuviesemos en nuestro adaptador e irnos a la habitación a la que no llegaba la wifi para disfrutar de toda la potencia de este cacharro.

Aunque tambien te puede ocurrir que lo hayas comprado en marzo de 2012 mas o menos y no te funcione. Puede que no veas mas nivel de señal que antes, puede que con el inSSIDer no veas una wifi emitida por un TP-LINK….

Es lo que me pasó a mi. Después de hacer lo típico: reset y repetir, salir y volver a entrar, ir a tomar unas cañas a ver si a la vuelta se había arreglado solo, etc., me puse a buscar por internet.

Las respuestas mas lógicas hablaban de cambiar la configuración de la IP del cacharro, concretamente cambiando el Gateway por la ip del router que emite la señal que queremos repetir.

Esta IP suele ser la 192.168.1.1, pero se puede ver con el IP config, será de la puerta de enlace de la wifi que me esta dando IP.

Pero, esto no sirvió de nada.

Siguiente paso, el soporte y las FAQ de TP-LINK. El soporte fué rapidisimo, era un domingo y el lunes a primera hora ya me habia contestado, aunque lo habia arreglado el domingo.

Después de no encontrar nada en las FAQ, dí por hecho que algo estaba mal en el router… y me fui a mirar los firmware publicados para mi cacharro, y el último, que no era el que traía mi cacharro, pone esto:

Modifications and Bug Fixes
  1. Fixed the bug that it can’t forward multicast packets when it works in AP Client/Universal Repeater mode;
  2. Fixed the bug that only when 4 SSID are used can VLAN function take effort;
  3. Added more IGMP group to support more applications.

Seguí el procedimiento de actualización:

  1. Bajar el ficherito y descomprimirlo
  2. Volver a conectar por cable con el TPLink y volver a poner la IP en mi adaptador
  3. Entrar como admin/admin
  4. Ir a actualizar el firmware
  5. Indicarle donde esta el fichero y darle a actualizar asegurándonos que no se vaya luz durante el proceso.
  6. Por ultimo, lo resetee y repetir los pasos del 1 al 11 del principio y…
  7. Perfecto. Una señal bestial en toda la casa.

Pues ese fue todo el proceso. Con esto, ahora mismo tengo señal en todos los móviles y en el portátil, en cualquier parte de la casa.

Ah, el cacharrito cuesta unos 48€.

Concurrencia en Java

Voy a iniciar mis andanzas en este blog con un tema complicado, la concurrencia.

La concurrencia en Java o en cualquier otro lenguaje es siempre un problema. Y lo es porque empiezas a jugar con unas reglas y según avanza la partida las reglas cambian, o eso es lo que parece. Porque el principal problema que enfrentamos cuando estamos codificando un proceso de forma que se ejecute con varios hilos simultáneos es el más temido entre los programadores: no poder reproducir la situación.

Realmente, ese es el resultado final, traído simplemente para escenificar el problema inicial, que no siempre se tiene en cuenta, las condiciones de ejecución de tu programa van a cambiar la forma de responder de tu código. Es culpa de lo que se conoce como condición de carrera: el resultado depende del orden en que se ejecuten los procesos concurrentes.

A lo largo de nuestra carrera profesional, muchos hemos pasado por el fantástico momento del mantenimiento correctivo de la aplicación. Es el momento en el que haces penitencia por los pecados cometidos durante el desarrollo. El momento en que te acuerda de aquello de «listo, esto funciona, subiendoooooo (a svn)». Que gracioso parecía hace unos meses, antes de que se produjese este error imposible, «lexe que 1+1 son 2 de toda la vida y ahora resulta que mi programa dice que son 2433453222».

En mantenimiento correctivo, el primer paso es «reproduce la incidencia». Pues te pones y resulta que no hay forma. Aquí viene en ayuda tuya lo que piensas del usuario. Y rechazas la incidencia. Pero la incidencia vuelve y esta vez con el fichero de trazas «JGL: después de calcular: a = 1, b=1, a+b = 3556122654». Mientras te estás frotando los ojos, pasa el listo de turno y te dice «eso va a ser el multithreading«…

Luego viene aquello de esto lo hemos probado mil veces…en una maquina aunque solo tiene un solo core y con un conjunto (reducido) de datos generados por nosotros.

Hipódromo Nacional de Maroñas | photo by jikatu

Y es que esa es una característica de la concurrencia, el resultado depende del orden de ejecución de los hilos y este orden varía según el hardware y las entradas que tengamos. Tenemos un sistema que funciona perfectamente en una maquina con un dual core y que recibe 20 entradas por minuto, se traslada a una maquina con 4 cpu y 8 cores cada una porque el trafico va a multiplicarse por 50. Y ahora el sistema es diferente, el orden de ejecución de los hilos ha cambiado radicalmente. Por esto, por las condiciones de carrera, es necesario sincronizar nuestros hilos para que no se pisen unos a otros.

Para poder hacerlo necesitamos conocer las reglas y necesitamos mecanismos que garanticen que un hilo no rompe lo que hace otro y además que el cambio de hilo sea visible al resto. a=a+b no se realiza en un solo paso. En el punto en que nos afecta, primero se hace a+b y después se hace a = esa suma. Para garantizar que se hace en un solo paso, tenemos los mecanismos que vamos a ver en los próximos artículos.

Van a ser una serie de artículos en los que iremos viendo diferentes mecanismos que nos van a permitir controlar procesos que se ejecuten mediante hilos.

Esta serie va a estar dividida en 4 bloques:

  • Lo básico
  • Las circunstancias particulares
  • Controlando la madeja
  • Deshaciendo los nudos

Además, iré al lio, prometo no enrollarme. Nos vemos. Aquí.