On a un modem+routeur Buffalo WBMR-HP-G300H (annexe A pour la partie ADSL) que l'on souhaite migrer à OpenWRT.
La première fois, c'est facile : on suit le wiki OpenWRT :
https://wiki.openwrt.org/toh/buffalo/wbmr-hp-g300h .
On télécharge la version signée de DD-WRT (et on note donc qu'il y a un partenariat entre Buffalo et DD-WRT ;) ) : wget
https://www.dd-wrt.com/routerdb/de/download/Buffalo/WBMR-HP-G300H/%20/buffalo_to_dd-wrt_MULTI.enc/4338 -O buffalo_to_dd-wrt_MULTI.enc
On installe cette image sur le WBMR-HP-G300H en utilisant l'interface web de Buffalo.
On se connecte en telnet sur le modem+routeur désormais équipé de DD-WRT et on installe OpenWRT :
* telnet 192.168.1.1
* cd /tmp
* wget
http://downloads.openwrt.org/barrier_breaker/14.07/lantiq/xway/openwrt-lantiq-xway-WBMR-squashfs.image mais, plutôt que de devoir faire la config' réseau (IP + résolver DNS), je préfère mettre l'image sur mon serveur web local (qui, du coup, aura une IP dans 192.168.1.0/24 ) et basta :- ) : wget
http://192.168.1.2/openwrt-lantiq-xway-WBMR-squashfs.image . On peut aussi utiliser scp...
* mtd -r write openwrt-lantiq-xway-WBMR-squashfs.image linux
Ça juste fonctionne. \o/
Pourquoi je ne prends pas plus récent que la version 14.07 d'OpenWRT ? Car je relate l'installation que j'avais fait à l'époque et qu'à l'époque, c'était la dernière. ;)
On fait la configuration minimale (définition d'un mot de passe, ce qui désactive telnet) puis on se dit qu'on terminera plus tard, quand on installera le modem+routeur dans la maison. Les mois passent et on oublie le mdp root... Plus possible de se connecter en telnet (« connection refused »). Plus possible de se connecter à l'interface web. Plus de SSH non plus...
On pense au mode sans échec (failsafe) sauf qu'aucune procédure (trouvées sur le web) ne fonctionne pour ce routeur... Les LEDs clignotent différemment quand on presse des boutons pendant le boot, certes, mais pas de telnet actif ni de mot de passe remis à sa valeur par défaut (vide) en vue... En faisant une capture du trafic réseau, on constate même que le WBMR-HP-G300H n'émet aucun paquet UDP avec dport = 4919. Ce paquet est un indicateur permettant de savoir à quel moment il faut presser les boutons pour booter en mode sans échec. Donc, je pense qu'on peut oublier le mode sans échec, il ne semble pas être disponible sur ce modèle. Note : je n'ai jamais réussi à utiliser le failsafe mode sur un WRT54GL non plus mais au moins, il émet un paquet UDP. :D
On se dit alors qu'on va reflasher le modem+routeur en utilisant TFTP. Il faut juste un ordinateur qui prendra l'IP 192.168.11.2/24 avec un logiciel serveur TFTP en état de marche (voir ici pour installer ça vite-fait :
http://shaarli.guiguishow.info/?gDJ5Xw ). L'ordi doit être connecté (via un hub ou un switch pour pas que le network manager efface la config' à cause du changement d'état up/down du port réseau) au port rj45 du modem+routeur le plus proche du port rj11 ADSL. Sauf que le ramdisk
https://downloads.openwrt.org/barrier_breaker/14.07/lantiq/xway/openwrt-lantiq-xway-WBMR-uImage ne fonctionne pas : le modem+routeur la télécharge depuis mon serveur TFTP mais il n'en fait rien, c'est le système installé sur la flash qui démarre... celui dont je n'ai pas le mot de passe. :D On voit également que c'est les LEDs standard qui s'allument (power, WiFi si vous l'avez activé,...). Même chose avec un ramdisk OpenWRT 15.05. :)
Je fini par trouver un tuto (
http://s4ff.blogspot.fr/2012/11/buffalo-wbmr-hp-g300h-how-to-recover.html ) . Le firmware.ram fourni fonctionne. C'est un OpenWRT 12.09. Le projet OpenWRT ne fournit pas ce ramdisk...
Le fait que l'image soit opaque (on ne sait pas ce que ce blogueur a mis dedans) + le fait qu'elle soit hébergée chez Google n'inspire pas confiance. OK, c'est un ramdisk donc ça sert juste à booter le modem+routeur pour télécharger une image et l'écrire dans la flash de l'appareil... Mais still, ça serait sympa de savoir refaire ça. Faisons-le (ce qui suit est inspiré de mes tutos OpenWRT passés, voir
http://www.guiguishow.info/categorie/hardware/embarque/openwrt/ ) !
* On prépare notre système : sudo apt-get install asciidoc autoconf bison build-essential fastjar flex gawk gettext git-core intltool libextutils-autoinstall-perl libncurses5-dev libssl-dev libtool subversion zlib1g-dev
* Nous allons travailler en RAM (il faut 8G de RAM au minimum pour source + binaire (tmpfs de 6G) + mémoire nécessaire à l'exécution de la compilation) : sudo mount -t tmpfs -o remount,size=6G tmpfs /tmp
* cd /tmp
* git clone git://git.openwrt.org/12.09/openwrt.git
* cd openwrt
* make defconfig && make prereq
* rm .config && rm .config.old
* wget
https://downloads.openwrt.org/attitude_adjustment/12.09/lantiq/ar9/config.lantiq_ar9 -O .config
* make menuconfig . On décoche tout. Choisir « WBMR - Buffalo WBMR-HP-G300H » en « Target profile ». Cocher « ramdisk » en « Target Images »
* make -j $((`nproc` - 1 ))
Ce ramdisk permet de booter le WBMR-HP-G300H (le succès du boot sur le ramdisk s'identifie par l'absence de LEDs allumées et une réponse au ping sur 192.168.1.1 au bout de quelques minutes) et d'avoir un accès telnet. On peut ensuite le flasher de manière tout à fait standard :
* cd /tmp
* wget
http://downloads.openwrt.org/chaos_calmer/15.05.1/lantiq/xway/openwrt-15.05.1-lantiq-xway-WBMR-squashfs.image mais, plutôt que de devoir faire la config' réseau (IP + résolver DNS), je préfère mettre l'image sur mon serveur web local (qui, du coup, aura une IP dans 192.168.1.1/24 et basta :- ) : wget
http://192.168.1.2/openwrt-15.05.1-lantiq-xway-WBMR-squashfs.image
* mtd -r write openwrt-15.05.1-lantiq-xway-WBMR-squashfs.image linux
Note pour les personnes qui voudraient tenter de faire un ramdisk d'OpenWRT 14.07 (même si le WBMR-HP-G300H ne bootera pas avec) : il faut appliquer un patch (
https://dev.openwrt.org/ticket/18340) sinon la compilation échouera (« undefined reference to `vpe1_wdog_ctr' [...] undefined reference to `vpe1_wdog_timeout' ») :
* git clone git://git.openwrt.org/14.07/openwrt.git
* make defconfig && make prereq
* rm .config && rm .config.old
* wget
https://downloads.openwrt.org/barrier_breaker/14.07/lantiq/xway/config.lantiq_xway -O .config
* wget
https://dev.openwrt.org/raw-attachment/ticket/18340/0153-lantiq-VPE-softdog.patch -O target/linux/lantiq/patches-3.10/0153-lantiq-VPE-softdog.patch
* make menuconfig . On décoche tout. « Target profile » -> « Buffalo WBMR-HP-G300H (A) ». « Target image » -> « ramdisk » et décocher le reste.
* make -j $((`nproc` - 1 ))