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

Bon, je vais pas refaire l’article de la dernière fois, z’avez qu’à aller lire :p

Passons tout de suite à la mise à jour d’un Buffalo WBMR-HP-G300H sous OpenWRT Barrier Brea­ker (14.07) vers Chaos Calmer (15.05).

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) :

Mise à jour

wget https://downloads.openwrt.org/chaos_calmer/15.05/lantiq/xway/openwrt-15.05-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/chaos_calmer/15.05/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-adsl-ar9-fw-b
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 si besoin est :

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

Toujours dans le même fichier, j’avais précé­dém­ment conseillé de mettre option ip6hint '42'. Bah là je vous conseille de l’en­le­ver : mon IPv6 ne fonc­tion­nait pas correc­te­ment avec ça.

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.

J’es­père que cette mise à jour m’en­lè­vera le vilain bug IPv6 de la dernière fois.

EDIT : ha bah non, ça a pas l’air de corri­ger le bug 🙁

NB : si vous trou­vez que cet article ressemble forte­ment à l’an­cien, vous avez raison, j’ai fait du copier/coller :p

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. 😀

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 :