OVH Community, votre nouvel espace communautaire.

Tomatousb sur un Linksys WRT160Nv3 pour utiliser IPv6 chez Ovh dégroupé


gaboul49
10/06/2012, 16h58
Edit : Actuellement, la dernière version beta de tomatousb ne permet pas d'utiliser l'IPv6 en dégroupage Ovh. (bug)

0/ Avertissement :
Je décris ci-dessous la méthode qui m'a permis d'installer un firmware alternatif dans mon routeur Linksys WRT160Nv3. Le fait que ça marche pour moi ne veut pas dire que ça fonctionnera pour vous. Si vous ne comprenez pas mes explications alors documentez-vous avant toute chose. Je livre ces informations gracieusement et SANS AUCUNE GARANTIE. Je ne saurai être tenu pour responsable d'aucun dommage direct ou indirect. Encore une fois vous risquez de "tuer" votre routeur. A vous de voir.

Lisez mon point 10/ Comment s'en sortir si j'ai tout planté ?
Si vous ne comprennez pas, alors ce n'est sans doute pas pour vous.

1/ Configuration pour votre FAI
Vous devez savoir comment configurer votre routeur avec les paramètres de votre FAI. Pour ma part, avec Ovh ADSL (dégroupé) tout marche directement avec la config par défaut pour ce qui est de l'IPv4. Dès la mise à jour du firmware la connexion internet est opérationnelle.

2/ Objectif
J'ai voulu ajouter à mon routeur la capacité à gérer l'IPv6. Comme Linksys ne propose pas de firmware gérant l'IPv6 pour le WRT160Nv3, j'ai décidé d'utiliser un firmware alternatif.

3/ A propos des firmwares alternatifs :

- Les firmwares alternatifs sont basés sur un noyau linux et vous permettront d'ajouter des fonctionnalités à votre routeur.
- Les firmwares alternatifs sont développés par la communauté et livrés sans AUCUNE garantie. Vous perdez également la garantie constructeur de votre routeur.
- Les firmwares alternatifs ne sont pas nécessairement stables.

Il y a différents firmware alternatif et plusieurs forks pour chacun. On peut citer :

- Tomatousb (je l'utilise ici car j'ai lu qu'il était plus stable pour mon routeur)
- DD-WRT
Mais il y en a d'autre.

4/ Routeurs compatibles
Je n'ai testé qu'avec un linksys WRT160Nv3. D'autres routeurs avec un processeur compatible MIPSR2 et Tomatousb devrait être compatibles avec ce firmware mais je n'ai aucune certitude. Vous pouvez consulter cette page pour savoir si votre routeur est compatible tomatousb et MIPSR2 : http://tomatousb.org/doc:build-types

5/ Méthode :
Je n'ai pas trouvé de firmware déjà compilé (build) qui gère l'IPv6 et qui pèse moins de 4MB (taille de la mémoire morte de mon routeur).
J'ai donc compilé moi même mon firmware via le git tomato. J'ai donc obtenu un firmware beta... Un firmware au niveau actuel de développement du firmware. On ne peut donc pas considérer ça comme stable même si dans la pratique je ne rencontre pas de soucis.
Si vous suivez la même méthode que moi, vous aurez une autre version du firmware car entre le moment ou j'écris ces lignes et le moment ou vous allez accéder au gi tomato le code aura changé.
Pour vous faciliter la tâche et limiter vos chances de plantages, j'ai mis la build que j'ai compilé en téléchargement au point 11/. Encore une fois, aucune garantie.

Les commandes suivantes sont valables pour les ditributions Debian / Ubuntu et dérivé.
Les commandes suivantes ne sont valables que pour les routeurs avec un processeur compatible MIPSR2 et Tomatousb !
Vous devez exécuter ces commandes en tant que root.
A vous de nettoyer votre système ensuite. Je n'explique pas comment revenir en arrière.

a) Installer git
apt-get install git

b) Récupérer le git tomato dans le dossier /home/tomato
cd /home
git clone git://repo.or.cz/tomato.git tomato

c) Indiquer qu'on veut la dernière version du firmware
cd /home/tomato
git checkout origin/tomato-RT

PS : On pourrait également ici cibler une version spécifique. Par exemple le 7495 comme dans ce lien.

d) Installer les dépendances pour la compilation
apt-get install libncurses5 libncurses5-dev m4 bison gawk flex libstdc++6-4.4-dev g++-4.4 g++ git gitk zlib1g-dev

e) Préparer la compilation
ln -s /home/tomato/tools/brcm /opt/brcm
export PATH=/opt/brcm/hndtools-mipsel-uclibc/bin:$PATH
export PATH=/opt/brcm/hndtools-mipsel-linux/bin:$PATH

f) Lancer la compilation
cd /home/tomato/release/src-rt
make clean
make r2s V1=9054 V2="-RT-ipv6" OPENVPN=y IPV6SUPP=y JFFSv1=y B=I BUILD_DESC="MiniIPv6VPN-byGaten" USB="" NO_CIFS=y NO_ZEBRA=y KERN_SIZE_OPT=y NO_SAMBA=y NO_XXTP=y

6/ La fin de la compilation
A la fin de la compilation (10/20 minutes) vous devriez pouvoir lire ceci :

Code:
# Create generic TRX image

Creating TRX: image/tomato-K26-1.28.9054MIPSR2-beta-RT-ipv6-Std.trx

TRX Image:
 Total Size .... : 3629056 (3544.0 KB) (3.5 MB)
   Images ...... : 3625920 (0x003753c0)
   Padding ..... : 3108
 Avail. for jffs :
   4MB, 128K CFE : 5 EBs + 40960
   4MB, 256K CFE : 3 EBs + 40960
   8MB, 256K CFE : 67 EBs + 40960
            Note : Netgear routers have 6 EBs less available!
 CRC-32 ........ : 826896B8
 128K Blocks ... : 28 (0x0000001C)
  64K Blocks ... : 56 (0x00000038)
 Offsets:
   0: 0x0000001C  lzma-loader/loader.gz
   1: 0x00000AD8  /home/tomato/release/src-rt/linux/linux-2.6/arch/mips/brcm-boards/bcm947xx/comp
   2: 0x000CE400  router/mipsel-uclibc/target.image


-----------------
1.28.9054 MIPSR2-beta-RT-ipv6 K26 Std  ready
-----------------
Vous pouvez récupérer le fichier compilé dans le dossier /home/tomato/release/src-rt/image

Le fichier s'appelle tomato-K26-1.28.9054MIPSR2-beta-RT-ipv6-Std.trx
Le nom du fichier contient 9054 mais ce n'est pas une version de build. Je pense que ça correspond au paramètre V1 du make. A ne pas confondre avec la build 9054 donc je vous conseille de renommer le fichier en tomato-K26-1.28.snapshotMIPSR2-beta-RT-ipv6-Std.trx


7/ Mise à jour du firmware :

Avant toute chose, faites un reset hardware de votre routeur ! Soit via l'interface web, soit avec le bouton reset hard du routeur.

Depuis l'interface web du routeur, faites la mise à jour avec votre firmware compilé.

- Si vous utilisez un firmware linksys officiel : modifiez l'extention de votre fichier.
L'interface web n'accepte que les fichiers ayant une extension .bin
Si l'interface web refuse le fichier, alors faite une première mise à jour avec
un firmware tomato déjà compilé (à télécharger sur le site officiel).


8/ Activation de l'IPv6 via l'interface web
Dans l'interface du routeur, vous pouvez paramétrer l'IPv6 dans l'onglet Basic => IPv6. Je ne sais pas encore quoi mettre pour Ovh ADSL dégroupé. J'éditerai lorsque j'aurai terminé la manip.

9/ Quelques liens :
How to build, and rebuild Tomato, FOR TOTAL NOOBS
How to compile Tomato Firmware
IPv6 dual stack config - TomatoUSB
Toastman Releases - up to 1.28.7492



10/ Comment s'en sortir si j'ai tout planté ?
*** Si tu as tout planté, il vaut mieux savoir se débrouiller un minimum en anglais. Les ressources sur le web en français sont trop limitées pour ce cas particulier ***
*** For WRT160Nv3 ***
To recover it, do the following procedure:

Turned on, press the Reset button for 30 seconds
Turn it off, without releasing the reset button
Turn it on again, still without releasing the reset button for 30 seconds.
Release the reset button.
Now, it is in recover firmware mode and running just with the 192.168.1.1 IP (it don't matters the configured IP in the router) in one of the 4 ethernet interfaces.
Configure your computer with another IP in that range (ex. 192.168.1.2) in the ethernet interface and access http://192.168.1.1 . At this point, you should see a very simple firmware upgrade page.
Upload the good firmware (if you're in doubt, take the correct one in the LinkSys page). After the upgrade and the "upload ok" message in the page, wait for a minute. Now, your router should be running!

*** For most of the router ***
You need to use a tftp client. Example of using here : http://cyberstorm.altervista.org/wag...wag354g_en.txt

11/ Téléchargement de la build
Voici la build que j'ai compilé le 10/06/2012 et qui fonctionne sur mon Linksys WRT160Nv3.
Je ne fournit aucune garantie. Paix à l'âme de votre routeur si celui-ci décède après avoir avalé mon firmware
Build made-in-chez-moi : http://demo.ovh.net/fr/fda182fcaf205...dc8254bfa8419/