Mise à jour d’OpenWRT sur Buffalo WBMR-HP-G300H

EDIT :

WARNING : il y a un sale bug dans l'IPv6 de Barrier Breaker ! Je perds l'IPv6 une fois par jour : https://dev.openwrt.org/ticket/12888

Ne mettez pas à jour, sauf si vous vous foutez d'IPv6 (et vous ne devriez pas !).

Comme je suis abonné à un vrai FAI qui fournit du vrai Internet bio, sans filtre ni surveillance, fait à la main et roulé sous les aisselles, je n'ai pas de box fournie par celui-ci (enfin, si, on en prête, des neufbox ancienne génération mais c'est pas top, ça fait pas d'IPv6).

Du coup, je m'étais payé un modem/routeur Buffalo WBMR-HP-G300H qui a l'immense avantage d'être compatible OpenWRT. OpenWRT est un firmware de modem/routeur libre, ce qui veut dire que flasher son routeur avec OpenWRT, c'est aussi jouissif que de libérer un ordi en mettant une distribution GNU/Linux sur un ordi fourni avec Windows. 😀

Je ne vais pas détailler l'installation d'OpenWRT, mais sa mise à jour, de la version 12.09 (Attitude Adjustment) vers la dernière version en date, la 14.07 (Barrier Breaker).

Mise à jour

Tout d'abord, on va récupérer l'image kivabien et l'envoyer sur le routeur (partons du principe que le routeur est accessible à l'IP 192.168.1.1) :

wget https://downloads.openwrt.org/barrier_breaker/14.07/lantiq/xway/openwrt-lantiq-xway-WBMR-squashfs.image
scp root@192.168.1.1:/tmp

(voir ici pour libérer de la place s'il n'y en a pas assez dans /tmp)

On va aussi récupérer un fichier nécessaire pour la suite et on se le garde au chaud sur son ordi :

wget https://downloads.openwrt.org/barrier_breaker/14.07/lantiq/xway/packages/base/kmod-ltq-adsl-ar9-fw-a_0.1-1_lantiq.ipk

On met à jour :

ssh root@192.168.1.1
cd /tmp
sysupgrade openwrt-lantiq-xway-WBMR-squashfs.image

Un petit reboot s'il ne le fait pas tout seul.

Et là, c'est le drame !

Plus d'ADSL !

C'est simple : l'ADSL sur ligne téléphonique classique nécessite l'annexe a alors que l'image vient avec l'annexe b (ne me demandez pas la différence entre ces deux trucs ni ce que c'est).

On envoie alors le paquet téléchargé tout à l'heure :

scp kmod-ltq-adsl-ar9-fw-a_0.1-1_lantiq.ipk root@192.168.1.1:/tmp

On supprime l'annexe b et on installe l'annexe a :

ssh root@192.168.1.1
cd /tmp
opkg remove kmod-ltq-dsl-firmware-b-ar9
opkg install kmod-ltq-adsl-ar9-fw-a_0.1-1_lantiq.ipk

Ensuite on met à jour /etc/config/network, dans la section config adsl :

config adsl 'dsl'
    option annex 'a'
    option firmware '/lib/firmware/adsl.bin'

On reboot (oui, je suis une feignasse qui ne souvient plus quel service il a redémarré pour faire fonctionner le brol). Et là, normalement, ça fonctionne.

M'enfin ? Où est passé mon IPv6 ?

Barrier Breaker simplifie la gestion de l'IPv6 en intégrant tout ce qu'il faut pour que ça fonctionne, sans paquet supplémentaire. Mais comme ce n'était pas le cas avant, on a une configuration qui ne va pas 🙁

On commence par virer radvd :

opkg remove radvd

Ou alors, vous pouvez juste l'arrêter et le désactiver :

/etc/init.d/radvd stop
/etc/init.d/radvd disable

Ensuite on met à jour /etc/config/network (attention, je ne fais qu'ajouter de la config dans les différentes section, ne supprimez pas ce que vous avez déjà) :

config interface 'lan'
    option ip6assign '64'
    option ip6hint '42'

Explication : ip6assign '64' indique que vous assignez un réseau /64 à votre réseau local et ip6hint '42' sera concaténé à votre bloc d'IPv6.

C'est pas clair, donc voici un exemple : mettons que votre FAI vous fournisse le bloc 2001:DB8:1337::/48. Avec les options ci-dessus, les machines de votre réseau local piochera dans le bloc 2001:DB8:1337:42::/64.

Ça, normalement, vous l'avez déjà si vous aviez déjà configuré de l'IPv6 avant la mise à jour :

config interface 'wan'
    option ipv6 '1'

Et on ajoute une nouvelle section :

config interface wan6
    option ifname   '@wan'
    option proto    dhcpv6

Maintenant on modifie /etc/config/dhcp (toujours en ajout dans les sections existantes) :

config dhcp 'lan'
    option interface 'lan'
    option ra 'server'
    option dhcpv6 'server'
    option ra_management '2'

Vérifiez que cette section a bien été ajoutée lors de la mise à jour d'OpenWRT :

config odhcpd 'odhcpd'
    option maindhcp '0'
    option leasefile '/tmp/hosts/odhcpd'
    option leasetrigger '/usr/sbin/odhcpd-update'

On s'assure que /etc/sysctl.conf contienne bien ces deux lignes :

net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1

Et on reboote.

Voilà, normalement ça devrait rouler tout seul 🙂

Et pour finir, une jolie nimage de la nouvelle interface web d'OpenWRT qui vient avec Barrier Breaker :

Capture d'écran de l'interface web de Barrier Breaker

Sources :

2 réflexions au sujet de “Mise à jour d’OpenWRT sur Buffalo WBMR-HP-G300H”

  1. Il est vrai qu’une simple mise à jour peut parfois tourner au vinaigre. On a parfois tendance à ignorer les petits détails qui ne sont pas rien. Il vaut toujours mieux suivre ce genre de guide d’installation afin d’éviter les erreurs.

Les commentaires sont fermés.