🛠 OpenWrt upstream 24.10 en routeur 2,5G complet
Objectifs
Installer OpenWrt upstream (et non seulement FriendlyWrt) sur le NanoPi R5S : la carte est supportée officiellement sous le device friendlyarm_nanopi-r5s de la target rockchip, présente depuis la branche openwrt-24.10 (absente de 23.05). Vous écrirez la configuration UCI complète WAN/LAN, activerez le flow offloading matériel — clé du débit >1 Gbps en routage sur RK3568 — et validerez avec iperf3. Niveau avancé : manipulation de sysupgrade, sauvegarde de la config, rollback.
Matériel
- NanoPi R5S (2 ou 4 GB) avec image OpenWrt rockchip nanopi-r5s (sysupgrade ou sdcard) sur microSD, eMMC ou NVMe M.2
- Console série conseillée pour le premier boot (1 500 000 bps)
- PC avec port 2,5G pour les mesures, câble Cat.6
Code complet
#!/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
Vérification attendue
ubus call system board confirme le target rockchip et le model FriendlyElec NanoPi R5S. ethtool affiche 2500Mb/s sur eth1/eth2 et 1000Mb/s sur eth0. iperf3 approche les références CNX : ~2,35 Gbps en Rx, ~1,85 Gbps en Tx par port 2,5G, ~941 Mbps en WAN. Le CPU reste bas grâce au offloading (top pendant le test). Attention : les defaults de pare-feu FriendlyWrt/OpenWrt peuvent bloquer le trafic WAN tant que la zone wan n'est pas acceptée — fw4 reload après modification.
Erreurs fréquentes
- Télécharger une image 23.05 : le device n'existe qu'à partir de 24.10 ; vérifier la branche.
- Écraser la config en flashant par-dessus FriendlyWrt sans sauvegarde : faire
sysupgrade -bavant. - Oublier le flow offloading : sans lui, le routage plafonne près du gigabit et le CPU s'envole — problème historique documenté par CNX au lancement.
- Noms d'interfaces qui changent après un
mac-addressou un changement de noyau : toujours définirdevice=explicitement en UCI plutôt que de supposer eth0/eth1. - Ne pas tester les deux ports 2,5G séparément : la correspondance contrôleur PCIe ↔ port physique n'est documentée nulle part.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash