« Routeurs Wi-Fi/Tutoriel TP-Link Archer C50 » : différence entre les versions
(Tuto initial) |
(Fix typo in code) |
||
(13 versions intermédiaires par 4 utilisateurs non affichées) | |||
Ligne 5 : | Ligne 5 : | ||
=== Avertissement technique === | === Avertissement technique === | ||
'''Modèle de routeur.''' Le système que vous vous apprêtez à installer n'est pas compatible avec tous les routeurs, loin de là ! Le fichier fourni par ce tutoriel est uniquement compatible avec | '''Modèle de routeur.''' Le système que vous vous apprêtez à installer n'est pas compatible avec tous les routeurs, loin de là ! Le fichier fourni par ce tutoriel est uniquement compatible avec les modèles de routeur '''TP-Link Archer C50''', '''TP-Link Archer AC1200''' ou '''TP-Link Archer A5''', versions 4 à 6 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . ''D'autres versions peuvent être compatibles mais n'ont pas été testées.'' | ||
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d'openwrt {{c|http://openwrt.org/}} qui contient entre autres la liste des modèles compatibles. IL faut prendre des modèles avec suffisament de RAM pour que cela fonctionne et compatible avec des versions récentes d'openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0). | Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d'openwrt {{c|http://openwrt.org/}} qui contient entre autres la liste des modèles compatibles. IL faut prendre des modèles avec suffisament de RAM pour que cela fonctionne et compatible avec des versions récentes d'openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0). | ||
'''Méthode de connexion.''' Pour configurer le routeur vous allez devoir vous y connecter. Pour cela brancher un câble ethernet à votre PC et sur un port orange du routeur (pensez aussi à brancher préalablement le routeur). | '''Méthode de connexion.''' Pour configurer le routeur vous allez devoir vous y connecter. Pour cela brancher un câble ethernet à votre PC et sur un port orange du routeur (pensez aussi à brancher préalablement le routeur). | ||
'''État d'esprit.''' La procédure est relativement longue mais elle n'est pas très compliquée. Si c'est votre première installation, ne stressez pas. Si vous fruitez à un moment, il y a de grandes chances que ce soit récupérable. Lisez ce guide entièrement avant de commencer et ne vous précipitez pas. | |||
=== Avertissement juridique === | === Avertissement juridique === | ||
Ligne 20 : | Ligne 22 : | ||
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l'École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d'installer un système auxiliaire (OpenWRT) sur les routeurs, remplaçant le système d'origine. Grâce à ceci on peut obtenir un routeur qui s'authentifie lui-même sur le réseau de l'École, et fournit un réseau wifi sur lequel les réseaux interne et externe sont accessibles sans problèmes de réglages de vos téléphones et ordinateurs. | Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l'École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d'installer un système auxiliaire (OpenWRT) sur les routeurs, remplaçant le système d'origine. Grâce à ceci on peut obtenir un routeur qui s'authentifie lui-même sur le réseau de l'École, et fournit un réseau wifi sur lequel les réseaux interne et externe sont accessibles sans problèmes de réglages de vos téléphones et ordinateurs. | ||
== Le hic == | |||
Il existe depuis l'interface GUI de TP-Link un endroit où l'on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d'OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l'on ne peut pas directement fournir l'image d'OpenWRT depuis cette interface car '''cela va très probablement briquer le routeur'''. | |||
Il faut donc procéder autrement, et l'on va donc utiliser le protocole TFTP [https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol] pour pouvoir fournir notre image au routeur. | |||
Cependant, si le Wiki de votre modèle indique que vous pouvez le faire, cela vous permet a priori de passer directement à la partie [[#Hello, OpenWRT world]]. | |||
Dans tous les cas, les liens suivants pourront vous être utiles en complément : | |||
* Page officielle pour le modèle Archer C50 [https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions] | |||
* Autre tutoriel qui a servi a l'élaboration de celui ci. Certains phases sont identiques et il y a d'autres compléments d'informations [[Routeurs Wi-Fi/Tutoriel]] | |||
== Préparation == | == Préparation == | ||
Pour pouvoir commencer, il va falloir créer votre | Pour pouvoir commencer, il va falloir créer votre image à flasher sur le système. Les instructions qui suivent sont calquées sur https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions. | ||
Récupérez l'image TP- | |||
* 1ère possibilité: Utiliser un <code>tp_recovery.bin</code> tout fait disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici]. (Utilise la version OS et pense à le renommer en <code>tp_recovery.bin</code> | |||
* 2ème possibilité: Le faire soit même, comme ceci: | |||
Récupérez l'image du firware TP-Link depuis le site officiel qui devra être nommé <code>tpl.bin</code>, et celle d'OpenWRT (https://firmware-selector.openwrt.org/) nommée <code>owrt.bin</code> et placez les dans un répertoire commun. | |||
Il est probable que le firmware officiel ou OpenWRT ne soit pas disponible pour votre version du routeur. En pratique prenez la dernière version disponible. À noter également qu'il n'existe actuellement pas de firmware OpenWRT pour le Archer A5, il faut prendre celui du Archer C50. | |||
Il est également possible que la version d'OpenWRT disponible ne soit pas compatible avec la version du routeur (par exemple, OpenWRT pour le Archer C50 v5 ne fonctionne pas pour la v6). Dans ce cas, s'il n'existe pas d'image pré-compilée pour le routeur, il faut [[Compiler OpenWRT]]. | |||
Dans un terminal ouvert sur le répertoire, exécutez les commandes suivantes : | |||
dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1 | dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1 | ||
Ligne 30 : | Ligne 54 : | ||
dd if=tmp.bin of=boot.bin bs=512 skip=1 | dd if=tmp.bin of=boot.bin bs=512 skip=1 | ||
cat boot.bin >> tp_recovery.bin | cat boot.bin >> tp_recovery.bin | ||
cat owrt.bin >> tp_recovery.bin | |||
Ce sera l'image tp_recovery.bin qui vient d'être créée qui nous intéressera par la suite. | Ce sera l'image <code>tp_recovery.bin</code> qui vient d'être créée qui nous intéressera par la suite. L'image doit peser environ 6 Mo. | ||
* Si jamais à un moment ou un autre, le routeur est '''brické''' (cassé) tu peux le débloquer en utilisant le <code>tp_recovery.bin</code> disponible [https://stratus.binets.fr/s/q8joypmLcN9jbfD ici] | |||
== Procédure TFTP == | == Procédure TFTP == | ||
Ligne 39 : | Ligne 66 : | ||
Pour la suite, le lien suivant peut être d'une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4 | Pour la suite, le lien suivant peut être d'une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4 | ||
Sur Windows, installer ce logiciel (https://pjo2.github.io/tftpd64/) avec les options par défaut. Si faisable, prendre un switch et connecter votre PC au switch, et le routeur ('''éteint''') au switch via un de ses ports orange (le 1 par exemple). Depuis l'interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d'abord que vous avez désactivé 802.1x (et ne pas oublier de le remettre après pour se connecter à Eduroam !) et utilisez une adresse IP statique, qui sera celle indiquée sur le Wiki d'OpenWRT comme étant ''Bootloader tftp server IPv4 address'' (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer ''Current Directory'' pour être le répertoire dans lequel <code>tp_recovery.bin</code> est situé. Cliquez sur ''Show dir'' pour vérifier qu'il fait bien partie de la liste des fichiers présents. Ouvrez l'onglet de Log. C'est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d'appuyer sur un bouton supplémentaire. | Sur Windows, installer ce logiciel (https://pjo2.github.io/tftpd64/) avec les options par défaut. Si faisable, prendre un switch et connecter votre PC au switch, et le routeur ('''éteint''') au switch via un de ses ports orange (le 1 par exemple). Depuis l'interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d'abord que vous avez désactivé 802.1x (et ne pas oublier de le remettre après pour se connecter à Eduroam !) et utilisez une adresse IP statique, qui sera celle indiquée sur le Wiki d'OpenWRT comme étant ''Bootloader tftp server IPv4 address'' (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer ''Current Directory'' pour être le répertoire dans lequel <code>tp_recovery.bin</code> est situé. Cliquez sur ''Show dir'' pour vérifier qu'il fait bien partie de la liste des fichiers présents. Ouvrez l'onglet de ''Log''. C'est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d'appuyer sur un bouton supplémentaire. | ||
Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu'à ce que la LED WPS soit allumée. | Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu'à ce que la LED WPS soit allumée. | ||
Le | Le routeur devrait alors se connecter à votre ordinateur et télécharger le fichier. Le transfert devrait durer quelques secondes (posez-vous des questions au bout de 10min). Vous pouvez vérifier la progression sur l'onglet ''Log''. | ||
Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante : | Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante : | ||
Ligne 51 : | Ligne 78 : | ||
Qui devrait retourner sans erreur. | Qui devrait retourner sans erreur. | ||
Après le transfert, attendez encore quelques minutes : le routeur installe le nouveau firmware. Il ne faut surtout pas éteindre le routeur à ce moment, au risque de le briquer. À la fin de l'opération, il devrait se redémarrer. | |||
Attention: si les LEDs clignotent périodiquement après le redémarrage, cela signifie que l'installation a échoué et qu'il n'arrive pas à booter. Assurez-vous d'avoir le bon fichier <code>tp_recovery.bin</code> puis recommencez le transfert. | |||
== Hello, OpenWRT world == | == Hello, OpenWRT world == | ||
Ligne 58 : | Ligne 89 : | ||
==== Routeur connecté à Internet ==== | ==== Routeur connecté à Internet ==== | ||
Heureusement tout n'en pas encore terminé. Une fois le routeur réinitialisé et redemarré, connectez-y vous par | Heureusement tout n'en pas encore terminé. Une fois le routeur réinitialisé et redemarré, connectez-y vous par câble Ethernet (ou par le Wifi ouvert OpenWRT qui apparait et est une bonne indication que le routeur est effectivement réinitialisé). | ||
Le routeur va avoir besoin d'Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l'adresse 192.168.1.1). | Le routeur va avoir besoin d'Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l'adresse 192.168.1.1). | ||
Connectez-vous alors à votre réseau dans allant dans Network, Scan et sélectionnant le bon Wifi. C'est essentiel d'avoir une bonne connexion, et cela peut être à l'origine de nombreuses erreurs par la suite (de paquets non trouvés par exemple). Vérifiez donc la connexion avec un ping, ou depuis l'onglet Diagnostics de la GUI. | Connectez-vous alors à votre réseau dans allant dans ''Network'', Scan et sélectionnant le bon Wifi. C'est essentiel d'avoir une bonne connexion, et cela peut être à l'origine de nombreuses erreurs par la suite (de paquets non trouvés par exemple). Vérifiez donc la connexion avec un ping, ou depuis l'onglet Diagnostics de la GUI. | ||
==== Paquet wpa-supplicant installé ==== | ==== Paquet wpa-supplicant installé ==== | ||
Ligne 69 : | Ligne 100 : | ||
ssh root@192.168.1.1 | ssh root@192.168.1.1 | ||
Sur certains modèles, il est nécessaire d'utiliser la commande <code>ssh root@192.168.1.1 -oHostKeyAlgorithms=+ssh-rsa</code>. | |||
Dans un premier temps, mettez à jour les packets : | |||
opkg update | |||
Vous pouvez aussi le faire depuis le web GUI (disponible sur 192.168.1.1 mdp root) System > Software et Run update. | |||
Installer également nano si vous le souhaitez (vim est installé par défaut) : | |||
opkg install nano | opkg install nano | ||
On va maintenant installer le paquet qui va s'occuper de nous authentifier au réseau. Il est probable qu'un autre paquet (wpad-basic ou wpad-basic-wolfssl selon les modèles) est préinstallé : il va falloir le désinstaller. | |||
opkg remove wpad-basic | |||
opkg install wpa-supplicant-openssl | |||
Points d'attention: | |||
* c'est '''supplicant''' et pas '''applicant''' | |||
* vous pouvez déterminer quelle saveur de wpad-basic est installé avec la commande <code>opkg list-installed</code> | |||
* depuis l'été 2023, il faut installer wpa-supplicant-openssl et pas wpa-supplicant | |||
* après avoir désinstallé wpad-basic, vous ne pourrez plus vous reconnecter à votre hotspot si vous êtes déconnecté | |||
* si vous avez été déconnecté du hotspot avant de finir la configuration et que vous n'avez plus de connexion à Internet, vous pouvez réinstaller le système depuis le web GUI pour reprendre à la section "Hello, OpenWRT world". | |||
==== Si l'installation échoue pour cause d'espace insufisant ==== | |||
Si l'installation de wpa-supplicant-openssl échoue par faute de place, il est possible que votre espace de stockage soit extrêmement faible, de l'ordre de 1 ou 2 Mo. | |||
Vous pouvez vérifier l'espace de stockage avec la commande : | |||
df -h | |||
Il faut ensuite regarder le volume overlayfs. | |||
En octobre 2023, une installation complète a pu être faite sur un routeur avec 1.75 Mo d'espace sur overlayfs, modulo quelques changements : | |||
* réinitialiser le routeur depuis le web GUI pour reprendre à la section "Hello, OpenWRT world". (l'installation avortée de wpa-supplicant-openssl laisse de lourds artéfacts qui ne sont pas nettoyés par opkg) ; | |||
* utiliser le paquet wpa-supplicant-wolfssl au lieu de wpa-supplicant-openssl. En effet ce dernier est moins lourd : environ 1 Mo dépendances comprises contre plus de 2 Mo pour le paquet avec openssl ; | |||
* utiliser le paquet hostapd-mini au lieu de hostapd lors de la mise en place du Wifi. | |||
À noter que le volume tmpfs est un volume virtuel qui vit sur de la RAM. Cet espace est donc vidé à chaque redémarrage et il n'est donc pas possible d'installer les paquets à cet endroit. | |||
=== Configuration d'Ethernet === | === Configuration d'Ethernet === | ||
Ligne 84 : | Ligne 148 : | ||
ctrl_interface=/var/run/wpa_supplicant | ctrl_interface=/var/run/wpa_supplicant | ||
ctrl_interface_group= | ctrl_interface_group=0 | ||
eapol_version=2 | |||
ap_scan=0 | ap_scan=0 | ||
network={ | network={ | ||
Ligne 90 : | Ligne 155 : | ||
eap=TTLS | eap=TTLS | ||
identity="prénom.nom@polytechnique.fr" | identity="prénom.nom@polytechnique.fr" | ||
anonymous_identity="anonymous@polytechnique.fr" | anonymous_identity="anonymous@polytechnique.fr" | ||
password=" | password="monpassword" | ||
phase1="auth=TTLS" | phase1="auth=TTLS" | ||
phase2="auth=PAP" | phase2="auth=PAP password=monpassword" | ||
eapol_flags=0 | |||
} | } | ||
En | En remplaçant les occurrences de <code>prénom.nom</code> et <code>monpassword</code> (attention il apparaît deux fois) en conséquence. | ||
On va maintenant tenter de se connecter. | On va maintenant tenter de se connecter. | ||
Ligne 104 : | Ligne 169 : | ||
Si cela échoue, | Si cela échoue, | ||
* Regardez avec ifconfig quel port il vaut mieux utiliser, c'est peut-être eth1 chez vous. | * Regardez avec <code>ifconfig</code> quel port il vaut mieux utiliser, c'est peut-être eth1 chez vous. | ||
* Vérifiez vos identifiants de connexion en cas d'erreur de certificat | * Vérifiez vos identifiants de connexion en cas d'erreur de certificat | ||
* Vérifiez que la date du système n'est pas aberrante (une différence de quelques heures est OK) | |||
* Vérifiez que vous avez bien installé <code>wpa-supplicant-openssl</code> et pas <code>wpa-supplicant</code> | |||
Si la commande précédente donne CTRL-EVENT-CONNECTED, c'est bon vous pouvez continuer. | Si la commande précédente donne CTRL-EVENT-CONNECTED, c'est bon vous pouvez continuer. | ||
=== Configuration du démarrage automatique === | |||
On va maintenant changer un autre fichier pour configurer le démarrage auto : | On va maintenant changer un autre fichier pour configurer le démarrage auto : | ||
nano /etc/init.d/wpa | nano /etc/init.d/wpa | ||
Ligne 119 : | Ligne 187 : | ||
# Copyright (C) 2007 OpenWrt.org | # Copyright (C) 2007 OpenWrt.org | ||
START=99 | START=99 | ||
start() { echo start wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf & } | start() { | ||
echo start | |||
wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf & | |||
} | |||
Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l'étape précédente (en particulier le eth0.2) | Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l'étape précédente (en particulier le eth0.2) | ||
Rendre si besoin le fichier executable avec chmod +x /etc/init.d/wpa | Rendre si besoin le fichier executable avec <code>chmod +x /etc/init.d/wpa</code> | ||
Activation du démarrage auto : | Activation du démarrage auto : | ||
Ligne 141 : | Ligne 212 : | ||
Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe. | Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe. | ||
Depuis | Depuis un terminal en ssh, doit être : | ||
opkg update | |||
opkg install hostapd | |||
Alternativement, vous pouvez utiliser le web GUI: | |||
* Aller dans System > Software | * Aller dans System > Software | ||
* Run Update | * Run Update | ||
Ligne 148 : | Ligne 224 : | ||
* Dismiss | * Dismiss | ||
=== Config wifi === | |||
On va maintenant créer une nouvelle configuration Wifi : | |||
uci set wireless.@wifi-device[0].disabled=0 | |||
uci set wireless.@wifi-iface[0].ssid='NOM_DU_WIFI' | |||
uci set wireless.@wifi-iface[0].encryption='psk2' | |||
uci set wireless.@wifi-iface[0].key='MOT-DE-PASSE' | |||
uci set wireless.@wifi-device[0].country='FR' | |||
uci commit wireless; wifi | |||
En changeant <code>NOM_DU_WIFI</code> et <code>MOT-DE-PASSE</code> en conséquence. | |||
Redémarrer : | |||
reboot | |||
Vous devriez maintenant avoir un réseau Wifi fonctionnel, émis par votre routeur, auquel vous pouvez vous connecter ! | |||
=== Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED === | === Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED === | ||
Lancer <code>wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B</code>, et depuis l'interface graphique, restart eth0. | Lancer <code>wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B</code>, et depuis l'interface graphique, restart eth0. | ||
[[Catégorie:Tutoriels]] | |||
[[Catégorie:Wifi]] |
Version actuelle datée du 15 janvier 2024 à 23:33
Avertissements
Avertissement technique
Modèle de routeur. Le système que vous vous apprêtez à installer n'est pas compatible avec tous les routeurs, loin de là ! Le fichier fourni par ce tutoriel est uniquement compatible avec les modèles de routeur TP-Link Archer C50, TP-Link Archer AC1200 ou TP-Link Archer A5, versions 4 à 6 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . D'autres versions peuvent être compatibles mais n'ont pas été testées.
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d'openwrt http://openwrt.org/
qui contient entre autres la liste des modèles compatibles. IL faut prendre des modèles avec suffisament de RAM pour que cela fonctionne et compatible avec des versions récentes d'openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0).
Méthode de connexion. Pour configurer le routeur vous allez devoir vous y connecter. Pour cela brancher un câble ethernet à votre PC et sur un port orange du routeur (pensez aussi à brancher préalablement le routeur).
État d'esprit. La procédure est relativement longue mais elle n'est pas très compliquée. Si c'est votre première installation, ne stressez pas. Si vous fruitez à un moment, il y a de grandes chances que ce soit récupérable. Lisez ce guide entièrement avant de commencer et ne vous précipitez pas.
Avertissement juridique
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l'École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec vos identifiants.
En particulier, puisque vous avez parfaitement le droit de partager votre connexion Wi-Fi avec qui bon vous semble, souvenez-vous que toute personne connectée à votre Wi-Fi est sous votre responsabilité.
Principe
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l'École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d'installer un système auxiliaire (OpenWRT) sur les routeurs, remplaçant le système d'origine. Grâce à ceci on peut obtenir un routeur qui s'authentifie lui-même sur le réseau de l'École, et fournit un réseau wifi sur lequel les réseaux interne et externe sont accessibles sans problèmes de réglages de vos téléphones et ordinateurs.
Le hic
Il existe depuis l'interface GUI de TP-Link un endroit où l'on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d'OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l'on ne peut pas directement fournir l'image d'OpenWRT depuis cette interface car cela va très probablement briquer le routeur.
Il faut donc procéder autrement, et l'on va donc utiliser le protocole TFTP [1] pour pouvoir fournir notre image au routeur.
Cependant, si le Wiki de votre modèle indique que vous pouvez le faire, cela vous permet a priori de passer directement à la partie #Hello, OpenWRT world.
Dans tous les cas, les liens suivants pourront vous être utiles en complément :
- Page officielle pour le modèle Archer C50 [2]
- Autre tutoriel qui a servi a l'élaboration de celui ci. Certains phases sont identiques et il y a d'autres compléments d'informations Routeurs Wi-Fi/Tutoriel
Préparation
Pour pouvoir commencer, il va falloir créer votre image à flasher sur le système. Les instructions qui suivent sont calquées sur https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions.
- 1ère possibilité: Utiliser un
tp_recovery.bin
tout fait disponible ici. (Utilise la version OS et pense à le renommer entp_recovery.bin
- 2ème possibilité: Le faire soit même, comme ceci:
Récupérez l'image du firware TP-Link depuis le site officiel qui devra être nommé tpl.bin
, et celle d'OpenWRT (https://firmware-selector.openwrt.org/) nommée owrt.bin
et placez les dans un répertoire commun.
Il est probable que le firmware officiel ou OpenWRT ne soit pas disponible pour votre version du routeur. En pratique prenez la dernière version disponible. À noter également qu'il n'existe actuellement pas de firmware OpenWRT pour le Archer A5, il faut prendre celui du Archer C50.
Il est également possible que la version d'OpenWRT disponible ne soit pas compatible avec la version du routeur (par exemple, OpenWRT pour le Archer C50 v5 ne fonctionne pas pour la v6). Dans ce cas, s'il n'existe pas d'image pré-compilée pour le routeur, il faut Compiler OpenWRT.
Dans un terminal ouvert sur le répertoire, exécutez les commandes suivantes :
dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1 dd if=tpl.bin of=tmp.bin bs=131584 count=1 dd if=tmp.bin of=boot.bin bs=512 skip=1 cat boot.bin >> tp_recovery.bin cat owrt.bin >> tp_recovery.bin
Ce sera l'image tp_recovery.bin
qui vient d'être créée qui nous intéressera par la suite. L'image doit peser environ 6 Mo.
- Si jamais à un moment ou un autre, le routeur est brické (cassé) tu peux le débloquer en utilisant le
tp_recovery.bin
disponible ici
Procédure TFTP
Comme indiqué sur le site OpenWRT, il faut maintenant déterminer si le routeur est client ou serveur TFTP. Dans le cas du C50, en regardant sur la page wiki, on voit des informations concernant Bootloader tftp server IPv4 address ce qui nous indique (contrairement à ce qu'on aurait pu penser) que le routeur sera client et le PC sera serveur.
Pour la suite, le lien suivant peut être d'une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4
Sur Windows, installer ce logiciel (https://pjo2.github.io/tftpd64/) avec les options par défaut. Si faisable, prendre un switch et connecter votre PC au switch, et le routeur (éteint) au switch via un de ses ports orange (le 1 par exemple). Depuis l'interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d'abord que vous avez désactivé 802.1x (et ne pas oublier de le remettre après pour se connecter à Eduroam !) et utilisez une adresse IP statique, qui sera celle indiquée sur le Wiki d'OpenWRT comme étant Bootloader tftp server IPv4 address (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer Current Directory pour être le répertoire dans lequel tp_recovery.bin
est situé. Cliquez sur Show dir pour vérifier qu'il fait bien partie de la liste des fichiers présents. Ouvrez l'onglet de Log. C'est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d'appuyer sur un bouton supplémentaire.
Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu'à ce que la LED WPS soit allumée.
Le routeur devrait alors se connecter à votre ordinateur et télécharger le fichier. Le transfert devrait durer quelques secondes (posez-vous des questions au bout de 10min). Vous pouvez vérifier la progression sur l'onglet Log.
Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante :
atftp 192.168.0.66 get tp_recovery.bin
Qui devrait retourner sans erreur.
Après le transfert, attendez encore quelques minutes : le routeur installe le nouveau firmware. Il ne faut surtout pas éteindre le routeur à ce moment, au risque de le briquer. À la fin de l'opération, il devrait se redémarrer.
Attention: si les LEDs clignotent périodiquement après le redémarrage, cela signifie que l'installation a échoué et qu'il n'arrive pas à booter. Assurez-vous d'avoir le bon fichier tp_recovery.bin
puis recommencez le transfert.
Hello, OpenWRT world
Préalables
Routeur connecté à Internet
Heureusement tout n'en pas encore terminé. Une fois le routeur réinitialisé et redemarré, connectez-y vous par câble Ethernet (ou par le Wifi ouvert OpenWRT qui apparait et est une bonne indication que le routeur est effectivement réinitialisé).
Le routeur va avoir besoin d'Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l'adresse 192.168.1.1). Connectez-vous alors à votre réseau dans allant dans Network, Scan et sélectionnant le bon Wifi. C'est essentiel d'avoir une bonne connexion, et cela peut être à l'origine de nombreuses erreurs par la suite (de paquets non trouvés par exemple). Vérifiez donc la connexion avec un ping, ou depuis l'onglet Diagnostics de la GUI.
Paquet wpa-supplicant installé
Connectez-vous par SSH au routeur avec :
ssh root@192.168.1.1
Sur certains modèles, il est nécessaire d'utiliser la commande ssh root@192.168.1.1 -oHostKeyAlgorithms=+ssh-rsa
.
Dans un premier temps, mettez à jour les packets :
opkg update
Vous pouvez aussi le faire depuis le web GUI (disponible sur 192.168.1.1 mdp root) System > Software et Run update.
Installer également nano si vous le souhaitez (vim est installé par défaut) :
opkg install nano
On va maintenant installer le paquet qui va s'occuper de nous authentifier au réseau. Il est probable qu'un autre paquet (wpad-basic ou wpad-basic-wolfssl selon les modèles) est préinstallé : il va falloir le désinstaller.
opkg remove wpad-basic opkg install wpa-supplicant-openssl
Points d'attention:
- c'est supplicant et pas applicant
- vous pouvez déterminer quelle saveur de wpad-basic est installé avec la commande
opkg list-installed
- depuis l'été 2023, il faut installer wpa-supplicant-openssl et pas wpa-supplicant
- après avoir désinstallé wpad-basic, vous ne pourrez plus vous reconnecter à votre hotspot si vous êtes déconnecté
- si vous avez été déconnecté du hotspot avant de finir la configuration et que vous n'avez plus de connexion à Internet, vous pouvez réinstaller le système depuis le web GUI pour reprendre à la section "Hello, OpenWRT world".
Si l'installation échoue pour cause d'espace insufisant
Si l'installation de wpa-supplicant-openssl échoue par faute de place, il est possible que votre espace de stockage soit extrêmement faible, de l'ordre de 1 ou 2 Mo.
Vous pouvez vérifier l'espace de stockage avec la commande :
df -h
Il faut ensuite regarder le volume overlayfs. En octobre 2023, une installation complète a pu être faite sur un routeur avec 1.75 Mo d'espace sur overlayfs, modulo quelques changements :
- réinitialiser le routeur depuis le web GUI pour reprendre à la section "Hello, OpenWRT world". (l'installation avortée de wpa-supplicant-openssl laisse de lourds artéfacts qui ne sont pas nettoyés par opkg) ;
- utiliser le paquet wpa-supplicant-wolfssl au lieu de wpa-supplicant-openssl. En effet ce dernier est moins lourd : environ 1 Mo dépendances comprises contre plus de 2 Mo pour le paquet avec openssl ;
- utiliser le paquet hostapd-mini au lieu de hostapd lors de la mise en place du Wifi.
À noter que le volume tmpfs est un volume virtuel qui vit sur de la RAM. Cet espace est donc vidé à chaque redémarrage et il n'est donc pas possible d'installer les paquets à cet endroit.
Configuration d'Ethernet
Ensuite configurez votre connexion en éditant :
nano /etc/config/wpa.conf
Et en insérant le texte suivant :
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=2 ap_scan=0 network={ key_mgmt=IEEE8021X eap=TTLS identity="prénom.nom@polytechnique.fr" anonymous_identity="anonymous@polytechnique.fr" password="monpassword" phase1="auth=TTLS" phase2="auth=PAP password=monpassword" eapol_flags=0 }
En remplaçant les occurrences de prénom.nom
et monpassword
(attention il apparaît deux fois) en conséquence.
On va maintenant tenter de se connecter.
wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf
Si cela échoue,
- Regardez avec
ifconfig
quel port il vaut mieux utiliser, c'est peut-être eth1 chez vous. - Vérifiez vos identifiants de connexion en cas d'erreur de certificat
- Vérifiez que la date du système n'est pas aberrante (une différence de quelques heures est OK)
- Vérifiez que vous avez bien installé
wpa-supplicant-openssl
et paswpa-supplicant
Si la commande précédente donne CTRL-EVENT-CONNECTED, c'est bon vous pouvez continuer.
Configuration du démarrage automatique
On va maintenant changer un autre fichier pour configurer le démarrage auto :
nano /etc/init.d/wpa
avec le contenu :
#!/bin/sh /etc/rc.common # Copyright (C) 2007 OpenWrt.org START=99 start() { echo start wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf & }
Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l'étape précédente (en particulier le eth0.2)
Rendre si besoin le fichier executable avec chmod +x /etc/init.d/wpa
Activation du démarrage auto :
/etc/init.d/wpa start
Si retourne sans erreur : OK
Puis:
/etc/init.d/wpa enable
En faisant Ctrl+C si besoin.
Paquet Hostapd
Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe.
Depuis un terminal en ssh, doit être :
opkg update opkg install hostapd
Alternativement, vous pouvez utiliser le web GUI:
- Aller dans System > Software
- Run Update
- Filter: rechercher hostapd
- Install
- Dismiss
Config wifi
On va maintenant créer une nouvelle configuration Wifi :
uci set wireless.@wifi-device[0].disabled=0 uci set wireless.@wifi-iface[0].ssid='NOM_DU_WIFI' uci set wireless.@wifi-iface[0].encryption='psk2' uci set wireless.@wifi-iface[0].key='MOT-DE-PASSE' uci set wireless.@wifi-device[0].country='FR' uci commit wireless; wifi
En changeant NOM_DU_WIFI
et MOT-DE-PASSE
en conséquence.
Redémarrer :
reboot
Vous devriez maintenant avoir un réseau Wifi fonctionnel, émis par votre routeur, auquel vous pouvez vous connecter !
Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED
Lancer wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B
, et depuis l'interface graphique, restart eth0.