Installer openwrt sur un routeur linksys wrt54G

./img/photos/37.png

Testé avec un Linksys wrt54g V3.1 sous Ubuntu.
La version 5 de ce routeur n'est pas sous linux elle peut être flashé mais la mémoire disponible pour installer des logiciels et moitié moins que les autres versions. Linksys pour la version "6" est revenu en arrière et propose désormais le Wrt54gl (avec un L comme Linux) qui est en fait une version 4 du routeur.
Donc si vous n'avez pas encore ce type de routeur et que vous prévoyez d'en acheter un, prennez le WRT54GL pour être tranquille. ;)

1) Activer le boot_wait

Le paramètre boot_wait activé permet au routeur de recevoir des données, au moment où il démarre, par le protocol tftp (ftp sans mot de passe).
Il faut donc l'ACTIVER si ont veut envoyer notre firmeware open-source par tftp au routeur ou pouvoir RENVOYER UN FIRMWARE EN CAS D'ERREUR.
On utilise un bug de l'interface web du firmware original.
Il est possible de taper les lignes de commandes pour arriver à ce résultat mais un internaute, Uranium235, a fait une page html bien pratique pour ça.
Téléchargez ce fichier :

Accèdez à l'interface web de votre routeur http://192.168.1.1
Pas de nom d'utilisateur, mot de passe: admin
Lancez le fichier wrt54g_hack.html et activez le boot_wait.

./img/photos/38.png
./img/photos/39.png
./img/photos/40.png

Commit NVRAM pour appliquer les changements

Si ça ne fonctionne pas, cherchez sur google.
La manip n'est pas la même suivant les versions du routeur et les firmwares. Essayez d'upgrader ou de downgrader votre firmvare depuis le site de linksys et refaites le test.

2) Envois du firmware

http://downloads.openwrt.org/whiterussian/newest/bin/
Préférez la version jffs2 à squasfs, cette dernière étant en lecture seule. La dernière version à la date de ce howto est la RC5 openwrt-wrt54g-jffs2.bin (suivant votre modèle)

Il existe aussi dd-wrt basé sur openwrt qui est très complet avec beaucoup d'applications préinstallées et qui peut s'installer sur des wrt V5.

2.1) Par l'interface web du firmware original

Vous allez dans la section upgrade de votre interface web et vous uploader l'image que vous avez téléchargée.

2.2) Par TFTP si votre routeur ne démarre plus

Branchez le câble réseau sur la prise n°1 du wrt54G.
Installez le client atftp sur votre ordinateur de bureau.
apt-get install atftp

Lancez cette commande juste avant de mettre le wrt54G sous tension.
atftp --trace --option "timeout 1" --option "mode octet" --put --local-file openwrt-xxx-x.x-xxx.bin 192.168.1.1

!!! Ne débranchez pas le routeur. Laissez se configurer !!! (~ 3min)

3) Accès au nouveau firmware

Essayer d'y accèder comme ceci :
telnet 192.168.1.1
A partir de ce moment là vous pouver changer le mot de passe ssh par la commande passwd ou accèder à l'interface par http://192.168.1.1

Si vous ne pouvez pas changer le mot de passe, débranchez le et rebranchez le.
telnet 192.168.1.1
#nvram set boot_wait=on
#nvram get boot_wait (on vérifie que le boot_wait est à on)
#nvram commit (appliquer les changements)
#reboot
telnet 192.168.1.1
#passwd root (on change le passwd de root ceci désactive telnet et active sshd)

firefox http://192.168.1.1 (enjoy)
Le nom d'utilisateur est "root"

./img/photos/35.png

Références :

http://openwrt.org/