Soluciones Fallos Mitrastar (Batería, WIFI, DHCP...)

Theliel
Yo probé el VDSL
Soluciones Fallos Mitrastar (Batería, WIFI, DHCP...)

Sumario (Fix existentes actualmente)

 

  • -Problema de Batería de la B21, el problema de los ARP (Solucionado a partir de la b23)
  • -Problema de Batería y degradación WIFI por tráfico excesivo IGMP (Sólo usuarios con TV contratada)
  • -Activación del modo de bajo consumo para dispositivos portátiles
  • -Uso de banda de frecuencia de 40MHz en WIFI (Duplica la velocidad de enlace, hasta 300mbs)
  • -Bloqueo del tráfico DHCP de clientes/servidor hacia fuera del Router
  • -Cuelgues periódicos donde es necesario reiniciar el Router (Solucionado a partir de la b23)
  • -Como añadir equipos a la tabla ARP de forma estática para poder hacer WOL/WOW

 

 

Pese a las muchas quejas que tienen los usuarios ante este Router, he de decir que no es tan malo como aparenta, el principal problmea que tiene son los numeros bugs que tiene su software, y en segundo lugar su adaptador WIFI que podría ser mejor. Sobre lo segundo no podemos hacer mucho, sobre lo primero podemos ir aplicando pequeños "parches" (que iré añadiendo/poninedo en este post) para ir solucionando los problemas que van apareciendo, hasta que Mitrastar/Movistar lancen firmware que de una vez por todas vayan puliendo los fallos.

 

Antes que nada, recordar que todo lo que pasa en el mundo no es culpa del Mitrastar. Quiero decir con esto que porque alguien tenga un problema X no implica que el router tenga un problema. Así que intentemos separar por un lado lo que son fallos del router, por otro lado lo que nos gustaría que hiciese el router (que también pueden añadirse esas cosillas a la lista de abajo) y por último problemas del usuario o de otros dispositivos, que nada tiene que ver con el Router. Un problema se debe de poder replicar y verificar!! Si esto no sucede por lo general no es un problema del router, y es otra la causa. Decir "Problemas de Cuelges" es demasiado genérico, hay que ver cuando se cuelga, por qué... y si podemos replicarlo seguramente entonces podremos corregirlo.

 

Hace ya unas semanas que algunos de nosotros sabemos aplicar diferentes correcciones y modificaciones, pero hay que tener ciertos conocimientos, y además esas modificaciones no sobreviven a un reinicio. Ahora de forma "sencilla" podemos hacer las mismas modificaciones y que sobrevivan a los reinicios. El procedimiento es exactamente el mismo para cada "parche" que se quiera ir aplicando, simplemente se añade el "nuevo" a la "lista".

 

ATENCION: Está probado sobre la Firmware Pseudo-oficial B21, no he realizado ninguna prueba sobre la B14, ni en si el proceso se puede realizar ni tampoco si los fixes son funcionales. Por otro lado mucho cuidadito con añadir una coma o un caracter de más/menos, no me hago responsable de lo que cada uno haga. En el peor de los casos se debería de poder realizar un Reset y listo (En teoría), pero cada cual que asuma lo suyo. El proceso es sencillo

 

1º. Acceso a la interfaz Web del Mitrastar (http://192.168.1.1/cgi-bin/main.html por defecto), usuario/contraseña: supervisor/zyad1234

 

2º. Realizamos un backup de nuestros ajustes: Maintenance -> Backup/Restore -> Backup

 

3º. Editamos el cfg de configuración con un editor de texto (a poder ser notepad++ o cualquier otro que respete los saltos de linea unix/linux

 

4º. Buscamos la cadena: "</Autoexec>"

 

5º. Añadimos/modificamos dicha línea parar crear nuestro bloque, que tendrá este formato:

 

<Autoexec> 	<Entry
/> </Autoexec>

6º- Entre esas dos líneas se irán incluyendo los "fixes" que queramos, una línea nueva por cada uno. Los "fixes" no serán más que la ejecución de ciertos comandos/herramientas que permitan solucionarlos (vemos dos ejemplos luego)

 

7º. Cuando se haya modificado a voluntad, guardamos, volvemos a la interfaz web, restauramos nuestro nuevo cfg y listo, los cambios se estarán aplicando desde el primer momento.

-----------------------------------------------

 

Batería (Problerma con los ARP):

 

Para empezar, vamos a añadir la solución definitiva para el consumo de batería que sufre la B21. La B14 tiene sus problemas, pero con la B21 se solucionan en gran medida. Repito de nuevo, esto es para la B21, y el fallo que tiene el router de bombardear con paquetes ARP a todos los clientes conectados. Esto hace que los dispositivos portátiles no entren en sueño profundo y la batería sufre enormemente. Hay quienes lo acusan más y otros menos, pero el problema es real (hablamos de un consumo de más de un 20-30% fácilmente)

 

El problema viene a que algún módulo de red o el kernel del router no respeta el parámetro mcast_solicit, establecido a 3 por defecto, así que se fuerza mcast_solicit a cero. Traducido esto en una instrucción que puede ejecutarse en la Shell:

 

sysctl -w net.ipv4.neigh.br0.mcast_solicit=0

Si queremos transportar ese "fix" a nuestro cfg, nuestro bloque quedaría de la siguiente forma:

 

<Autoexec> 	<Entry
arp_fix="sysctl -w net.ipv4.neigh.br0.mcast_solicit=0" />
</Autoexec>

-------------------------------------------------

 

Bateria (Reducir el tiempo de Query en IGMP Proxy):

 

Pese a que en un principio achaqué el problema de la batería exclusivamente al problema de los ARP anteriormente mencionado, lo cierto es que los resultados de la comunidad han sido variados, mientras unos reafirmaban que todo estaba perfecto, otros que aunque había mejorado mucho aun estaba lejos del consumo que tenían antes. Al final resultó existir un segundo problema importante en el consumo de batería, pero este SOLO AFECTA a quellos que tienen contratada igualmente la Televisión con Movistar. Es decir, que aquellos que no tienen dicho servicio contratado no les afecta en nada, y explica efectivamente el motivo por el cual a algunos usuarios el problema de los ARP no solucionaba completamente el problema.

 

En este ocasión el responsable es un seteo "incorrecto" (aunque sería mejor decir inadecuado) en el archivo de configuración que carga Movistar, con lo que en teoría podría ser solucionado POR ELLOS, sin que Mitrastar tenga mucho que aportar aquí.

 

Para que la TV funcione correctamente, el Mitrastar requiere tener habilitada una función llamada IGMP Proxy (no confundir con IGMP Snooping). En función de los servicios contratados, Movistar realiza la telecarga con la configuración específica de cada usuario, y habilita IGMP Proxy si tenemos habilitada la televisión. Las opciones de IGMP Proxy no pueden configurarse a través de la interfaz Web, ni siquiera habilitarlo o deshabilitarlo, los ajustes quedan especificados en el archivo de configuración que manda Movistar por remoto... y por supuesto dichos ajustes se reflejan en la copia de los ajustes que siempre podemos realizar.

 

Cuando IGMP Proxy está en funcionamiento, el Router emite a la red por Broadcast (en realidad lo hace por Multicast, pero a todos) un Query (pregunta) para conocer los grupos Multicast a los que pertenece cada uno de los equipos de la red, y estos a su vez como es natural responden a dicha petición... y lo hacen también por Multicast (llega a todos). Este funcionamiento es normal, el problema es que estos Querys se realizan de forma demasiado frecuentes, y esto es lo que no es normal. Por defecto el Mitrastar, el archivo de configuración que carga Movistar, está configurado para que el Router lance estos Query cada 10 Segundos!! Esto es una barbaridad, porque si a eso le sumamos las respuestas de TODOS los dispositivos de la red, se está generando en la red un flujo constante de tráfico IGMP, que es Multicast y llega a todos!! Con lo que de nuevo tenemos el mismo problema que con los ARP... los dispositivos portátiles no pueden entrar en sueño profundo.

 

Para hacernos una idea, el tiempo que define el estándar IGMP como "normal" se establece por defecto en los 125segundos. Esto significaría que el Mitrastar estaría usando un tiempo 12 veces menor. Ya no se trata sólo de ahorrar ancho de banda en la red, que a fin de cuentas los recursos WIFI son limitados y estos paquetes tienen que llegar igualmente a dispositivos portátiles, sino que impide que nadie "duerma".

 

Por suerte la solución en este caso es sencilla, tan sólo debemos de modificar el tiempo prefijado de 10 segundos a otro que nos guste más, por ejemplo 125, que como me han asegurado los compañeros es más que suficiente. Tan sólo debemos editar nuestro archivo de configuración. Como siempre, realizar una copia de seguridad de este y al editarlo tener cuidado de no tocar nada más que lo necesario. En este ocasión buscaremos por:

 

<IGMPproxy

Encontraremos rápidamente un bloque como el siguiente:

 

 

<IGMPproxy> 	<Entry Enabled="Yes" Robustness="2" QueryInterval="10"
QueryResInterval="9" LastMemQueryInterval="10" StartQueryInterval="10"
StartQueryCount="2" MaxGroups="16" UnsolicitedReportInterval="1"
SSMEnable="true" ProxyVersion="IGMPv2" />
</IGMPproxy>

El valor mágico a modificar es eefctivamente: QueryInterval="10"

 

Cambiando el valor por 125 tendríamos suficiente, en mi caso, el bloque quedaría de la siguiente forma (el bloque puede ser diferente dependiendo del usuario y su configuración, lo importante es modificar el QueryInterval):

 

<IGMPproxy> 	<Entry Enabled="Yes" Robustness="2" QueryInterval="125"
QueryResInterval="9" LastMemQueryInterval="10" StartQueryInterval="10"
StartQueryCount="2" MaxGroups="16" UnsolicitedReportInterval="1"
SSMEnable="true" ProxyVersion="IGMPv2" />
</IGMPproxy>

Como siempre, guardar, volver a cargar la nueva configuración y listo. Cuando reinicie todo funcionará exactamente igual, con la salvedad de que ahora el Router no preguntará cada 10 segundos, sino lo hará cada 125 segundos, una gran diferencia que ahorrará a dispositivos tipo teléfonos/tablets bastantes puntos porcentuales de batería durante los tiempos de reposo.

------------------------------------------------ 

 

Batería (Activar el modo PowerSafe para dispositivos portátiles):

 

Las extensiones WMM de WIFI, entre otras muchas, poseen una especificación llamada APSD. APSD permite que el punto de acceso (en este caso el router) mantener al dispositivo asociado que lo solicite/permita en un estado de menor consumo.

 

Como vimos en el fix anterior, los dispositivos logran ahorrar muchísima batería cuando entran en estados llamados de sueño profundo. En el caso anterior cuando reciben paquetes de datos constantes por WIFI impide que estos entren en sueño profundo, haciendo que la batería se agote a un ritmo enorme. APSD viene a intentar lograr que el tráfico que llega a los dispositivos cuando están en reposo, sea más... "ordenado" y "pausado", para despertar lo menos posible al dispositivo. Para esto lo que hace el router es que una vez un dispositivo le informa que está en reposo, en vez de enviarle al instante todo el tráfico que vaya dirigido a él, lo almacena en un buffer que no manda hasta que este está lleno.

 

Visto desde un punto de vista práctico... si nos mandan un WhatsApp en vez de mandarnos al instante dicho WhatsApp, si el buffer tiene el tamaño de 3 WhatsApp por ejemplo, nos mandaría los 3 de golpe, en vez de uno en uno. Con esto se logra que el móvil esté mucho más tiempo en reposo con lo que aumenta aun más el ahorro de energía. La contraindicación básicamente es que hay una mayor latencia en la recepción de los datos, a lo mejor pasa de ser inmediato a ser 2-3 segundos... o lo que sea. Normalmente esto no es un problema porque precisamente si la pantalla está apagada es que no estamos generando de forma activa tráfico.

 

Esta opicón dependiendo del Router viene habilitada o no por defecto, aunque la mayoría la soportan, y prácticamente el 100% de todos los dispositivos móviles. Debería de ahorrar un buen % de batería sobre todo por la noche. Este router no tiene en la interfaz Web una opción para habilitar o deshabilitarla, pero existe como opción interna en el archivo de configuración, con lo que NO HAY QUE AÑADIRLO EN NUESTRO BLOQUE DE FIX.

 

En este caso en concreto, editamos el archivo de configuración y buscamos por: "<Entry0 SSID"

(sin las comillas). Si miramos bien estaremos en las opciones de configuración de nuestro WIFI, concretamente en la sección WLan -> Entry0. Lo que tenemos que hacer es añadir un parámetro nuevo:

 

APSDCapable="1"

 

Si originalmente tenemos esto:

 

<Entry0 SSID="NUESTROSSID" HideSSID="0"

Lo modificaremos con la entrada anterior:

 

<Entry0 SSID="NUESTROSSID" HideSSID="0" APSDCapable="1"

 

También deberemos por asegurarnos, establecer el parámetro WMM que está en el mismo bloque de cero (en caso de estar a cero) a 1.  (sustituir el 0 -> 1)

 

De este modo los dispositivos móviles deberían de lograr ahorrar aun más batería cuando están por WIFI. Originariamente puse buscar otra cadena, pero por lo que he visto diferentes cargas telemáticas de la B21 tienen diferencias entre unos y otros, y en algunos no se encontraba la cadena que se buscaba antes. En teoría se debería de poder añadir el nuevo parámetro en cualquier lugar del bloque citado, dentro de Entry0

------------------------------------------------ 

 

Uso de la Banda de frecuencia de 40Mhz de WIFI (Duplica la velocidad):

 

En las especificaciones 802.11n, se permite la anchura de 40MHz para mejorar la transmisión de datos, logrando literalmente a doblar la velocidad que se obtiene usando la anchura estándar de los 20MHz. A dái de hoy prácticamente cualquier router o dispositivo permite trabajar en esta frecuencia, logrando como es natural una velocidad mucho mayor. Pasamos de tener básicamente enlaces de 144mbs a tener 300mbs, que es una gran diferencia.

 

Nuestro querido Mitrastar permite el uso de los 40Mhz estableciendo una opción en la interfaz web llamada "Channel Width", que permite establecerlo en 20Mhz (fijo) o en Auto (20/40). El problema está en que un fallo del Driver provoca que si se establece en Auto (y por tanto poder tener enlaces de 300mbs) funcionará TAN SOLO hasta que se reinicie. Una vez que se reinicie por le motivo que sea el router, este dejará de usar la banda de 40MHz, siendo necesario para volver activarla poner de nuevo dicha opción en 20Mhz, reiniciar, y ponerla otra vez en Auto... y volverá a funcionar otra vez sólo el tiempo que dure sin reiniciar.

 

Aquí lo que se ha hecho es usando nuestro bloque de "fixes" forzar que cada vez que se reinicie el router este funcione en la banda de 20/40. Pero hay que tener en cuenta dos cosas:

 

a) El fix SOLO FUNCIONA si en la interfaz web se configura como 20MHz, si se configura como Auto, el fix NO FUNCIONARÁ. Así que antes/después de poner el fix, asegurarse que Channel Width está en 20MHz. Esto se debe a que si el router se reinicia estando configurado como 20/40 la interfaz WIFI se configura mal haciendo imposible su uso.

 

b) Es necesario especificar el canal que tengamos cada uno. Si usamos el 5, poner el 5 en el fix. Yo tengo puesto 13, así que por eso pone 13, pero que cada uno use el suyo. El procedimiento es el mismo, nuestro fix sería en este caso:

 

wifi_fix="/userfs/bin/iwpriv ra0 set HtBw=1; /userfs/bin/iwpriv ra0 set Channel=13"

 

 

Si lo quisiésemos añadir al primero de la batería, el bloque quedaría:

 

<Autoexec> 	<Entry
arp_fix="sysctl -w net.ipv4.neigh.br0.mcast_solicit=0"
wifi_fix="/userfs/bin/iwpriv ra0 set HtBw=1; /userfs/bin/iwpriv ra0 set Channel=13" />
</Autoexec>

------------------------------------------------

 

Bloqueo del tráfico DHCP del router

 

Otro problema que ha surgido a algún compañero ya, @ManuelTT@taker59 entre otros, es que el router bloquea por sistema todo el tráfico DHCP que circula por él que no genere él. Esto normalmente no importa, pero si queremos que sea otro dispositivo de nuestra red quien haga de servidor DHCP, nos encontraremos que ningún dispositivo conectado al Mitrastar puede obtener el lease.

 

El problema en esta ocasión es algo más complejo, pero es real. El router cuando levanta la interfaz WAN crea un filtrado que impide este tipo de tráfico. Solucionar este bloque es muy sencillo, simplemente se elimina la regla que lo bloquea y solucionado. El problema en este caso es que dicho bloqueo se realiza no al iniciar el router que es cuando se ejecutan nuestros "fixes", sino que se realiza de forma dinámica una vez se establece la conexión WAN. Sin modificar la firmware y sin las herramientas para poder ejecutar instrucciones que se disparen ante ciertos sucesos (es posible que sí se pueda, pero no tengo ganas de trabajar más en ello), la mejor opción que se me ocurre es crear en este caso un cronjob, una tarea que se repite cíclicamente cada X, siendo X el tiempo que queramos, de este modo se puede hacer que se ejecute una instrucción que sea eliminar las reglas que causan el problema cada X, con lo que se pude solventar el problema de que la regla se aplica después de levantar WAN. Lo ideal es que la tarea sólo se ejecutase una vez, pero como esto es imposible, hay que hacer que sea indefinido.

 

Si establecemos un tiempo pequeño, la ventaja es que el tráfico DHCP empezará a circular tan pronto como se ejecute la 1º vez la regla (si ya se ha levantado la instrucción), pero en contra se ejecutará más veces la instrucción (aunque esto no es un problema). Si se usa un tiempo más grande se ejecutará menos veces, pero el tráfico no circulará hasta que se ejecuta por primera vez. Así que por comodidad yo he preferido usar un minuto. Debería de ser tiempo suficiente para que al ejecutarse la regla ya exista y se elimine. No es lo más ortodoxo, pero funciona bien. Eso quiere decir que un minuto después de que se ejecute el cron, la regla que bloquea DHCP sería eliminada, y todo funcionaría bien

 

El bloqueo es una regla ebtable, y se eliminaría así por Shell:

 

ebtables -D FORWARD -p ipv4 --ip-proto 17 --ip-source-port 67:68 -j DROP

 

La creación de cron en este router es un poco... cogida con pinzas. Tenemos que programar el cron igualmente por nuestro archivo de configuración. El archivo de crontab es la sintaxis estándar, la línea para programarlo sería algo así:

 

 

* * * * * ebtables -D FORWARD -p ipv4 --ip-proto 17 --ip-source-port 67:68 -j DROP

 

Eso programaría una tarea cron para que se ejecutase cada minuto. El problema es que el router ya usa para otra cuestión un cron, que cuando se ejecuta si detecta algún otro lo cierra, así que tenemos más bien que añadir este otro a parte, pero el cron que ejecuta el router para otras tareas tb ejecutará este. Por una limitación de la firmware, es necesario escribir el fix en dos líneas, si se pusiese en una sola el router cascaría, así que... MUCHO OJO. El fix completo quedaría así:

 

 

dhcp_fix="mkdir /etc/crontabs"
dhcp_fix2="echo '* * * * * ebtables -D FORWARD -p ipv4 --ip-proto 17 --ip-source-port 67:68 -j DROP' &gt; /etc/crontabs/admin"

 

 

 

De nuevo traducido esto en nuestro archivo cfg (y por ejemplo con el fix de la batería (ARP) incluido también), quedaría de la siguiente forma:

 

<Autoexec> 	<Entry
arp_fix="sysctl -w net.ipv4.neigh.br0.mcast_solicit=0"
dhcp_fix="mkdir /etc/crontabs"
dhcp_fix2="echo '* * * * * ebtables -D FORWARD -p ipv4 --ip-proto 17 --ip-source-port 67:68 -j DROP' &gt; /etc/crontabs/admin" />
</Autoexec>

 

Hay que tener en cuenta que aunque la B23+ continúa usando dicha regla, debido a cambios internos no se pude usar el usuario admin (no existe), con lo que sería necesario añadir el crontab directamente al que el sistema crea para sus propias necesidades. Se puede hacer, básicamente en vez de crear el archivo "admin" se adjuntaría como línea nueva al archivo "1234" de la misma ubicación, pero no he probado aun los tiempos. Si primero se ejecuta nuestro fix, el archivo es muy posible que no exista aun, así que tendría que comprobar si cuando el sistema crea el suyo lo adjunta al que nosotros crearíamos o lo sustituiría... se tendría que ver.

-------------------------------------------------

 

Bloqueos del Router

 

Algunos usuarios han experimentado que llega un momento en el que el router "muere". la conectividad es correcta, todo parece funcionar en teoría, pero... no hay internet, nada funciona. El problema se soluciona como es natural reiniciando el router. Esto se ha observado al menos en la versión B21, no se sabe bien si estaba presente antes, o si está presente en versiones posteriores

 

El problema no afecta a todos, de echo aunque sabemos por qué ocurre, no sabemos que lo dispara, o que provoca esta situación. Por lo general, quienes lo sufren, suelen padecerlo cada 3-5 días de uso, tras los cuales se ven obligados a reiniciar el Router. Otros como digo no les afecta en absoluto, con lo que estos fix no serían para ellos

 

El problema aparece porque el Router agota la RAM. Este ejecuta varias instancias de un proceso crítico llamado cfg_manager, que gestiona muchas partes del Router y servicios. Por alguna razón que desconocemos, el consumo de RAM de este proceso y sus instancias empieza a aumentar sin parar la RAM necesaria. El aumento no es sustancial, pero es más o menos contínuo... el Router cuenta con 128MB de RAM y después de arrancado tiene libre unos 80-90MB, lo cual no está nada mal. Agotar toda esta memoria al proceso con el problema (además del consumo que hacen otros procesos, servicios, archivos... ) lleva su tiempo, no es algo que suceda (al menos no lo hemos visto) en minutos, pero a lo largo de 3-5 días, sí. Cuando el Router se queda sin RAM... se congela.

 

No podemos deshabilitar/suprimir el proceso porque es crítico, si lo hacemos se perdería seguro el acceso a la interfaz web y posiblemente otros servicios. Si matásemos el proceso y todas las instancias, la RAM se recupera, pero... no es una opción. Otra opción sería reiniciarlo. Esta opción aun creo que sería posible... el problema no radica tanto en finalizar el proceso y arrancarlo de nuevo, esto es fácil, el problema es que cuando se inicia de nuevo, el propio proceso reinicia muchos servicios, entre ello la ejecución misma de los comandos que introducimos, con lo que en cuanto se ejecutase (hay que ejecutarlo dos veces), no se ejecutaría la segunda vez, y el cron encargado para reiniciar el proceso cada X no funcionaría...

 

Debido a esto, por ahora, la única "solución" que si es sencilla, sería cortar por lo sano. Sino podemos reiniciar el proceso problemático, podemos reiniciar completamente el Router. Es un mal menor, ya que podemos hacerlo al menos de modo programado, por ejemplo una vez al día por la noche, o una vez cada 3 días a las 5 de la mañana.... tiene la desventaja no obstante que mientras se reinicia, cualquier conexión que tuviésemos en ese momento se iría al trasto, pero aun así creo que es mucho mejor poder controlar esos reinicios, a no que se bloquee cuando dios le dio a entender.

 

El proceso sería igual (muy similar) al visto en el bloque anterior. Se trata de programar una tarea cron que se ejecute a una determinada fecha/hora, y esa tarea en este caso será: Reiniciar Router. Aquí, cada cual debe de ver cual es la mejor hora/fecha para el reinicio, así que la siguiente línea quedará pendiente para cada cual la modifique según crea. El cron para esto sería el siguiente:

 

 

0 3 */2 * * /sbin/reboot

 

Es necesario entender mínimamente como funciona, puesto que cada cual deberá de modificar los números que aparecen en función de sus necesidades. Nosotros nos interesa tan solo día hora y minuto, así que nos centramos en las tres primeros columnas, en el caso que yo he puesto: 0 3 */2

 

-La primera columna especifica el minuto, se pude poner cualquier valor entre 0 y 59. El * sería cada minuto, cosa que no queremos

-La segunda columna especifica la hora, con lo que pude usarse cualquier valor entre 0 y 23.

-La tercera el día, y este tiene truco. Podemos especificar un valor entre 1-31, pero eso no nos serviría porque el router se reiniciaría sólo un día concreto al mes. En cambio si usamos la sintaxis que aparece "*/2", implica que estamos seleccionado los días pares del mes. si usásemos "*/3" estaríamos indicando que se ejecutase cada 3 días... y así sucesivamente.

 

Es decir, en el caso de ejemplo estaríamos programando el reinicio a las 3:00 de la mañana (AM) de los días pares (que en la práctica sería cada 2 días exceptuando los finales de meses de 31 día que se ejecutaría al tercero. Si quisiésemos que se ejecutase cada 3 días a las 5 de la mañana y 15 minutos, por ejemplo:

 

15 5 */3 * * /sbin/reboot

 

Pues si cogemos todo eso, creamos el archivo necesario y todo lo demás, el fix completo quedaría del siguiente modo, tomando los valores del primer ejemplo:

 

 

bloqueo_fix="mkdir /etc/crontabs"
bloqueo_fix2="echo '0 3 */2 * * /sbin/reboot' &gt; /etc/crontabs/admin"

 

NOTA: Si por un casual se necesitase un segundo cron (por ejemplo por usar el fix de DHCP), sería posible, pero el segundo cron debería de ser añadido al archivo existente, no sobreescrito. Es decir, usar >> en vez de >. Es decir

 

&gt;&gt;

en vez de

&gt;

--------------------------------------------------​------------------

 

Añadir equipos a la tabla ARP de forma estática

 

Como ya son muchos los que lo han pedido y preguntado, no veo motivo de no añadirlo aquí. Ya se había hablado en el hilo, pero es verdad que sepultado entre otros cientos de post.

 

Una función bastante habitual, es hacer uso de Wake On Lan, es decir, poder encender de forma remota nuestro equipo. Esto requiere como es natural tener configurado el equipo, que este esté conectado por cable al Router, que la bíos esté configurada para tal efecto... y evidentemente un programa que podemos instalar en el Móvil, o en otro PC o incluso a través de una web, para mandar las señales necesarias al equipo para que este se inicie. Esto no es algo nuevo, WOL se lleva usando desde tiempos inmemorables.

 

WOL no suele dar problemas, una vez se configura bien el equipo no hay mucho más que hacer. Pero tenemos una variante, Wake On WAN (WOW), que es poder realizar lo mismo, pero desde fuera de la red, es decir, desde Internet. La utilidad es evidente, poder apagar el equipo, irnos a cualquier lado, y si necesitamos acceder a él poder arrancarlo desde donde estemos para poder acceder luego de forma remota.

 

El problema con WOW, es que WOL se fundamenta en poder enviar a una dirección física específica (Una MAC) un paquete específico, pero desde Internet esto no lo podemos hacer. Desde Internet, podemos crear una redirección de puertos en el Router para que al llegar a él, este los reenvíe a su vez al equipo que sea, y ojo, funciona perfectamente, pero para que eso sea posible el Router por lo general debe de conocer quien/que equipo, posee esa IP. Como el equipo está apagado, no tiene asignada ninguna IP, así que el Router tiene que buscar en la tabla ARP para ver al menos si tiene registrada dicha dirección MAC. El problema es que la tabla ARP es dinámica, se va rellenando en función de los equipos que se van conectado o desconectando, y después de cierto tiempo, si un equipo se ha ido de la red, la tabla ARP elimina el registro del equipo que ya no está.

 

Esto hace que dependiendo del funcionamiento del Router y de la propia aplicación que se use para poder realizar WOL/WOW, sea a veces un infierno. Una solución es por ejemplo el reenvío de puertos en Broadcast, otra que el Router permita cierto tránsito especial de tráfico... pero nada puede garantizarse, como digo es muy dependiente de cada Router y de cada aplicación que se use. Hay Routers que simplemente con crear el DHCP estático pertinente es capaz, otros funcionan bien simplemente usando la dirección de broadcast 255.255.255.255.. como digo es muy dependiente.

 

Existe no obstante una solución "global" a esto, en el caso de que el usuario no logre configurar el equipo o la aplicación. Crear manualmente un registro estático en la tabla ARP del Router. De este modo la tabla ARP siempre contendrá IP/MAC del equipo que queremos despertar, y junto al mapeo de puertos correspondiente, nos aseguramos que el tráfico especial qeu se manda para iniciar el equipo, llegue.

 

Algunos Routers permiten realizar esto en la propia interfaz, aunque son los menos. La mayoría que lo permiten se pude realizar por scripts. El Mitrastar como es normal no lo permite por la interfaz web, y en teoría tampoco podemos usar Scripts, pero... sí podemos hacerlo gracias digamos a la "puerta trasera" que he ido usando para aplicar los diferentes fix. Se pueden aplicar fix, y se pueden crear igualmente entradas ARP estáticas.

 

En Linux, un registro ARP estático se añade del siguiente modo, los datos de la IP/MAC son inventados:

 

 

arp -s 192.168.1.55 aa:bb:cc:dd:00:11

 

Así, que si usamos exactamente el mismo procedimiento que en el resto de "correcciones", podríamos hacer algo así:

 

arp_mod="/sbin/arp -s 192.168.1.55 aa:bb:cc:dd:00:11"

 

Si quisiésemos añadir más de un equipo, tan sólo tendríamos que añadir una línea adicional por cada equipo, cambiando el nombre de la etiqueta

 

arp_mod="/sbin/arp -s 192.168.1.55 aa:bb:cc:dd:00:11"
arp2_mod="/sbin/arp -s 192.168.1.56 aa:bb:cc:dd:00:12"

 

Con esto, el Router nada más iniciar, crearía las entradas pertinentes en su tabla ARP, permitiendo poder hacer WOW sin problema.

 

---------------------------------------------------------------------

 

A medida de que vayan saliendo otros problemas QUE REALMENTE SEAN problemas del router Y que puedan ser solucionados mediante la aplicación de estos pequeños... "fixes", no veo la razón por la cual no seguir añadiendo otros. Por supuesto estos "fixes" no tienen porqué necesitarlos todos, por ejemplo el problema de DHCP no es un problema si no usamos un servidor DHCP diferente.

 

Por supuesto el potencial de esto no se limita a realizar fixes, sino a poder realizar ajustes avanzados o concretos, ya sean filtrados, rutas... un poco lo que se quiera.



Por privado solo asuntos privados, para lo demás la comunidad."El conocimiento nace del desacuerdo"
Mensaje 1 de 991
84.032 Visitas
990 RESPUESTAS 990
zadkyn
Yo probé el VDSL
Alguna manera tiene que haber para activar el doblé canal, a no ser qué sea los driver.
Mensaje 76 de 991
2.941 Visitas
Theliel
Yo probé el VDSL

Algún problema con el seteo de la interfaz WIFI al iniciar entonces, a lo mejor la nvram esta bien, pero los scripts/demonios y otros que la configuran no lo hacen bien. Aquí creo q era iwpriv. Si se puede setear a mano de algún modo, imagino que se podrá buscar un fix

 

El driver puede estar mal, pero el echo de que funcione si se configura en 40Mhz desde los 20MHz es que al menos funcionar funciona aunque séa solo en un escenario concreto, con lo que es muy posible que se pueda hacer algo



Por privado solo asuntos privados, para lo demás la comunidad."El conocimiento nace del desacuerdo"
Mensaje 77 de 991
2.941 Visitas
zadkyn
Yo probé el VDSL

haber si hay suerte y es facil la solucion, asi tenemos el doble canal

Mensaje 78 de 991
2.900 Visitas
Theliel
Yo probé el VDSL

Pues definitivamente es un problema del Driver el problema del WIFI

 

En función de la configuración en la que se establezca HT_BW (0 banda de 20MHz, 1 Banda de 20/40Mhz), el router levanta la interfaz con un "driver" diferente. En realidad es el mismo Driver pero aplica diferentes configuraciones de este dependiendo del adaptador WIFI que el cree que hay. La firmware soporta diferentes adaptadores, presupongo que es porque Mitrastar tiene placas muy similares. El caso es que si HT_BW está a 0 levanta la interfaz de un modo en el que es posible configurarla a posteriori para poder usar la banda de 20/40. En cambio si se levanta la interfaz estando HT_BW 1, el Driver impide por algún error que la banda pueda configurarse en 20/40 bajo ninguna circunstancia, la única forma de poder revertir esto es bajar la interfaz y volver a subirla estando HT_BW configurado a 0.

 

El Router levanta la interfaz al inicio de arrancarse, con lo que cuando en la interfaz web se configura HT_BW a 1 (20/40), y se aplican los cambios, estos FUNCIONAN perfectamente SOLO si el Router había arrancado estando HT_BW a 0. Si reiniciamos estando HT_BW a 1, se levantarán mal la interfaz, y ya da igual que se ponga HT_BW a 0 y luego a 1, porque hasta que no se levante la interfaz bien (que lo hace el router solo al iniciarse) no hay nada que hacer

 

Resumiendo:

 

-Es posible usar 20/40 sólo si el Router arranca con HT_BW a 0 y posteriromente se configura a 1.

-Si el Router arranca en 20/40, l aúnica forma de poder usar la banda de 20/40 es bajando la interfaz, configurando HT_BW a 0, volviendo a levantar la Interfaz y volviendo a configurar BT_BW a 1.

 

Es posible un "fix"? Todo se puede hacer por Shell sin reiniciar, automatizarlo es más complicado porque hasta que la interfaz no se levante no se peude configurar. La solución sería dejar siempre BT_BW a 0, y automatizarlo de algún modo para establecerlo a 1, pero como digo es más complicado porque hay que dar tiempo a que la interfaz se levante. Luego si tengo otro ratito pruebo un par de cosas más



Por privado solo asuntos privados, para lo demás la comunidad."El conocimiento nace del desacuerdo"
Mensaje 79 de 991
2.866 Visitas
zadkyn
Yo probé el VDSL

uuuuf esta complicado entonces, haber si consigues algo

Mensaje 80 de 991
2.863 Visitas
FerOSX
Yo probé el VDSL

Excelente tarea de investigación @Theliel. Visto este hilo, yo no sé cómo a Movistar no se le cae la cara de vergüenza por la calidad de routers que monta. Que un usuario tenga que llegar a estos extremos es lamentable. Este ahora mismo es el único que montan para fibra con TV y es una auténtica pena. Pero es que los que han estado montando años atrás son incluso peor (Amper EG 663, Comtrend VG 8050, Comtrend 5813, etc). Que lo hagan otras compañías lo podría entender, pero es que Movistar tiene practicamente el monopolio en España, es líder indiscutible. Y no sólo eso, es que su competencia (a años luz de presupuesto, clientes y ganancias) montan routers muchísimo mejores que esto...  Sólo espero que alguien de las altas esferas lea esto y reaccione de una maldita vez.

Mensaje 81 de 991
2.859 Visitas
Toni_78
Yo probé el VDSL

Hola,

 

 tras añadir las lineas al archivo cfg para tratar de solucionar el problema del consumo de las baterias por Wifi, en mi caso, 3 moviles y una tablet, no noto la mejoria que comentan otros compañeros, me da la sensación que he pasado de un 15% a la hora, como estaba antes, a un 10% de consumo, lejos, muy lejos del 2% por 3G.Mejor pero todavia muy alto en comparacion con otros Wifi y con el 3G.

 

Compruebo el valor de mcast_solicit y sigue en 0, pero nada

# cat /proc/sys/net/ipv4/neigh/br0/mcast_solicit
0

 

Gracias Theliel y a los que te estan echando una mano por el curro

 

Creo que insistiré con las reclamaciones.

 

Un saludo

Mensaje 82 de 991
2.831 Visitas
David B
Yo probé el VDSL

He realizado mas comprobaciones, y sin duda se ha notado mejoria, pero por ejemplo en casa d emi novia en segundo lugar está dispositivo inactivo y en cambio en casa tengo sitema operativo de android...

 

Creo que gasta mucho menos pero aun gasta

Mensaje 83 de 991
2.813 Visitas
Theliel
Yo probé el VDSL

@Toni_78estás en la B21?? La B14 tiene otro problema totalmente diferente, este "fix" va pensado para la B21. En lo personal no he detectado ningún otro fallo en lo referente a la sangría con la batería. El único tráfico adional que pudiese hipotéticamente afectar (pero de un modo infinitamente menor) es IPv6, que lo puedes deshabilitar desde la interfaz Web. Lo único que quedaría a parte de ello sería habilitar la gestión de energía de las extensiones WIFI, que creo recordar que por defecto está deshabilitado... puedo intentar añadirlo también a ver como interactúa todo junto

 

@zadkyn, ya tengo un "fix" para el Wifi, mañana lo probaré mejor. Funcionar funciona, pero tengo que decir que el WIFI del router es más inestable, no por fallo del fix, sino por el Driver del Router. Por suerte la interzaz se levanta antes de la ejecución de nuestro bloque, con lo que se puede "insertar". Mañana hago más pruebas y mediciones a ver si la banda de 40Mhz puede llegar a ser usable, le pediremos a @taker59 que lo pruebe también en un entorno real por si nos volvemos a cargar su router (pobrecillo, es un conejillo de indias).

 

@David B me remito a lo que he comentado a Toni



Por privado solo asuntos privados, para lo demás la comunidad."El conocimiento nace del desacuerdo"
Mensaje 84 de 991
2.811 Visitas
David B
Yo probé el VDSL
Gracias y tranquilo solo te estaba informando ahirs misno estoy muu contento con el gasto contando que sntes hacia dos horas de pantalla!
Mensaje 85 de 991
2.808 Visitas
zadkyn
Yo probé el VDSL

que bien ojala que funcione, esperando con ganas estoy!!   @Theliel      este router es una [....], en mi caso tengo como un relay entre el portatil y el wifi, como que tarda en racionar, cuando entro en una pagina web se queda el navegador en esperando repuesta como 30 segunod o mas, y asi me pasa con todas las paginas, y pasa una vez no y dos veces si

Mensaje 86 de 991
2.781 Visitas
Theliel
Yo probé el VDSL

Bueno, antes de ponerlo en el primer post, para ver si alguien quiere probarlo en un entorno real, en mis pruebas funciona "bien", aunque no lo he podido probar demasiado. Teniendo en cuenta los problemas que ha tenido ya Taker no me gustaría que alguien bloquease el suyo... que no todos tenéis cables para desbloquearlo:

 

Activar al inicio la banda de 40MHz (Puede causar más inestabilidad en el WIFI del router). En Channel poner el canal que use cada uno, 0 para automático. Es necesario especificarlo, y si se modifica en la interfaz web se debe de modificar aquí también (para que no haya problemas con el canal secundario)

 

wifi_fix="/userfs/bin/iwpriv ra0 set HtBw=1; /userfs/bin/iwpriv ra0 set Channel=13"

 

Por otro lado, para activar otra función que por defecto viene apagada y que afecta a la batería de móviles tables y otros. En este caso debe de ir en la sección <WLan> y dentro de WLan en Entry0, se puede poner después de por ejemplo la última entrada, despúes de RADIUS_Server

 

APSDCapable="1"

 

Este último lo he probado y efectivamente los dispositivos entran en power save mode cuando estan unos segundos a pantalla apagada, lo que ayuda aun más en reducir el consumo por wifi. Posiblemente cuando lo pase al post principal, para evitar tener que cambiar en muchos sitios lo pondré en la misma sección que el resto, pero por ahora es necesario ponerlo en WLAN Entry



Por privado solo asuntos privados, para lo demás la comunidad."El conocimiento nace del desacuerdo"
Mensaje 87 de 991
2.760 Visitas
taker59
Yo probé el VDSL

Gracias @Theliel ,voy a probarlo corriendo jejeje.

 

P.d:Si no respondo en unos pocos minutos ................ es que se ha brickeao jejeje .

Mensaje 88 de 991
2.752 Visitas
taker59
Yo probé el VDSL

taker59 escribió:

Gracias @Theliel ,voy a probarlo corriendo jejeje.

 

P.d:Si no respondo en unos pocos minutos ................ es que se ha brickeao jejeje .


Funciona de lujo los 40Mhz.,ahora va perfecto.Ademas se puede cambiar de 20 a 40 y viceversa sin peligro.

Mensaje 89 de 991
2.742 Visitas
Theliel
Yo probé el VDSL
No, no puedes alternar desde la interfaz, si en la interfaz lo pones en auto, al reiniciar no funcionará


Por privado solo asuntos privados, para lo demás la comunidad."El conocimiento nace del desacuerdo"
Mensaje 90 de 991
2.743 Visitas
taker59
Yo probé el VDSL

Otra cosa muy importante y es que para que funcione correctamente el fix de los 40Mhz,en el apartado de <WLan> <Common APOn="1" ................... teneis que poner en HT_BW=  dejarlo en "0" .Si esta puesto en "1" estara activado en 40mhz pero el fix no funcionara de ninguna manera.Si lo dejais en "0" funcionara aunque en la gui del router salga que esta a 20Mhz.Si quereis que funcione a 20Mhz (un solo canal) solo teneis que ponerlo en 40 y volverlo a poner 20 y aplicais.Si quereis otra vez 40,poner en auto y ya estara de nuevo el doble canal sin necesidad de apagar el wifi.

Mensaje 91 de 991
2.737 Visitas
zadkyn
Yo probé el VDSL

Gracias, voy a probar por que he tenido que empezar a usar un hg56a con openwrt  de lo mal que me va el mirastra, voy a probar lo del wifi a 40hz

Mensaje 92 de 991
2.738 Visitas
taker59
Yo probé el VDSL

Si que se puede alternar ,solo se tiene que poner a "0" en  HT_BW=  .

Mensaje 93 de 991
2.737 Visitas
zadkyn
Yo probé el VDSL

0 se pone en la linea que añadimos en el config o en el apartado que esta ya en el archivo config?

Mensaje 94 de 991
2.729 Visitas
taker59
Yo probé el VDSL

En el autoexec NO,se tiene que editar en el apartado que de la WLAN.

Mensaje 95 de 991
2.726 Visitas
taker59
Yo probé el VDSL

He realizado unas cuantas pruebas y lo mejor es como lo he puesto.Ademas de poner en el autoexec el fix de @Theliel  de los 40Mhz,se tiene que modificar en el apartado WLAN la opcion HT_BW= y dejarlo en "0". De esta forma aunque se reinicie el router ,siempre arrancara con el doble canal activado y trabajando a 300 aunque salga en el status del router que esta a 150.

 

P.d:Eso si,no toqueis en la opcion del rouer el Channel Width : ,dejarlo como esta a 20Mhz.Si lo tocais y luego reiniciais no se pondra ya en los 40Mhz.

Mensaje 96 de 991
2.705 Visitas
zadkyn
Yo probé el VDSL

he echo todas las pruebas y aunque tengo 40 mhz la conexion por wifi me sigue fallando, el wifi es malisimo, he tenido que volver a conectar mi viejo router hg556a con openwrt y va perfecto, el telefono lo tengo por el ont y la fibra con tv y demas por el hg556a con openwrt, existe alguna posibilidad de instalar en mirastra openwrt? o alguna manera de liberar un livebox next  que tiene banda 5ghz wifi AC ? yo puedo ofrecerme a hacer pruebas. Yo creo que en mi caso el wifi en mirastra me va mal por que tengo muchas cosas conectada por wfi, tengo 2 impresoras wifi, un android tv, un portatil y 4 moviles android

Mensaje 97 de 991
2.687 Visitas
jchp
Mi vida cambió con el ADSL

zadkyn escribió:

que bien ojala que funcione, esperando con ganas estoy!!   @Theliel      este router es una [....], en mi caso tengo como un relay entre el portatil y el wifi, como que tarda en racionar, cuando entro en una pagina web se queda el navegador en esperando repuesta como 30 segunod o mas, y asi me pasa con todas las paginas, y pasa una vez no y dos veces si


Me pasa lo mismo con el portatil,tanto con windows como con linux..es un Acer ?
 

Mensaje 98 de 991
2.637 Visitas
Theliel
Yo probé el VDSL

A ver, que nos liamos todos.

 

El fix funciona SOLO cuando en la interfaz web aparece 20MHz. No pasa nada por ponerse en Auto, pero al reiniciar no funcionará, y sólo volverá a funcionar si se pone en 20 y se reinicia.

 

No es necesario editar el archivo y poner HT_BW=0, porque precisamente ese parámetro es el que modifica las opciones de WIFI... es decir, que si en la interfaz web estamos poniendo 20Mhz, realmente lo que estamos haciendo es lo mismo que poner en el archivo de configuración HT_BW=0, con lo que no es necesario.

 

Lo único que hay que aplicar es que para que funcione, la interfaz web tiene que estar en 20Mhz, mientras esté así, funciona. Si se pone en Auto funcionará hasta que se reinicie.

 

@zadkyn el fix arregla la imposibilidad de usar los 40Mhz (lo que duplica la velocidad teorica del wifi), pero el adaptador es el que es, es decir... q peras al olmo poco... jajaja. Sí es verdad que cuando esta trabajando en 40Mhz si he visto que a veces, el driver falla, lanza un error y desconecta al cliente, y hay que esperar unos seg a que vuelva a conectar.

 

Sobre instalar OpenWRT... lo dudo. Posible siempre es posible crear una firmware totalmente nueva y bla bla bla... pero vamos, nadie va a hacerlo. Y sobre el Livebox... a lo mejor es posible, no lo sé, pero tendría que asistirte cualquier otro, no puedo "entretenerme" con nada que no tenga. No la tengo tomada con el Mitrastar... es que es el que Movistar me puso, así que es con el que trateo (ni siquiera uso el router en mi línea, uso mi propio Router)

 

Por otro lado, probar el añadido de la batería a ver si los más atentos al consumo ven una mejoría. Paso los dos al primer post de todos modos



Por privado solo asuntos privados, para lo demás la comunidad."El conocimiento nace del desacuerdo"
Mensaje 99 de 991
2.637 Visitas
Toni_78
Yo probé el VDSL

Theliel escribió:

@Toni_78estás en la B21?? La B14 tiene otro problema totalmente diferente, este "fix" va pensado para la B21. En lo personal no he detectado ningún otro fallo en lo referente a la sangría con la batería. El único tráfico adional que pudiese hipotéticamente afectar (pero de un modo infinitamente menor) es IPv6, que lo puedes deshabilitar desde la interfaz Web. Lo único que quedaría a parte de ello sería habilitar la gestión de energía de las extensiones WIFI, que creo recordar que por defecto está deshabilitado... puedo intentar añadirlo también a ver como interactúa todo junto

 

@zadkyn, ya tengo un "fix" para el Wifi, mañana lo probaré mejor. Funcionar funciona, pero tengo que decir que el WIFI del router es más inestable, no por fallo del fix, sino por el Driver del Router. Por suerte la interzaz se levanta antes de la ejecución de nuestro bloque, con lo que se puede "insertar". Mañana hago más pruebas y mediciones a ver si la banda de 40Mhz puede llegar a ser usable, le pediremos a @taker59 que lo pruebe también en un entorno real por si nos volvemos a cargar su router (pobrecillo, es un conejillo de indias).

 

@David B me remito a lo que he comentado a Toni


Hola Theliel,

 

 tengo la B21.

 

Un saludo

Mensaje 100 de 991
2.581 Visitas