Mémo : Sertissage de câble RJ45

Récemment, j'ai eu besoin de plusieurs câbles Ethernet (RJ45) de longueurs non-standards (pour ne pas dire complètement exotiques). Disposant d'un gros rouleau de câble Ethernet de catégorie 5e et de tout le matériel nécessaire, j'ai donc fabriqué moi-même les câbles dont j'avais besoin. Comme je ne sertis pas de câbles Ethernet très souvent, je ne me rappelle jamais dans quel ordre il faut placer les fils dans les connecteurs. C'est la raison pour laquelle je rédige ce petit mémo, afin de pouvoir m'y référer la prochaine fois que j'aurais des câbles à sertir.

Notez que je ne détaillerais pas les étapes de sertissage des câbles ici. Si vous n'avez jamais serti de câble Ethernet auparavant, il existe de très bons articles sur le web, et il y a même des vidéos expliquant tout dans les moindres détails.

Câble droit (straight)

Sur un câble Ethernet droit, les deux extrémités sont parfaitement identiques :

Câble Ethernet RJ45 Droit (straight)
A B
  • Orange / Blanc
  • Orange
  • Vert / Blanc
  • Bleu
  • Bleu / Blanc
  • Vert
  • Marron / Blanc
  • Marron
  • Orange / Blanc
  • Orange
  • Vert / Blanc
  • Bleu
  • Bleu / Blanc
  • Vert
  • Marron / Blanc
  • Marron

Câble croisé (crossover)

Sur un câble Ethernet croisé, les paires oranges et vertes sont interverties sur l'un des connecteurs :

Câble Ethernet RJ45 croisé (crossover)
A B
  • Orange / Blanc
  • Orange
  • Vert / Blanc
  • Bleu
  • Bleu / Blanc
  • Vert
  • Marron / Blanc
  • Marron
  • Vert / Blanc
  • Vert
  • Orange / Blanc
  • Bleu
  • Bleu / Blanc
  • Orange
  • Marron / Blanc
  • Marron

Voilà, rien de bien compliqué, il suffit de s'en rappeler… ou pas :)

Flasher OpenWRT sur un routeur TP-Link TL-WR841ND

Après une première tentative infructueuse visant à remplacer le firmware de mon routeur TP-Link TL-WR841ND v8.4 par DD-WRT, j'ai décidé de retenter ma chance, mais cette fois-ci avec OpenWRT, qui pose beaucoup moins de problème sur ce modèle. Je vais donc décrire ci-dessous la marche à suivre pour flasher ce routeur avec OpenWRT.

Attention : Flasher le firmware d'un routeur n'est pas une opération sans risque. Il peut en résulter un briquage de l'appareil (NDRL : il peut devenir inutilisable). Même si la plupart du temps le briquage d'un routeur est réversible, cette opération n'est pas triviale et passe par un démontage de l'appareil et quelques points de soudure. De plus cette opération peut annuler la garantie de votre matériel. Vous voila prévenus !

Si la lecture du paragraphe précédent ne vous a pas effrayés, nous allons pouvoir y aller !

Pour commencer, téléchargez la version d'OpenWRT adaptée à votre matériel. Dans mon cas, je possède un TP-Link TL-WR841ND V8.x, j'ai donc téléchargé ce firmware.

Une fois en possession du bon firmware, connectez-vous à l'interface web du routeur. Par défaut, l'adresse devrait être http://192.168.0.1/, l'identifiant "admin" et le mot de passe "admin". Toutes ces informations sont inscrites sur une étiquette collée sous le routeur.

Interface d'administration originale du TL-WR841ND

En suite, rendez-vous sur l'interface de mise à jour du firmware ("System Tools → Firmware Upgrade"), sélectionnez le firmware que vous avez téléchargé, puis cliquez sur le bouton "Upgrade". Le routeur vous demande alors si vous êtes vraiment sûr de vouloir continuer : croisez les doigts et confirmez.

Une barre de progression va alors s'afficher, n'éteignez surtout pas le routeur et attendez que celui-ci redémarre tout seul (vous verrez alors l'ensemble des LED s'allumer façon sapin de Noël).

Une fois le routeur redémarré, vous devriez pouvoir accéder à son interface d'administration à l'adresse http://192.168.1.1/. L'identifiant de connexion est "root" et il n'y a pas de mot de passe. Notez bien que ce n'est plus la même adresse que tout à l'heure (pensez donc à reparamétrer l'interface réseau de votre ordinateur si vous lui aviez configuré une adresse IP statique).

Interface d'administration d'OpenWRT

Dans le cas où l'opération ne se serait pas bien déroulée rendant le routeur inaccessible, sachez qu'il est possible de le débriquer moyennant quelques efforts :

Dans mon cas, l'opération s'est déroulée sans aucun souci, et mon TL-WR841ND fonctionne maintenant parfaitement avec OpenWRT.

Débriquer un routeur TP-Link TL-WR841ND v8.4

Récemment j'ai fait l'acquisition d'un routeur TP-Link TL-WR841ND sur lequel j'ai tenté de faire tourner DD-WRT en lieu et place du firmware d'origine. Après avoir flashé avec succès DD-WRT via l'interface web du routeur, je reboot, et là, c'est le drame : seul la LED « Power » s'allume, et plus moyen d'accéder au routeur, que ce soit par l'interface web ou telnet. Après avoir essayé tous les gestes de premier secours (reset, 30/30/30, etc.), j'ai dû me faire une raison : j'avais réussi à briquer mon routeur… Zut, pas de bol.

Heureusement, tout n'est pas perdu : la plupart du temps, les fabricants laissent des vestiges des interfaces séries qui servaient au débogage durant la phase de conception du matériel. J'ai donc entrepris de démonter mon TL-WR841ND, et j'ai effectivement trouvé ce que je cherchais. Je vais donc décrire dans la suite de cet article la procédure à suivre pour restaurer le firmware d'origine du routeur en utilisant cette connexion série.

Port série du WR841ND v8.4

Obtenir un accès au routeur via son port série

Il faut, pour commencer, ouvrir le routeur. Rien de bien compliqué : il suffit de dévisser les deux vis planquées sous les patins du fond, puis de tirer un peu sur le boîtier pour que la bête s'ouvre.

Ensuite il va falloir connecter le port série du routeur à notre PC, pour cela il faut un adaptateur convertisseur TTL/USB. On peut trouver ça pour quelques euros sur eBay. Personnellement j'ai acheté celui-ci chez Amazon, car il pouvait m'être livré très rapidement (ah l'impatience…).

Côté branchements, c'est relativement simple :

  • on ne connecte pas VCC
  • GND routeur → GND adaptateur
  • RX routeur → TX adaptateur
  • TX routeur → RX adaptateur
Schéma de connexion du câble TTL/USB

Une fois les branchements terminés, nous allons enfin pouvoir parler avec le routeur. Nous aurons cette fois besoin d'un logiciel nous permettant de communiquer via la liaison série. Si vous êtes sous Windows, vous pouvez utiliser PuTTY (section "Connection → Serial"), si vous êtes sous Linux, vous pouvez utiliser PuTTY, minicom ou GtkTerm. J'ai personnellement choisi cette dernière solution.

Une fois le logiciel de votre choix installé, branchez l'adaptateur convertisseur TTL/USB au port USB de votre PC, lancez le logiciel que vous venez d'installer et sélectionnez le bon port ("/dev/ttyUSB0" dans mon cas), définissez le débit à 115200 Baud puis lancez la connexion. Enfin, démarrez le routeur.

Si vous voyez plein de lignes défiler à l'écran, bravo, vous avez réussi ! Dans le cas contraire, essayez d'intervertir TX et RX, ils sont peut-être branchés à l'envers…

La dernière étape pour pouvoir enfin communiquer avec notre routeur est d'obtenir un invite de commande (prompt). Pour ce faire, lorsque la ligne suivante apparaît à l'écran :

Autobooting in 1 seconds

tapez très rapidement les trois lettres suivantes :

tpl

Si vous avez été assez rapide, vous devriez avoir obtenu l'invite de commande suivante :

wasp>

Si ce n'est pas le cas, pas de panique : il suffit de redémarrer le routeur pour retenter votre chance.

GtkTerminal connecté au routeur

Préparer le firmware

Maintenant que nous sommes capables de communiquer avec le routeur, nous allons préparer le firmware afin que celui-ci puisse être flashé sur le TL-WR841ND.

Pour commencer, téléchargez la dernière version du firmware sur le site du fabricant (au moment où j'écris ces lignes, la dernière version est la "TL-WR841ND_V8_130506") :

Le firmware, tel qu'il est fourni par le fabricant est composé de deux parties :

  • la première contient le code de démarrage du routeur,
  • la seconde contient le système d'exploitation du routeur.

Dans notre cas, nous avons besoin uniquement de la seconde partie, nous allons donc devoir amputer le firmware de sa première partie avant de le flasher. Pour se faire, j'ai codé rapidement un petit script Python qui va s'occuper de l'opération :

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python

BOOT_BLOCK_SIZE = 0x20200

import os
import sys

file_in = open(sys.argv[1], "rb")
file_out = open("%s.bootremoved" % sys.argv[1], "wb")
file_in.seek(BOOT_BLOCK_SIZE)
file_out.write(file_in.read())
file_in.close()
file_out.close()

Vous pouvez le télécharger ici : wr841nv8-rmboot.py

Pour l'utiliser c'est très facile :

python  wr841nv8-rmboot.py  chemin/vers/votre/firmware.bin

Si tout s'est bien déroulé, vous devriez avoir obtenu un fichier se terminant par ".bootremoved" à côté de votre firmware original, c'est celui-ci que nous allons utiliser dans la suite de cet article.

Configurer son PC pour permettre le transfert du firmware

Pour être en mesure de transférer le firwmare, nous avons besoins d'installer et configurer un serveur tftp sur notre PC.

Une fois votre serveur tftp fonctionnel, copiez le firmware que vous avez obtenu à l'étape précédente dans le dossier racine du serveur tftp (dans mon cas, le dossier est "/var/lib/tftpboot/"). Vous pouvez également renommer le fichier du firmware pour simplifier les commandes de la section suivante (je l'ai personnellement renommé, sans aucune originalité, en "firmware.bin").

Dernière étape de configuration du PC : le réseau. Connectez directement votre machine à l'un des ports LAN (jaune) du routeur à l'aide d'un câble ethernet, puis configurez une IP statique sur votre interface ethernet. Je vous recommande la configuration suivante :

          Addresse IP : 192.168.0.2
Masque de sous-réseau : 255.255.255.0

Voilà, nous sommes enfin prêts à flasher le firmware sur le routeur !

Flasher le firmware via la liaison série

Pour cette ultime étape, reprenez le terminal série que vous aviez installé durant la première étape, et entrez-y les commandes qui suivent.

Pour commencer, on définit l'adresse IP du routeur :

wasp> setenv ipaddr 192.168.0.1

Puis celle de la machine qui fait tourner le serveur tftp :

wasp> setenv serverip 192.168.0.2

On télécharge le firmware (que nous avions renommé en "firmware.bin") dans la RAM du routeur (à l'adresse 0x80000000) :

wasp> tftpboot 0x80000000 firmware.bin

On efface la partie de la mémoire flash que l'on va réécrire (0x3c0000 octets à partir de l'adresse 0x9f020000) :

wasp> erase 0x9f020000 +0x3c0000

Enfin, on copie le firmware dans la mémoire flash :

wasp> cp.b 0x80000000 0x9f020000 0x3c0000

Pour finir, on boot le routeur :

wasp> bootm 0x9f020000

À présent, rendez-vous à l'adresse http://192.168.0.1/ à l'aide de votre navigateur web favori. Si vous atterrissez sur une interface d'administration vert-moche, félicitation, vous avez débriqué votre routeur !

La fin, enfin !

Débranchez la liaison série et refermez le boîtier. Le routeur est maintenant prêt à être briqué à nouveau reprendre du service.