Débrickage du routeur WRT1200:

La méthode de débrickage d'un appareil Linksys commence souvent par la même chose, le démontage du boitier pour trouver le connecteur qui porte la liaison série. Ensuite, à l'aide d'un adaptateur USB <> série 3.3V, on connecte à l'ordinateur et on vérifie en se connectant à 115200 bauds avec un émulateur série (ex: putty..) que l'on a bien un affichage. La suite est souvent fonction de l'apareil Linsys à débricker.

Ici nous allons d'abord faire sur un peu de réseau :

  • Télécharger la dernière version du firmware pour ce routeur chez linksys
  • Créer un répertoire c:\ftp et y placer une copie de ce firmware que l'on aura préalablement renommée linksys.img
  • Connecter un câble réseau de l'ordinateur à l'un des ports lan du routeur,
  • Mettre une IP fixe sur ce port Ethernet sur l'ordinateur en 192.168.1.2.
  • Télécharger et installer un serveur TFTPD open source (par exemple TFTPD),
  • Le paramètrer pour servir ses fichiers de c:\ftp sur la liaison Ethernet qui porte l'adresse 192.168.1.2
  • Et voial! L'ordinateur est prêt à envoyer le firmware en TFTP.

Revenirt sur le routeur que l'on reboote, et interrompre le boot en tapant un caractère quelconque sur la console série assez rapidement après reset. Taper ensuite es commandes suivantes :

setenv ipaddr 192.168.1.1
setenv  serverip 192.168.1.2
setenv firmwareName linksys.img
run update_both_images

Le routeur va lancer la procédure de mise à jour en s'adressant en serveur tftp pour télécharger l'image puis la flasher. A l'issue, le routeur reboote et devrait être accessible et fonctionnel.

Pensez à la fin à démonter la config réseau faite précédemment (IP fixe, serveur TFTP..) pour revenir en DHCP.

Pour voir la méthode en vidéo, c'est ici.

Installation de dd-wrt :

La procédure d'installation générique est simple :

  • On cherche son routeur dans la base de données DD-WRT et prenant bien soin de sélectionner la version du matériel concernée (dans mon cas un V2... l'étiquette signalétique vous le dira, c'est marqué dessous).
  • Comme nous avons mis lors de l'étape précédente un firmware Linksys dont nous avons confirmé le fonctionnement, nous allons pouvoir flasher le notre avec la méthode "Web" en utilisant tout simplement l'interface de gestion linksys pour injecter notre firmware. Celui à télécharger dans ce cas est factory-to-ddwrt.bin
  • Pour les plus téméraires, il est également possible d'aller chercher la dernière version compilée dans les betas ( https://dd-wrt.com/support/other-downloads ). Pour ne rien vous cacher, c'est ce que j'ai fait :).
  • Aller dans la page de mise à jour du firmware sur l'interface usine linksys et envoyez votre nouveau firmware.
  • Quelques minutes plus tard votre routeur est à jour sur dd-wrt ! Vous pouvez vous y connecter en 192.168.1.1.

Paramétrage d l'iphone tethering (ou partage de connexion)

La première opération à faire va être de paramétrer l'Iphone Tethering dans le basic setup. Vous pourrez également paramétrer la passerelle (Gateway) et le serveur DNS local. (cliquez sur les images pour zoomer)

Vérifier ensuite dans l'advanced routing que vous êtes bien en mode passerelle (Gateway). En routeur, cela ne semble pas fonctionner.

Aller ensuite dans services / usb pour activer l'USB et l'USB over IP

Nous allons maintenant rebooter le routeur en allant dans Administration / Management

Tout en bas de page, cliquer sur Rebot router. Brancher l'iphone sur la prise USB à l'arrière à l'aide d'un cordon "DATA/Charge". Activez le partage de connexion internet dans "Réglages".

Le routeur va mettre 2 minutes à rebooter. Au bout d'un certain temps vous devriez entendre le signal sonore indiquant que l'iphone est en train de charger (bonne nouvelle, c'est que l'USB est bien activé).

Une vingtaine de secondes plus tard, en déverrouillant l'Iphone, vous devriez voir une demande d'autorisation d'accès par l'ordinateur. Répondez oui et tapez votre code pour valider la demande. Encore une vingtaine de secondes plus tard, la barre verte en haut de l'iphone s'affiche, montrant que sa connexion est partagée.

Le demande d'autorisation de l'iphone devra être redonnée à chaque reboot du routeur.

Tests:

Se connecter avec l'ordinateur sur le wifi du point d'accès (défaut dd-wrt sans mot de passe). Vérifiez que vous avez bien accès à l'internet. Faire le même test en filaire après avoir coupé le wifi.

Vous pouvez également vérifier le status du routeur dans son interface de gestion (Status / Wan). La partie haute vous montre si vous êtes connecté :

La partie basse de cette même page vous permet même d'avoir un graphe de charge de la liaison internet :

A ne pas faire :

  • Ne jamais faire d'appui très long sur le bouton de reset après avoir débranché puis rebranché l'alimentation (reset hardware). Cela plante complètement le routeur. Un appui de plus de 5 secondes lors qu'il est déjà lancé suffit à le faire revenir sur une config par défaut.

Conclusion :

C'est une solution sympa, pour mettre en place une connexion partagée lors d'une séance de travail partagée dans une asso par exemple, ou lorsque la connexion personnelle ou professionnelle a plantée.. Il suffit de brancher son iphone sur le routeur, l'allumer, et hop un wifi de secours ! Et franchement cela fonctionne plutôt pas mal.

Je n'ai pas pu tester sur Android, mais paradoxalement il semblerait que cela soit plus compliqué que sur IOS car il faut un pilote noyau Linux pour le téléphone. Pour une fois qu'un truc de geek est plus simple sur IOS que sur Android..

Il vous faudra encore mettre en place la sécurité sur le Wifi, etc.. mais vous verrez lors de la découverte des fonctionnalités de DD-WRT qu'il permet de faire beaucoup de choses. C'est un vrai couteau suisse :

  • Portail captif
  • Client et Serveur OpenVPN
  • Client et Serveur PPTP
  • Serveur Radius
  • Serveur NAS (d'autant qu'il reste encore une Prise SATA/USB2 pour brancher un disque externe) et gestion des utilisateurs
  • Serveur NFS
  • Serveur DLNA (multimedia)
  • Serveur d'impression USB
  • Paramétrage fin du Firewall, du routage SPI (stateful packet inspection avec Iptables), de la QOS (Qualité de Service)
  • Support de l'Upnp (universal plug and play), d'une DMZ (zone démilitarisée pour mettre un serveur par exemple)
  • ... et bien d'autres trucs encore!