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

EDIT :

WARNING : il y a un sale bug dans l’IPv6 de Barrier Brea­ker ! Je perds l’IPv6 une fois par jour : https://dev.open­wrt.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 four­nit du vrai Inter­net bio, sans filtre ni surveillance, fait à la main et roulé sous les aisselles, je n’ai pas de box four­nie par celui-ci (enfin, si, on en prête, des neuf­box ancienne géné­ra­tion 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’im­mense avan­tage d’être compa­tible OpenWRT. OpenWRT est un firm­ware de modem/routeur libre, ce qui veut dire que flasher son routeur avec OpenWRT, c’est aussi jouis­sif que de libé­rer un ordi en mettant une distri­bu­tion GNU/Linux sur un ordi fourni avec Windows. :D

Je ne vais pas détailler l’ins­tal­la­tion d’OpenWRT, mais sa mise à jour, de la version 12.09 (Atti­tude Adjust­ment) vers la dernière version en date, la 14.07 (Barrier Brea­ker).

Mise à jour

Tout d’abord, on va récu­pé­rer l’image kiva­bien et l’en­voyer sur le routeur (partons du prin­cipe que le routeur est acces­sible à 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écu­pé­rer un fichier néces­saire 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é­pho­nique clas­sique néces­site l’an­nexe a alors que l’image vient avec l’an­nexe b (ne me deman­dez 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’an­nexe b et on installe l’an­nexe 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 fonc­tion­ner le brol). Et là, norma­le­ment, ça fonc­tionne.

M’en­fin ? Où est passé mon IPv6 ?

Barrier Brea­ker simpli­fie la gestion de l’IPv6 en inté­grant tout ce qu’il faut pour que ça fonc­tionne, sans paquet supplé­men­taire. Mais comme ce n’était pas le cas avant, on a une confi­gu­ra­tion qui ne va pas :-(

On commence par virer radvd :

opkg remove radvd

Ou alors, vous pouvez juste l’ar­rê­ter et le désac­ti­ver :

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

Ensuite on met à jour /etc/config/network (atten­tion, je ne fais qu’ajou­ter de la config dans les diffé­rentes section, ne suppri­mez pas ce que vous avez déjà) :

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

Expli­ca­tion : ip6assign '64' indique que vous assi­gnez un réseau /64 à votre réseau local et ip6hint '42' sera conca­téné à votre bloc d’IPv6.

C’est pas clair, donc voici un exemple : mettons que votre FAI vous four­nisse 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, norma­le­ment, vous l’avez déjà si vous aviez déjà confi­guré 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

Main­te­nant on modi­fie /etc/config/dhcp (toujours en ajout dans les sections exis­tantes) :

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

Véri­fiez que cette section a bien été ajou­té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’as­sure 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à, norma­le­ment ça devrait rouler tout seul :-)

Et pour finir, une jolie nimage de la nouvelle inter­face web d’OpenWRT qui vient avec Barrier Brea­ker :

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

Sources :

Me soutenir sur Tipeee Me soutenir sur Liberapay

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.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *