"Después del juego es antes del juego"
Sepp Herberger

miércoles, 24 de septiembre de 2025

Fijar velocidad de red en puertos de un dispositivo OpenWRT

Tengo un dispositivo OpenWRT actuando de switch de red y, debido a la malidad calidad del cableado de red, he tenido problemas de estabilidad de la conexión, con cortes intermitentes. Analizando el tráfico de red veo que salta entre 100Mbps y 1000Mbps cada cierto tiempo, provocando un microcorte que congela la conexión a la red interna e Internet.

La solución que he encontrado es fijar a velocidad de 100Mbps el puerto concreto donde va la conexión con la red del centro, de manera que no hay ningún tipo de negociación.

Lo primero es saber cual es el nombre del puerto, eso lo hacemos con:
# brctl  show:
bridge name	bridge id		STP enabled	interfaces
br-lan		7fff.6c7220153a30	no		lan4
							            lan2
							            wan
							            lan3
                                        lan1
En mi caso es el puerto "wan", solo hay que mirar las etiquetas que tiene la entrada rj45 donde va la conexión que falla. Lo siguiente es poner un script de autoarranque que fije esa velocidad:
# cat /etc/hotplug.d/iface/99-fix-speed
#!/bin/sh

[ "$ACTION" = ifup ] || exit 0

if [ "$INTERFACE" = "lan" ]; then
    ethtool -s wan speed 100 duplex full autoneg off
fi
Reiniciando el dispositivo vemos si tiene la velocidad correcta con:
# ethtool wan
Las pruebas posteriores me confirman que un este truquito la señal es mucho mas estable y casi no hay microcortes.

No hay comentarios:

Publicar un comentario