jueves, abril 21, 2011

Desconexión de internet

Desde hace tiempo he sufrido por desconexiones repentinas cuando dejo mi computadora bajando archivos en las noches. He encontrado una forma de solucionar esto.

Es un "Programa" muy sencillo, que solo revisa si tengo conexión la red local, en caso de que no tenga conexión ejecuta los comandos necesarios para desconectar completamente la red inalámbrica y reconectarla de nuevo.

Desventaja:
Mientras esta en funcionamiento se despliega una ventana de comandos que va cambiando constantemente.

Prerrequisitos:
Windows Vista o Windows 7

Con versiones anteriores no funciona porque no tienen un temporizador a partir de Windows vista ya se encuentra disponible el comando TIMEOUT. Si se consigue un temporizador se puede cambiar fácilmente el comando.

Instrucciones:
  1. Crea un archivo de texto con notepad “Reconexion.bat”
  2. Copia el código que esta en esta página
  3. Pégalo en el archivo de texto
  4. Guarda el archivo
  5. En caso de que el archivo no tenga la extensión .bat cambiarla
  6. Ejecútalo, doble click.
  7. Para salir precionar Ctrl + C precionar "s" después enter

Configuración:
  • pingto: puerta de enlace predeterminada o getway usualmente 192.168.1.254. También puede ser cualquier dirección de internet que responda
  • pn: Número de peticiones antes de determinar si hay o no comunicación
  • word: Palabra a buscar, en español "Respuesta" en ingles "Reply"
  • profile: Nombre del perfil, lo puedes obtener ejecutando el comando “netsh wlan show profile”
  • ssid: Nombre de la red inalámbrica


Espero les sirva como me ha servido a mi.


-----------------------------------------------------------------------------------
echo off

set pingto=192.168.1.254
set pn=4
set word=Respuesta
set profile=XXXXXXXXXXX
set ssid=YYYYYYYYYYY

:ping
cls
echo Reconectar si la conexión se pierde
echo Editar el archivo para cambiar la configuración
echo *********************
echo ***** By Chucher *****
echo *********************


ping -n %pn% %pingto% | find "%word%" /C
if errorlevel 1 goto error
TIMEOUT /T 15 /NOBREAK
goto ping

goto end
:error
echo Restarting connection...
netsh wlan disconnect
TIMEOUT /T 1 /NOBREAK
netsh wlan connect name=%profile% ssid=%ssid%
echo Connection restarted
echo Connection restarted at %date% %time% >> reconnect.log


TIMEOUT /T 7 /NOBREAK
goto ping

:end
echo end
-----------------------------------------------------------------------------------

Licencia Creative Commons
reconexion.bat por chucher se encuentra bajo una Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.