Bonjour ici,
Je voulais tout d'abord remercier Nouknouk pour ce partage au sujet d'OpenWRT sur nanopi r4s,
Voulant moi même remplacer ma freebox par quelque chose de moins intrusif (je n'aime pas avoir du matos "inconnu" chez moi), j'ai rapidement trouvé la référence du nanopi r4s qui est petit, dispose de 2 ports ethernets gigabit, léger en consommation et du coup ça a été le coup de foudre pour moi. C'est bien ce matos qui était voué à remplacer ma box
Ensuite, il me fallait bien sur le software (plus la configuration) et c'est grâce à ce thread que j'ai pu arriver à mes fins.
Je tenais à l'occasion, partager mon témoignage et une petite contribution.
Au niveau Openwrt, de mon côté je me suis appuyé sur ce repository github:
https://github.com/anaelorlinski/OpenWrt-NanoPi-R2S-R4S-BuildsEn ce jour du 31/01/2022, il est encore régulièrement mis à jour, la dernière release date d'il y a 2 jours.
Avec ce code, je n'ai pas eu besoin de modifier le programme map.sh, par contre j'utilise bien le paquet map d'origine qui fonctionne très bien.
J'ai la même configuration que toi, une adresse IPv6 récupéré chez free en spoofant la mac adresse de l'interface wan du nanopi et j'ai bien configuré une adresse ipv4 fullstack (que j'avais réclamé au préalable dans mon espace client free).
La release que l'on trouve dans le repo github que j'ai utilisé n'embarque pas le paquet map. Sinon, ça serait trop facile
Comme moi j'ai galéré à compiler la version Openwrt dédié au nanopi r4s, je me propose de vous partager la manipulation:
Comment réaliser la compilation d'Openwrt pour le nanopi r4s avec make sous linux:
Mode recette de cuisine ONLes grandes lignes des manipulations à effectuer sont en fait décrites dans le fichier github-action du repo, à savoir dans le répertoire .github/workflows mais n'étant pas initié à cet outil, je n'ai pas eu le reflexe d'aller visualiser le fichier (NanoPi-r2s-21.02.yml)
On commence par cloner le repo:
git clone https://github.com/anaelorlinski/OpenWrt-NanoPi-R2S-R4S-Builds.git
Puis à la racine du répertoire créé (normalement ~./OpenWrt-NanoPi-R2S-R4S-Builds/, executer les scripts:
/bin/bash ./steps/01_clone_openwrt_2102.sh
/bin/bash ./steps/01_clone_immortalwrt_2102.sh
/bin/bash ./steps/02_prepare_openwrt_folder_2102.sh
/bin/bash ./steps/r2s/03_patch_openwrt_2102.sh
/bin/bash ./steps/04-prepare_package.sh
/bin/bash ./steps/05-create_luci_acl.sh
/bin/bash ./steps/06-create_config_from_seed.sh
Après execution des scripts, vous verrez un repertoire build/ qui a été créé, à l'intérieur c'est le répertoire openwrt qui nous intéresse :
cd build/openwrt
A présent il faut modifier le menuconfig pour ajouter le paquage map :
make menuconfig
Dans le menu, il faut se rendre dans Network, puis descendre dans le menu jusqu'a trouver "map" et sélectionner <*> map
Avant de compiler, on télécharge toutes les dépendances :
make download -j128
find dl -size -1024c -exec ls -l {} \;
find dl -size -1024c -exec rm -f {} \;
On compile en utilisant tous les cores à disposition :
let make_process=$(nproc)+1
make -j${make_process} V=s || make -j${make_process} V=s
A la fin vous aurez un répertoire ~bin/targets/rockchip/armv8 avec normalement les fichiers issus de la compilation :
-rw-r--r--. 1 rainy rainy 94968912 Jan 26 10:59 openwrt-rockchip-armv8-friendlyarm_nanopi-r2s-ext4-sysupgrade.img.gz
-rw-r--r--. 1 rainy rainy 72920701 Jan 26 11:00 openwrt-rockchip-armv8-friendlyarm_nanopi-r2s-squashfs-sysupgrade.img.gz
-rw-r--r--. 1 rainy rainy 95030406 Jan 26 10:59 openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-ext4-sysupgrade.img.gz
-rw-r--r--. 1 rainy rainy 72978583 Jan 26 11:00 openwrt-rockchip-armv8-friendlyarm_nanopi-r4s-squashfs-sysupgrade.img.gz
Ensuite il n'y a plus qu'à prendre l'image qui vous intéresse (la différence entre ext4 et squashfs se situe au niveau du filesystem utilisé) et la charger dans une carte mini-sd.
Pour ce faire, personnellement j'utilise rufus sous Windows.
Comme toi Nouknouk, je suis obligé d'activer le mode promisc pour que cela fonctionne,
j'ai donc ajouté son activation au démarrage du system, dans le fichier /etc/rc.local
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
ifconfig eth0 promisc
exit 0
J'en suis à moins d'une semaine d'utilisation, pour le moment tout fonctionne "comme un charme".
Le cpu ne dépasse pas 2%, la dissipation thermique entre 58.5 et 59.5, j'ai des petits heatpipe sur le cpu, la ram (j'ai la version 1gb) et une troisième composant (le gpu?) mais pas de ventilateur ni de boitier pour le moment. Je dois me rendre chez un ami pour me faire faire un boitier imprimé 3d
La deadline c'est le début de l'été.
Je n'ai fait aucun paramétrage pour le MTU.
Au niveau des perfs, je ne vois pas de différence avec "la box", j'arrive à faire des piques a 600mbits/s dans les deux sens. Mais j'ai remarqué que chez Free aux heures de pointes, genre vers 20h (je suis en immeuble), qu'il pouvait y a voir des baisses significatives de débit, je vais voir avec la nanopi si cela change quelque chose.
Ravi de partager cela