🛠 OpenWrt upstream 24.10 en routeur 2,5G complet
Objetivos
Instalar OpenWrt upstream (y no solo FriendlyWrt) en el NanoPi R5S: la placa está admitida oficialmente bajo el dispositivo friendlyarm_nanopi-r5s de la target rockchip, presente desde la rama openwrt-24.10 (ausente en 23.05). Escribirá la configuración UCI completa WAN/LAN, activará el flow offloading por hardware —clave para un rendimiento >1 Gbps en enrutamiento sobre RK3568— y lo validará con iperf3. Nivel avanzado: manipulación de sysupgrade, copia de seguridad de la configuración y rollback.
Hardware
- NanoPi R5S (2 o 4 GB) con imagen OpenWrt rockchip nanopi-r5s (sysupgrade o sdcard) en microSD, eMMC o NVMe M.2
- Se recomienda consola serie para el primer arranque (1 500 000 bps)
- PC con puerto 2,5G para las mediciones, cable Cat.6
Código completo
#!/bin/sh
# Configuration UCI routeur 2,5G — à adapter selon les noms vus par ip link
# eth0 = gmac0/RTL8211F (GbE WAN) ; eth1/eth2 = RTL8125BG (2,5G LAN)
uci batch <<'EOF'
set network.wan.proto='dhcp'
set network.wan.device='eth0'
set network.lan.type='bridge'
set network.lan.proto='static'
set network.lan.ipaddr='192.168.69.1'
set network.lan.device='br-lan'
add network network
set network.@network[-1].name='br-lan'
set network.@network[-1].type='bridge'
set network.@network[-1].ifname='eth1 eth2'
EOF
# Flow offloading logiciel + matériel (indispensable pour dépasser 1 Gbps)
uci set firewall.@defaults[0].flow_offloading='1'
uci set firewall.@defaults[0].flow_offloading_hw='1'
uci commit
/etc/init.d/network restart
/etc/init.d/firewall restart
# Sauvegarde puis vérification des vitesses
sysctl -w net.ipv4.conf.all.send_redirects=0
ubus call system board | head
for i in eth0 eth1 eth2; do ethtool $i | grep -E 'Speed|Link'; done
# iperf3 -s sur le R5S ; iperf3 -c <ip> -t 30 -P 4 depuis le PC 2,5G
Verificación esperada
ubus call system board confirma la target rockchip y el modelo FriendlyElec NanoPi R5S. ethtool muestra 2500Mb/s en eth1/eth2 y 1000Mb/s en eth0. iperf3 se acerca a las referencias de CNX: ~2,35 Gbps en Rx, ~1,85 Gbps en Tx por puerto 2,5G, ~941 Mbps en WAN. La CPU permanece baja gracias al offloading (top durante la prueba). Atención: los valores predeterminados del firewall de FriendlyWrt/OpenWrt pueden bloquear el tráfico WAN mientras la zona wan no esté aceptada — fw4 reload tras la modificación.
Errores frecuentes
- Descargar una imagen 23.05: el dispositivo solo existe a partir de 24.10; verificar la rama.
- Sobrescribir la configuración al flasear encima de FriendlyWrt sin copia de seguridad: hacer
sysupgrade -bantes. - Olvidar el flow offloading: sin él, el enrutamiento se limita cerca del gigabit y la CPU se dispara — problema histórico documentado por CNX en el lanzamiento.
- Los nombres de las interfaces cambian tras un
mac-addresso un cambio de kernel: siempre definirdevice=explícitamente en UCI en lugar de suponer eth0/eth1. - No probar los dos puertos 2,5G por separado: la correspondencia controlador PCIe ↔ puerto físico no está documentada en ningún lugar.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash