Script para no perder el modo A.P – Zsun

Seguramente os ha pasado que al tener el Zsun en modo repetidor, se les venga abajo al perder la conexión del router principal y es imposible acceder solo al A.P ya que está "caído".   Pero ahora tenemos la solución con un script.

 

 

El script está dividido en dos partes principales:

1- Variables con sus respectivos valores

  • En las variables van escritos los datos para la configuración como cliente.
  • En la variable valor, no se modifica el número.

2- La configuración

Primeras impresiones:

El script lo primero que hará es hacer ping hacia $IPGW que vendría siendo la ip del router principal por ejemplo.

Si devuelve ping el script se parará. En caso contrario entrará en una condición que primero probará conectarse como cliente y si no conectase, borrará la conexión para levantar solo el modo A.P. y se parará el script.

Ejecutar script en el arranque del sistema:

Para ejecutar el script simplemente tendremos que darle permiso de ejecución a nuestro script

chmod +x script.sh

y poner la ruta completa donde está alojado nuestro script.sh

./root/script.sh

dentro del archivo /etc/rc.local .

Pero ahora tenemos un pequeño problema, ya que el script se parará una vez que se conecte o no como cliente y no volverá a comprobar el estado de la conexión si por ejemplo se nos va la conexión como cliente, nos quedaremos “colgados” sin A.P. hasta que volvamos a ejecutar nuevamente el script a mano…

Pero no te preocupes que aquí te mostraremos que todo tiene su solución.

Ejecutar script con Cron, cada minuto:

Si ya vistes en un post anterior hablamos de como Automatizar la ejecución de eventos cada “X” tiempo.

Pero hoy mostraré mi configuración y la explicaré.

*/1 * * * cd / ; sh /etc/script.sh

Con el primer */1 , le estamos diciendo que ejecute el script cada minuto.
Luego he tenido que ponerle cd / para que vaya a la raíz y una vez ahí ejecute el script por medio de sh. sh /etc/script.sh  . Ya que ejecutandolo simplemente con ./etc/script no funciona.

Una vez teniendo esto, si nuestra conexión cae. Volverá a ejecutar el script para hacer la comprobación. Y si no podemos conectarnos como cliente lo eliminará y levantará solamente el A.P.

Se puede hacer que se ejecute en segundo plano indefinidamente, quitando/comentando los exit; del script. Pero en mi caso no me beneficia. Aunque es mínimo el consumo de memoria. ( VSZ=2% y CPU=0% )

Descarga: script.sh

5 comentarios en “Script para no perder el modo A.P – Zsun

  1. Hola, el script no me funciona correctamente, cuando no detecta la conexión con mi router principal me borra mi ap privada y la de invitados aunque si me crea la configuración wwan quedándome sin acceso. Gracias por adelantado, saludos.

    1. Hola Atheros. No termino por entender concretamente que es lo que te sucede.
      Por lo poco que puedo interpretar, deberías fijarte en el script donde está marcado el “asterisco*”: wireless.@wifi-iface[ * ]

      Quizás, si estás utilizando más de dos puntos de accesos, uno privado y otro invitados a parte del cliente con el router principal.
      Tendrás que cambiar el número y configurar el script a tus necesidades, ya que en el script elimina “1” : – wireless.@wifi-iface[ 1 ] – y quizás necesitas que te elimine otro.

      Saludos

      1. Muchas gracias por contestar y por tu tiempo. No me he explicado bien y mi nivel sobre la materia más bien es bajo. Lo que me pasa es que cuando apago mi router principal (para probar el script) al que me conecto como cliente y reinicio mi zsun con openwrt el script no me levanta mi AP master privada ni la de invitados. Cuando vuelvo a conectar mi router principal y reinicio el zsun me doy cuenta que en el archivo wireless del zsun se me han borrado las dos AP en el apartado wifi-iface, en cambio si que está la configuración como cliente y conectado al router principal. No entiendo que me quieres decir con esto: “Tendrás que cambiar el número y configurar el script a tus necesidades, ya que en el script elimina “1” : – wireless.@wifi-iface[ 1 ] – y quizás necesitas que te elimine otro.” Muchas gracias por tu ayuda y por tus tutoriales me han servido mucho. Saludos.

  2. Hola, perdón por molestar, lo he intentado de todas las manera y todavía no me sale bien. Mi problema ya lo comenté hace tiempo en el post anterior a éste. Ruego me puedan echar una mano, se lo agradecería enormemente. Gracias y un saludo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

12 + = 17