<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki-br.binets.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Florian.chive</id>
	<title>WikiBR - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-br.binets.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Florian.chive"/>
	<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/Sp%C3%A9cial:Contributions/Florian.chive"/>
	<updated>2026-10-06T03:37:36Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10030</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10030"/>
		<updated>2024-01-18T19:44:31Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : fix duplicate &amp;amp; links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
Ce guide a été écrit principalement pour le routeur Archer C50, mais il est entièrement transposable à tout modèle de routeur sur lequel OpenWRT peut être installé. Le détail de comment flasher OpenWRT dépend cependant du modèle, et n&#039;est pas couvert par ce guide.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
Ce guide n&#039;est absolument pas optimal, et l&#039;image résultante est bien moins fonctionnelle qu&#039;une image pré-compilée officielle. Commencez par vérifier si une image n&#039;existe pas déjà pour votre modèle, afin de vous épargner la purge qu&#039;est ce procédé.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (Debian est testé et fonctionne) (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
 &lt;br /&gt;
 nano files/etc/config/wpa.conf&lt;br /&gt;
 nano files/etc/config/wireless&lt;br /&gt;
 nano files/etc/init.d/wpa&lt;br /&gt;
 &lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa/S99wpa&lt;br /&gt;
 &lt;br /&gt;
 cd ../../..&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Déterminer la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
OpenWRT peut être installé sur une grande variété de routeurs, qui sont classé par &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour déterminer quelles est notre &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et notre &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, le plus simple est de se référer à la documentation officielle d&#039;OpenWRT pour notre modèle, disponible [https://openwrt.org/toh/start ici]. Pour le Archer C50, la page est la [https://openwrt.org/toh/tp-link/archer-c50 suivante].&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite aller à la section &#039;&#039;&#039;Downloads&#039;&#039;&#039;, afin d&#039;obtenir le lien de téléchargement d&#039;OpenWRT pour ce modèle.&lt;br /&gt;
&lt;br /&gt;
Cette url se présente sous la forme suivante : https://downloads.openwrt.org/releases/&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;/targets/&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;/openwrt-&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;modele&amp;lt;/code&amp;gt;-squashfs-factory-&amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;.bin&lt;br /&gt;
&lt;br /&gt;
La partie qui nous intéresse de cette URL se situe juste après le &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour le [https://openwrt.org/toh/tp-link/archer-c50#downloads Archer C50], le lien de téléchargement est https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin&lt;br /&gt;
&lt;br /&gt;
La &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; est donc &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt; et la subtarget &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;. Cette information va nous permettre de compiler OpenWRT pour notre modèle.&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Il est cependant possible de prendre comme base un fichier de configuration pré-existant.&lt;br /&gt;
&lt;br /&gt;
Un fichier de configuration créé par le BR est disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici].&lt;br /&gt;
&lt;br /&gt;
La commande pour le copier est donc :&lt;br /&gt;
&lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond à une configuration pour compiler OpenWRT sur le Archer C50 v6, mais peut être adapté à tout routeur en modifiant la cible de compilation (cf. étape suivante).&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Si votre routeur est autre chose que le Archer C50 v6, il est nécessaire de changer la cible de compilation via la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, puis le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Renseignement des fichiers de configuration ===&lt;br /&gt;
&lt;br /&gt;
Voici la partie cursed de ce guide. Je tiens à m&#039;excuser profondément pour les instructions qui vont suivre.&lt;br /&gt;
&lt;br /&gt;
==== rant ====&lt;br /&gt;
&lt;br /&gt;
Le problème de cette méthode pour compiler OpenWRT est que, pour une raison qui m&#039;échappe, il n&#039;y a pas de persistance :&lt;br /&gt;
&lt;br /&gt;
Théoriquement, OpenWRT utilise [https://openwrt.org/docs/techref/filesystems trois partitions] : la &amp;lt;code&amp;gt;rom&amp;lt;/code&amp;gt;, qui correspond à l&#039;image flashée et est utilisée en tant que référence et utilise le filesystem [https://openwrt.org/docs/techref/filesystems#squashfs SquashFS]. L&#039;intérêt est que cette partition ne peut pas être modifiée, et peut donc être utilisée comme backup en cas de fausse manipulation sur un fichier.&lt;br /&gt;
&lt;br /&gt;
La deuxième partition est une partition standard, utilisant [https://openwrt.org/docs/techref/filesystems#jffs2 Jssf2]. OpenWRT combine ces deux partitions via [https://openwrt.org/docs/techref/filesystems#overlayfs OverlayFS] afin d&#039;obtenir la racine, qui est donc modifiable, les modifications allant dans la deuxième partition.&lt;br /&gt;
&lt;br /&gt;
La troisième partition est un [https://openwrt.org/docs/techref/filesystems#tmpfs ramdisk], non persistent, qui sert pour les fichiers temporaires.&lt;br /&gt;
&lt;br /&gt;
Le problème est qu&#039;ici, &#039;&#039;nous n&#039;avons pas la deuxième partition&#039;&#039; pour une raison qui m&#039;échappe (je serais extrêmement heureux si quelqu&#039;un pouvait trouver l&#039;origine de ce problème sur lequel j&#039;ai passé une semaine).&lt;br /&gt;
&lt;br /&gt;
La conséquence est qu&#039;il est impossible de configurer le routeur de manière standard, via SSH / LuCI (interface web d&#039;administration), car les changements effectués ne persisteront pas après un reboot.&lt;br /&gt;
&lt;br /&gt;
La seule solution que j&#039;ai trouvé est d&#039;inclure l&#039;ensemble des fichiers de configuration dans l&#039;image flashée, i.e. dans la rom.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CELA INCLUT LE SSID DU WIFI, LE MOT DE PASSE DU WIFI, ET LES IDENTIFIANTS EDUROAM&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Oui.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai commis un crime de lèse-BRté : hardcoder des credentials dans une image compilée. J&#039;ai honte. Je le referais. J&#039;espère que quelqu&#039;un va trouver une autre solution. En attendant, je n&#039;ai pas mieux à proposer. Ô lecteur qui est sûrement en train de me juger, si tu te crois si malin, essaie donc de trouver un autre moyen de faire ceci, un moyen d&#039;avoir un filesystem persistent. Rendez-vous dans une semaine (c&#039;est le temps qu&#039;il m&#039;a fallut pour obtenir une image fonctionnelle).&lt;br /&gt;
&lt;br /&gt;
==== do it ====&lt;br /&gt;
&lt;br /&gt;
Les fichiers à inclure dans l&#039;image doivent se trouver dans le dossier &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt;. Il faut donc créer les dossiers nécessaires :&lt;br /&gt;
&lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
&lt;br /&gt;
Ensuite, le fichier &amp;lt;code&amp;gt;files/etc/config/wpa.conf&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;PRENOM&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NOM&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;PASSWORD&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;PRENOM.NOM@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;PASSWORD&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=PASSWORD&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/config/wireless&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;WIFINAME&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT_DE_PASSE&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 config wifi-device &#039;radio_2g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;platform/10300000.wmac&#039;&lt;br /&gt;
         option channel &#039;1&#039;&lt;br /&gt;
         option band &#039;2g&#039;&lt;br /&gt;
         option htmode &#039;HT20&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_2g&#039;&lt;br /&gt;
         option device &#039;radio_2g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-device &#039;radio_5g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;pci0000:00/0000:00:00.0/0000:01:00.0&#039;&lt;br /&gt;
         option channel &#039;36&#039;&lt;br /&gt;
         option band &#039;5g&#039;&lt;br /&gt;
         option htmode &#039;VHT80&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_5g&#039;&lt;br /&gt;
         option device &#039;radio_5g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME_5G&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet de générer deux réseaux wifi, un en 2.4GHz et un en 5GHz. Il est possible de désactiver l&#039;un des deux en passant la valeur &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; à l&#039;option &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt; du &amp;lt;code&amp;gt;wifi-device&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;radio_2g&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;radio_5g&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/init.d/wpa&amp;lt;/code&amp;gt; doit lui contenir le contenu suivant :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() {&lt;br /&gt;
   echo start&lt;br /&gt;
   wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&lt;br /&gt;
   sleep 5&lt;br /&gt;
   udhcpc -i eth0.2&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à créer un symlink permettant que la configuration &amp;lt;code&amp;gt;wpa_supplicant&amp;lt;/code&amp;gt; démarre automatiquement : &lt;br /&gt;
&lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa S99wpa&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
La compilation est un procédé très long (10 heures), mais une fois qu&#039;elle a été effectuée une fois, les compilations ultérieures réutilisent les artefacts générés et sont donc très rapides.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Attention|Cette image ne doit surtout pas être diffusée car elle contient le mot de passe de l&#039;élève}}&lt;br /&gt;
&lt;br /&gt;
A la différence d&#039;une image classique OpenWRT, celle-ci est directement fonctionnelle une fois flashée, mais ne peut pas être reconfigurée, sauf en recompilant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du TP-Link ArchRant C50, après avoir copié ce fichier sous le nom &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt;, on peut suivre le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]] afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; et le flasher.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10029</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10029"/>
		<updated>2024-01-18T19:40:58Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Fix header level&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
Ce guide a été écrit principalement pour le routeur Archer C50, mais il est entièrement transposable à tout modèle de routeur sur lequel OpenWRT peut être installé. Le détail de comment flasher OpenWRT dépend cependant du modèle, et n&#039;est pas couvert par ce guide.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
Ce guide n&#039;est absolument pas optimal, et l&#039;image résultante est bien moins fonctionnelle qu&#039;une image pré-compilée officielle. Commencez par vérifier si une image n&#039;existe pas déjà pour votre modèle, afin de vous épargner la purge qu&#039;est ce procédé.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (Debian est testé et fonctionne) (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
 &lt;br /&gt;
 nano files/etc/config/wpa.conf&lt;br /&gt;
 nano files/etc/config/wireless&lt;br /&gt;
 nano files/etc/init.d/wpa&lt;br /&gt;
 &lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa/S99wpa&lt;br /&gt;
 &lt;br /&gt;
 cd ../../..&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Déterminer la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
OpenWRT peut être installé sur une grande variété de routeurs, qui sont classé par &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour déterminer quelles est notre &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et notre &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, le plus simple est de se référer à la documentation officielle d&#039;OpenWRT pour notre modèle, disponible [https://openwrt.org/toh/start ici]. Pour le Archer C50, la page est la [https://openwrt.org/toh/tp-link/archer-c50 suivante].&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite aller à la section &#039;&#039;&#039;Downloads&#039;&#039;&#039;, afin d&#039;obtenir le lien de téléchargement d&#039;OpenWRT pour ce modèle.&lt;br /&gt;
&lt;br /&gt;
Cette url se présente sous la forme suivante : https://downloads.openwrt.org/releases/&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;/targets/&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;/openwrt-&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;modele&amp;lt;/code&amp;gt;-squashfs-factory-&amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;.bin&lt;br /&gt;
&lt;br /&gt;
La partie qui nous intéresse de cette URL se situe juste après le &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour le [https://openwrt.org/toh/tp-link/archer-c50#downloads Archer C50], le lien de téléchargement est https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin&lt;br /&gt;
&lt;br /&gt;
La &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; est donc &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt; et la subtarget &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;. Cette information va nous permettre de compiler OpenWRT pour notre modèle.&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Il est cependant possible de prendre comme base un fichier de configuration pré-existant.&lt;br /&gt;
&lt;br /&gt;
Un fichier de configuration créé par le BR est disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici].&lt;br /&gt;
&lt;br /&gt;
La commande pour le copier est donc :&lt;br /&gt;
&lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond à une configuration pour compiler OpenWRT sur le Archer C50 v6, mais peut être adapté à tout routeur en modifiant la cible de compilation (cf. étape suivante).&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Si votre routeur est autre chose que le Archer C50 v6, il est nécessaire de changer la cible de compilation via la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, puis le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Renseignement des fichiers de configuration ===&lt;br /&gt;
&lt;br /&gt;
Voici la partie cursed de ce guide. Je tiens à m&#039;excuser profondément pour les instructions qui vont suivre.&lt;br /&gt;
&lt;br /&gt;
==== rant ====&lt;br /&gt;
&lt;br /&gt;
Le problème de cette méthode pour compiler OpenWRT est que, pour une raison qui m&#039;échappe, il n&#039;y a pas de persistance :&lt;br /&gt;
&lt;br /&gt;
Théoriquement, OpenWRT utilise [trois partitions](https://openwrt.org/docs/techref/filesystems) : la &amp;lt;code&amp;gt;rom&amp;lt;/code&amp;gt;, qui correspond à l&#039;image flashée et est utilisée en tant que référence et utilise le filesystem [SquashFS](https://openwrt.org/docs/techref/filesystems#squashfs). L&#039;intérêt est que cette partition ne peut pas être modifiée, et peut donc être utilisée comme backup en cas de fausse manipulation sur un fichier.&lt;br /&gt;
&lt;br /&gt;
La deuxième partition est une partition standard, utilisant [Jssf2](https://openwrt.org/docs/techref/filesystems#jffs2). OpenWRT combine ces deux partitions via [OverlayFS](https://openwrt.org/docs/techref/filesystems#overlayfs) afin d&#039;obtenir la racine, qui est donc modifiable, les modifications allant dans la deuxième partition.&lt;br /&gt;
&lt;br /&gt;
La troisième partition est un [ramdisk](https://openwrt.org/docs/techref/filesystems#tmpfs), non persistent, qui sert pour les fichiers temporaires.&lt;br /&gt;
&lt;br /&gt;
Le problème est qu&#039;ici, &#039;&#039;nous n&#039;avons pas la deuxième partition&#039;&#039; pour une raison qui m&#039;échappe (je serais extrêmement heureux si quelqu&#039;un pouvait trouver l&#039;origine de ce problème sur lequel j&#039;ai passé une semaine).&lt;br /&gt;
&lt;br /&gt;
La conséquence est qu&#039;il est impossible de configurer le routeur de manière standard, via SSH / LuCI (interface web d&#039;administration), car les changements effectués ne persisteront pas après un reboot.&lt;br /&gt;
&lt;br /&gt;
La seule solution que j&#039;ai trouvé est d&#039;inclure l&#039;ensemble des fichiers de configuration dans l&#039;image flashée, i.e. dans la rom.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CELA INCLUT LE SSID DU WIFI, LE MOT DE PASSE DU WIFI, ET LES IDENTIFIANTS EDUROAM&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Oui.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai commis un crime de lèse-BRté : hardcoder des credentials dans une image compilée. J&#039;ai honte. Je le referais. J&#039;espère que quelqu&#039;un va trouver une autre solution. En attendant, je n&#039;ai pas mieux à proposer. Ô lecteur qui est sûrement en train de me juger, si tu te crois si malin, essaie donc de trouver un autre moyen de faire ceci, un moyen d&#039;avoir un filesystem persistent. Rendez-vous dans une semaine (c&#039;est le temps qu&#039;il m&#039;a fallut pour obtenir une image fonctionnelle).&lt;br /&gt;
&lt;br /&gt;
==== do it ====&lt;br /&gt;
&lt;br /&gt;
Les fichiers à inclure dans l&#039;image doivent se trouver dans le dossier &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt;. Il faut donc créer les dossiers nécessaires :&lt;br /&gt;
&lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
&lt;br /&gt;
Ensuite, le fichier &amp;lt;code&amp;gt;files/etc/config/wpa.conf&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;PRENOM&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NOM&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;PASSWORD&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;PRENOM.NOM@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;PASSWORD&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=PASSWORD&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/config/wireless&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;WIFINAME&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT_DE_PASSE&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 config wifi-device &#039;radio_2g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;platform/10300000.wmac&#039;&lt;br /&gt;
         option channel &#039;1&#039;&lt;br /&gt;
         option band &#039;2g&#039;&lt;br /&gt;
         option htmode &#039;HT20&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_2g&#039;&lt;br /&gt;
         option device &#039;radio_2g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-device &#039;radio_5g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;pci0000:00/0000:00:00.0/0000:01:00.0&#039;&lt;br /&gt;
         option channel &#039;36&#039;&lt;br /&gt;
         option band &#039;5g&#039;&lt;br /&gt;
         option htmode &#039;VHT80&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_5g&#039;&lt;br /&gt;
         option device &#039;radio_5g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME_5G&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet de générer deux réseaux wifi, un en 2.4GHz et un en 5GHz. Il est possible de désactiver l&#039;un des deux en passant la valeur &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; à l&#039;option &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt; du &amp;lt;code&amp;gt;wifi-device&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;radio_2g&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;radio_5g&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/init.d/wpa&amp;lt;/code&amp;gt; doit lui contenir le contenu suivant :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() {&lt;br /&gt;
   echo start&lt;br /&gt;
   wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&lt;br /&gt;
   sleep 5&lt;br /&gt;
   udhcpc -i eth0.2&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à créer un symlink permettant que la configuration &amp;lt;code&amp;gt;wpa_supplicant&amp;lt;/code&amp;gt; démarre automatiquement : &lt;br /&gt;
&lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa S99wpa&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
La compilation est un procédé très long (10 heures), mais une fois qu&#039;elle a été effectuée une fois, les compilations ultérieures réutilisent les artefacts générés et sont donc très rapides.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Attention|Cette image ne doit surtout pas être diffusée car elle contient le mot de passe de l&#039;élève}}&lt;br /&gt;
&lt;br /&gt;
A la différence d&#039;une image classique OpenWRT, celle-ci est directement fonctionnelle une fois flashée, mais ne peut pas être reconfigurée, sauf en recompilant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du TP-Link ArchRant rant rant rant rant AAAAAAAAAAAAAHer C50, après avoir copié ce fichier sous le nom &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt;, on peut suivre le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]] afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; et le flasher.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;br /&gt;
{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
Ce guide a été écrit principalement pour le routeur Archer C50, mais il est entièrement transposable à tout modèle de routeur sur lequel OpenWRT peut être installé. Le détail de comment flasher OpenWRT dépend cependant du modèle, et n&#039;est pas couvert par ce guide.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
Ce guide n&#039;est absolument pas optimal, et l&#039;image résultante est bien moins fonctionnelle qu&#039;une image pré-compilée officielle. Commencez par vérifier si une image n&#039;existe pas déjà pour votre modèle, afin de vous épargner la purge qu&#039;est ce procédé.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (Debian est testé et fonctionne) (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
 &lt;br /&gt;
 nano files/etc/config/wpa.conf&lt;br /&gt;
 nano files/etc/config/wireless&lt;br /&gt;
 nano files/etc/init.d/wpa&lt;br /&gt;
 &lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa/S99wpa&lt;br /&gt;
 &lt;br /&gt;
 cd ../../..&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Déterminer la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
OpenWRT peut être installé sur une grande variété de routeurs, qui sont classé par &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour déterminer quelles est notre &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et notre &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, le plus simple est de se référer à la documentation officielle d&#039;OpenWRT pour notre modèle, disponible [https://openwrt.org/toh/start ici]. Pour le Archer C50, la page est la [https://openwrt.org/toh/tp-link/archer-c50 suivante].&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite aller à la section &#039;&#039;&#039;Downloads&#039;&#039;&#039;, afin d&#039;obtenir le lien de téléchargement d&#039;OpenWRT pour ce modèle.&lt;br /&gt;
&lt;br /&gt;
Cette url se présente sous la forme suivante : https://downloads.openwrt.org/releases/&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;/targets/&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;/openwrt-&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;modele&amp;lt;/code&amp;gt;-squashfs-factory-&amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;.bin&lt;br /&gt;
&lt;br /&gt;
La partie qui nous intéresse de cette URL se situe juste après le &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour le [https://openwrt.org/toh/tp-link/archer-c50#downloads Archer C50], le lien de téléchargement est https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin&lt;br /&gt;
&lt;br /&gt;
La &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; est donc &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt; et la subtarget &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;. Cette information va nous permettre de compiler OpenWRT pour notre modèle.&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Il est cependant possible de prendre comme base un fichier de configuration pré-existant.&lt;br /&gt;
&lt;br /&gt;
Un fichier de configuration créé par le BR est disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici].&lt;br /&gt;
&lt;br /&gt;
La commande pour le copier est donc :&lt;br /&gt;
&lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond à une configuration pour compiler OpenWRT sur le Archer C50 v6, mais peut être adapté à tout routeur en modifiant la cible de compilation (cf. étape suivante).&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Si votre routeur est autre chose que le Archer C50 v6, il est nécessaire de changer la cible de compilation via la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, puis le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Renseignement des fichiers de configuration ===&lt;br /&gt;
&lt;br /&gt;
Voici la partie cursed de ce guide. Je tiens à m&#039;excuser profondément pour les instructions qui vont suivre.&lt;br /&gt;
&lt;br /&gt;
==== rant ====&lt;br /&gt;
&lt;br /&gt;
Le problème de cette méthode pour compiler OpenWRT est que, pour une raison qui m&#039;échappe, il n&#039;y a pas de persistance :&lt;br /&gt;
&lt;br /&gt;
Théoriquement, OpenWRT utilise [trois partitions](https://openwrt.org/docs/techref/filesystems) : la &amp;lt;code&amp;gt;rom&amp;lt;/code&amp;gt;, qui correspond à l&#039;image flashée et est utilisée en tant que référence et utilise le filesystem [SquashFS](https://openwrt.org/docs/techref/filesystems#squashfs). L&#039;intérêt est que cette partition ne peut pas être modifiée, et peut donc être utilisée comme backup en cas de fausse manipulation sur un fichier.&lt;br /&gt;
&lt;br /&gt;
La deuxième partition est une partition standard, utilisant [Jssf2](https://openwrt.org/docs/techref/filesystems#jffs2). OpenWRT combine ces deux partitions via [OverlayFS](https://openwrt.org/docs/techref/filesystems#overlayfs) afin d&#039;obtenir la racine, qui est donc modifiable, les modifications allant dans la deuxième partition.&lt;br /&gt;
&lt;br /&gt;
La troisième partition est un [ramdisk](https://openwrt.org/docs/techref/filesystems#tmpfs), non persistent, qui sert pour les fichiers temporaires.&lt;br /&gt;
&lt;br /&gt;
Le problème est qu&#039;ici, &#039;&#039;nous n&#039;avons pas la deuxième partition&#039;&#039; pour une raison qui m&#039;échappe (je serais extrêmement heureux si quelqu&#039;un pouvait trouver l&#039;origine de ce problème sur lequel j&#039;ai passé une semaine).&lt;br /&gt;
&lt;br /&gt;
La conséquence est qu&#039;il est impossible de configurer le routeur de manière standard, via SSH / LuCI (interface web d&#039;administration), car les changements effectués ne persisteront pas après un reboot.&lt;br /&gt;
&lt;br /&gt;
La seule solution que j&#039;ai trouvé est d&#039;inclure l&#039;ensemble des fichiers de configuration dans l&#039;image flashée, i.e. dans la rom.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CELA INCLUT LE SSID DU WIFI, LE MOT DE PASSE DU WIFI, ET LES IDENTIFIANTS EDUROAM&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Oui.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai commis un crime de lèse-BRté : hardcoder des credentials dans une image compilée. J&#039;ai honte. Je le referais. J&#039;espère que quelqu&#039;un va trouver une autre solution. En attendant, je n&#039;ai pas mieux à proposer. Ô lecteur qui est sûrement en train de me juger, si tu te crois si malin, essaie donc de trouver un autre moyen de faire ceci, un moyen d&#039;avoir un filesystem persistent. Rendez-vous dans une semaine (c&#039;est le temps qu&#039;il m&#039;a fallut pour obtenir une image fonctionnelle).&lt;br /&gt;
&lt;br /&gt;
=== do it ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers à inclure dans l&#039;image doivent se trouver dans le dossier &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt;. Il faut donc créer les dossiers nécessaires :&lt;br /&gt;
&lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
&lt;br /&gt;
Ensuite, le fichier &amp;lt;code&amp;gt;files/etc/config/wpa.conf&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;PRENOM&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NOM&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;PASSWORD&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;PRENOM.NOM@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;PASSWORD&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=PASSWORD&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/config/wireless&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;WIFINAME&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT_DE_PASSE&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 config wifi-device &#039;radio_2g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;platform/10300000.wmac&#039;&lt;br /&gt;
         option channel &#039;1&#039;&lt;br /&gt;
         option band &#039;2g&#039;&lt;br /&gt;
         option htmode &#039;HT20&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_2g&#039;&lt;br /&gt;
         option device &#039;radio_2g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-device &#039;radio_5g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;pci0000:00/0000:00:00.0/0000:01:00.0&#039;&lt;br /&gt;
         option channel &#039;36&#039;&lt;br /&gt;
         option band &#039;5g&#039;&lt;br /&gt;
         option htmode &#039;VHT80&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_5g&#039;&lt;br /&gt;
         option device &#039;radio_5g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME_5G&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet de générer deux réseaux wifi, un en 2.4GHz et un en 5GHz. Il est possible de désactiver l&#039;un des deux en passant la valeur &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; à l&#039;option &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt; du &amp;lt;code&amp;gt;wifi-device&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;radio_2g&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;radio_5g&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/init.d/wpa&amp;lt;/code&amp;gt; doit lui contenir le contenu suivant :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() {&lt;br /&gt;
   echo start&lt;br /&gt;
   wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&lt;br /&gt;
   sleep 5&lt;br /&gt;
   udhcpc -i eth0.2&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à créer un symlink permettant que la configuration &amp;lt;code&amp;gt;wpa_supplicant&amp;lt;/code&amp;gt; démarre automatiquement : &lt;br /&gt;
&lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa S99wpa&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
La compilation est un procédé très long (10 heures), mais une fois qu&#039;elle a été effectuée une fois, les compilations ultérieures réutilisent les artefacts générés et sont donc très rapides.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Attention|Cette image ne doit surtout pas être diffusée car elle contient le mot de passe de l&#039;élève}}&lt;br /&gt;
&lt;br /&gt;
A la différence d&#039;une image classique OpenWRT, celle-ci est directement fonctionnelle une fois flashée, mais ne peut pas être reconfigurée, sauf en recompilant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du TP-Link ArchRant rant rant rant rant AAAAAAAAAAAAAHer C50, après avoir copié ce fichier sous le nom &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt;, on peut suivre le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]] afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; et le flasher.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10028</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10028"/>
		<updated>2024-01-18T19:40:28Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Cursed way to compile OpenWRT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
Ce guide a été écrit principalement pour le routeur Archer C50, mais il est entièrement transposable à tout modèle de routeur sur lequel OpenWRT peut être installé. Le détail de comment flasher OpenWRT dépend cependant du modèle, et n&#039;est pas couvert par ce guide.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
Ce guide n&#039;est absolument pas optimal, et l&#039;image résultante est bien moins fonctionnelle qu&#039;une image pré-compilée officielle. Commencez par vérifier si une image n&#039;existe pas déjà pour votre modèle, afin de vous épargner la purge qu&#039;est ce procédé.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (Debian est testé et fonctionne) (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
 &lt;br /&gt;
 nano files/etc/config/wpa.conf&lt;br /&gt;
 nano files/etc/config/wireless&lt;br /&gt;
 nano files/etc/init.d/wpa&lt;br /&gt;
 &lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa/S99wpa&lt;br /&gt;
 &lt;br /&gt;
 cd ../../..&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Déterminer la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
OpenWRT peut être installé sur une grande variété de routeurs, qui sont classé par &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour déterminer quelles est notre &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et notre &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, le plus simple est de se référer à la documentation officielle d&#039;OpenWRT pour notre modèle, disponible [https://openwrt.org/toh/start ici]. Pour le Archer C50, la page est la [https://openwrt.org/toh/tp-link/archer-c50 suivante].&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite aller à la section &#039;&#039;&#039;Downloads&#039;&#039;&#039;, afin d&#039;obtenir le lien de téléchargement d&#039;OpenWRT pour ce modèle.&lt;br /&gt;
&lt;br /&gt;
Cette url se présente sous la forme suivante : https://downloads.openwrt.org/releases/&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;/targets/&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;/openwrt-&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;modele&amp;lt;/code&amp;gt;-squashfs-factory-&amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;.bin&lt;br /&gt;
&lt;br /&gt;
La partie qui nous intéresse de cette URL se situe juste après le &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour le [https://openwrt.org/toh/tp-link/archer-c50#downloads Archer C50], le lien de téléchargement est https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin&lt;br /&gt;
&lt;br /&gt;
La &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; est donc &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt; et la subtarget &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;. Cette information va nous permettre de compiler OpenWRT pour notre modèle.&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Il est cependant possible de prendre comme base un fichier de configuration pré-existant.&lt;br /&gt;
&lt;br /&gt;
Un fichier de configuration créé par le BR est disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici].&lt;br /&gt;
&lt;br /&gt;
La commande pour le copier est donc :&lt;br /&gt;
&lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond à une configuration pour compiler OpenWRT sur le Archer C50 v6, mais peut être adapté à tout routeur en modifiant la cible de compilation (cf. étape suivante).&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Si votre routeur est autre chose que le Archer C50 v6, il est nécessaire de changer la cible de compilation via la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, puis le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Renseignement des fichiers de configuration ===&lt;br /&gt;
&lt;br /&gt;
Voici la partie cursed de ce guide. Je tiens à m&#039;excuser profondément pour les instructions qui vont suivre.&lt;br /&gt;
&lt;br /&gt;
==== rant ====&lt;br /&gt;
&lt;br /&gt;
Le problème de cette méthode pour compiler OpenWRT est que, pour une raison qui m&#039;échappe, il n&#039;y a pas de persistance :&lt;br /&gt;
&lt;br /&gt;
Théoriquement, OpenWRT utilise [trois partitions](https://openwrt.org/docs/techref/filesystems) : la &amp;lt;code&amp;gt;rom&amp;lt;/code&amp;gt;, qui correspond à l&#039;image flashée et est utilisée en tant que référence et utilise le filesystem [SquashFS](https://openwrt.org/docs/techref/filesystems#squashfs). L&#039;intérêt est que cette partition ne peut pas être modifiée, et peut donc être utilisée comme backup en cas de fausse manipulation sur un fichier.&lt;br /&gt;
&lt;br /&gt;
La deuxième partition est une partition standard, utilisant [Jssf2](https://openwrt.org/docs/techref/filesystems#jffs2). OpenWRT combine ces deux partitions via [OverlayFS](https://openwrt.org/docs/techref/filesystems#overlayfs) afin d&#039;obtenir la racine, qui est donc modifiable, les modifications allant dans la deuxième partition.&lt;br /&gt;
&lt;br /&gt;
La troisième partition est un [ramdisk](https://openwrt.org/docs/techref/filesystems#tmpfs), non persistent, qui sert pour les fichiers temporaires.&lt;br /&gt;
&lt;br /&gt;
Le problème est qu&#039;ici, &#039;&#039;nous n&#039;avons pas la deuxième partition&#039;&#039; pour une raison qui m&#039;échappe (je serais extrêmement heureux si quelqu&#039;un pouvait trouver l&#039;origine de ce problème sur lequel j&#039;ai passé une semaine).&lt;br /&gt;
&lt;br /&gt;
La conséquence est qu&#039;il est impossible de configurer le routeur de manière standard, via SSH / LuCI (interface web d&#039;administration), car les changements effectués ne persisteront pas après un reboot.&lt;br /&gt;
&lt;br /&gt;
La seule solution que j&#039;ai trouvé est d&#039;inclure l&#039;ensemble des fichiers de configuration dans l&#039;image flashée, i.e. dans la rom.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CELA INCLUT LE SSID DU WIFI, LE MOT DE PASSE DU WIFI, ET LES IDENTIFIANTS EDUROAM&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Oui.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai commis un crime de lèse-BRté : hardcoder des credentials dans une image compilée. J&#039;ai honte. Je le referais. J&#039;espère que quelqu&#039;un va trouver une autre solution. En attendant, je n&#039;ai pas mieux à proposer. Ô lecteur qui est sûrement en train de me juger, si tu te crois si malin, essaie donc de trouver un autre moyen de faire ceci, un moyen d&#039;avoir un filesystem persistent. Rendez-vous dans une semaine (c&#039;est le temps qu&#039;il m&#039;a fallut pour obtenir une image fonctionnelle).&lt;br /&gt;
&lt;br /&gt;
=== do it ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers à inclure dans l&#039;image doivent se trouver dans le dossier &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt;. Il faut donc créer les dossiers nécessaires :&lt;br /&gt;
&lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
&lt;br /&gt;
Ensuite, le fichier &amp;lt;code&amp;gt;files/etc/config/wpa.conf&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;PRENOM&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NOM&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;PASSWORD&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;PRENOM.NOM@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;PASSWORD&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=PASSWORD&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/config/wireless&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;WIFINAME&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT_DE_PASSE&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 config wifi-device &#039;radio_2g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;platform/10300000.wmac&#039;&lt;br /&gt;
         option channel &#039;1&#039;&lt;br /&gt;
         option band &#039;2g&#039;&lt;br /&gt;
         option htmode &#039;HT20&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_2g&#039;&lt;br /&gt;
         option device &#039;radio_2g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-device &#039;radio_5g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;pci0000:00/0000:00:00.0/0000:01:00.0&#039;&lt;br /&gt;
         option channel &#039;36&#039;&lt;br /&gt;
         option band &#039;5g&#039;&lt;br /&gt;
         option htmode &#039;VHT80&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_5g&#039;&lt;br /&gt;
         option device &#039;radio_5g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME_5G&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet de générer deux réseaux wifi, un en 2.4GHz et un en 5GHz. Il est possible de désactiver l&#039;un des deux en passant la valeur &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; à l&#039;option &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt; du &amp;lt;code&amp;gt;wifi-device&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;radio_2g&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;radio_5g&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/init.d/wpa&amp;lt;/code&amp;gt; doit lui contenir le contenu suivant :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() {&lt;br /&gt;
   echo start&lt;br /&gt;
   wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&lt;br /&gt;
   sleep 5&lt;br /&gt;
   udhcpc -i eth0.2&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à créer un symlink permettant que la configuration &amp;lt;code&amp;gt;wpa_supplicant&amp;lt;/code&amp;gt; démarre automatiquement : &lt;br /&gt;
&lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa S99wpa&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
La compilation est un procédé très long (10 heures), mais une fois qu&#039;elle a été effectuée une fois, les compilations ultérieures réutilisent les artefacts générés et sont donc très rapides.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Attention|Cette image ne doit surtout pas être diffusée car elle contient le mot de passe de l&#039;élève}}&lt;br /&gt;
&lt;br /&gt;
A la différence d&#039;une image classique OpenWRT, celle-ci est directement fonctionnelle une fois flashée, mais ne peut pas être reconfigurée, sauf en recompilant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du TP-Link ArchRant rant rant rant rant AAAAAAAAAAAAAHer C50, après avoir copié ce fichier sous le nom &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt;, on peut suivre le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]] afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; et le flasher.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;br /&gt;
{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
Ce guide a été écrit principalement pour le routeur Archer C50, mais il est entièrement transposable à tout modèle de routeur sur lequel OpenWRT peut être installé. Le détail de comment flasher OpenWRT dépend cependant du modèle, et n&#039;est pas couvert par ce guide.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
Ce guide n&#039;est absolument pas optimal, et l&#039;image résultante est bien moins fonctionnelle qu&#039;une image pré-compilée officielle. Commencez par vérifier si une image n&#039;existe pas déjà pour votre modèle, afin de vous épargner la purge qu&#039;est ce procédé.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (Debian est testé et fonctionne) (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
 &lt;br /&gt;
 nano files/etc/config/wpa.conf&lt;br /&gt;
 nano files/etc/config/wireless&lt;br /&gt;
 nano files/etc/init.d/wpa&lt;br /&gt;
 &lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa/S99wpa&lt;br /&gt;
 &lt;br /&gt;
 cd ../../..&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Déterminer la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
OpenWRT peut être installé sur une grande variété de routeurs, qui sont classé par &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour déterminer quelles est notre &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et notre &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, le plus simple est de se référer à la documentation officielle d&#039;OpenWRT pour notre modèle, disponible [https://openwrt.org/toh/start ici]. Pour le Archer C50, la page est la [https://openwrt.org/toh/tp-link/archer-c50 suivante].&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite aller à la section &#039;&#039;&#039;Downloads&#039;&#039;&#039;, afin d&#039;obtenir le lien de téléchargement d&#039;OpenWRT pour ce modèle.&lt;br /&gt;
&lt;br /&gt;
Cette url se présente sous la forme suivante : https://downloads.openwrt.org/releases/&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;/targets/&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;/openwrt-&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;modele&amp;lt;/code&amp;gt;-squashfs-factory-&amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;.bin&lt;br /&gt;
&lt;br /&gt;
La partie qui nous intéresse de cette URL se situe juste après le &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour le [https://openwrt.org/toh/tp-link/archer-c50#downloads Archer C50], le lien de téléchargement est https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin&lt;br /&gt;
&lt;br /&gt;
La &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; est donc &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt; et la subtarget &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;. Cette information va nous permettre de compiler OpenWRT pour notre modèle.&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Il est cependant possible de prendre comme base un fichier de configuration pré-existant.&lt;br /&gt;
&lt;br /&gt;
Un fichier de configuration créé par le BR est disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici].&lt;br /&gt;
&lt;br /&gt;
La commande pour le copier est donc :&lt;br /&gt;
&lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond à une configuration pour compiler OpenWRT sur le Archer C50 v6, mais peut être adapté à tout routeur en modifiant la cible de compilation (cf. étape suivante).&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Si votre routeur est autre chose que le Archer C50 v6, il est nécessaire de changer la cible de compilation via la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, puis le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Renseignement des fichiers de configuration ===&lt;br /&gt;
&lt;br /&gt;
Voici la partie cursed de ce guide. Je tiens à m&#039;excuser profondément pour les instructions qui vont suivre.&lt;br /&gt;
&lt;br /&gt;
==== rant ====&lt;br /&gt;
&lt;br /&gt;
Le problème de cette méthode pour compiler OpenWRT est que, pour une raison qui m&#039;échappe, il n&#039;y a pas de persistance :&lt;br /&gt;
&lt;br /&gt;
Théoriquement, OpenWRT utilise [trois partitions](https://openwrt.org/docs/techref/filesystems) : la &amp;lt;code&amp;gt;rom&amp;lt;/code&amp;gt;, qui correspond à l&#039;image flashée et est utilisée en tant que référence et utilise le filesystem [SquashFS](https://openwrt.org/docs/techref/filesystems#squashfs). L&#039;intérêt est que cette partition ne peut pas être modifiée, et peut donc être utilisée comme backup en cas de fausse manipulation sur un fichier.&lt;br /&gt;
&lt;br /&gt;
La deuxième partition est une partition standard, utilisant [Jssf2](https://openwrt.org/docs/techref/filesystems#jffs2). OpenWRT combine ces deux partitions via [OverlayFS](https://openwrt.org/docs/techref/filesystems#overlayfs) afin d&#039;obtenir la racine, qui est donc modifiable, les modifications allant dans la deuxième partition.&lt;br /&gt;
&lt;br /&gt;
La troisième partition est un [ramdisk](https://openwrt.org/docs/techref/filesystems#tmpfs), non persistent, qui sert pour les fichiers temporaires.&lt;br /&gt;
&lt;br /&gt;
Le problème est qu&#039;ici, &#039;&#039;nous n&#039;avons pas la deuxième partition&#039;&#039; pour une raison qui m&#039;échappe (je serais extrêmement heureux si quelqu&#039;un pouvait trouver l&#039;origine de ce problème sur lequel j&#039;ai passé une semaine).&lt;br /&gt;
&lt;br /&gt;
La conséquence est qu&#039;il est impossible de configurer le routeur de manière standard, via SSH / LuCI (interface web d&#039;administration), car les changements effectués ne persisteront pas après un reboot.&lt;br /&gt;
&lt;br /&gt;
La seule solution que j&#039;ai trouvé est d&#039;inclure l&#039;ensemble des fichiers de configuration dans l&#039;image flashée, i.e. dans la rom.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CELA INCLUT LE SSID DU WIFI, LE MOT DE PASSE DU WIFI, ET LES IDENTIFIANTS EDUROAM&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Oui.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai commis un crime de lèse-BRté : hardcoder des credentials dans une image compilée. J&#039;ai honte. Je le referais. J&#039;espère que quelqu&#039;un va trouver une autre solution. En attendant, je n&#039;ai pas mieux à proposer. Ô lecteur qui est sûrement en train de me juger, si tu te crois si malin, essaie donc de trouver un autre moyen de faire ceci, un moyen d&#039;avoir un filesystem persistent. Rendez-vous dans une semaine (c&#039;est le temps qu&#039;il m&#039;a fallut pour obtenir une image fonctionnelle).&lt;br /&gt;
&lt;br /&gt;
=== do it ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers à inclure dans l&#039;image doivent se trouver dans le dossier &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt;. Il faut donc créer les dossiers nécessaires :&lt;br /&gt;
&lt;br /&gt;
 mkdir files files/etc files/etc/config files/etc/init.d files/etc/rc.d&lt;br /&gt;
&lt;br /&gt;
Ensuite, le fichier &amp;lt;code&amp;gt;files/etc/config/wpa.conf&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;PRENOM&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NOM&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;PASSWORD&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;PRENOM.NOM@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;PASSWORD&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=PASSWORD&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/config/wireless&amp;lt;/code&amp;gt; doit avoir le contenu suivant, en remplaçant &amp;lt;code&amp;gt;WIFINAME&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT_DE_PASSE&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 config wifi-device &#039;radio_2g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;platform/10300000.wmac&#039;&lt;br /&gt;
         option channel &#039;1&#039;&lt;br /&gt;
         option band &#039;2g&#039;&lt;br /&gt;
         option htmode &#039;HT20&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_2g&#039;&lt;br /&gt;
         option device &#039;radio_2g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-device &#039;radio_5g&#039;&lt;br /&gt;
         option type &#039;mac80211&#039;&lt;br /&gt;
         option path &#039;pci0000:00/0000:00:00.0/0000:01:00.0&#039;&lt;br /&gt;
         option channel &#039;36&#039;&lt;br /&gt;
         option band &#039;5g&#039;&lt;br /&gt;
         option htmode &#039;VHT80&#039;&lt;br /&gt;
         option disabled &#039;0&#039;&lt;br /&gt;
 &lt;br /&gt;
 config wifi-iface &#039;wifi_5g&#039;&lt;br /&gt;
         option device &#039;radio_5g&#039;&lt;br /&gt;
         option network &#039;lan&#039;&lt;br /&gt;
         option mode &#039;ap&#039;&lt;br /&gt;
         option ssid &#039;WIFINAME_5G&#039;&lt;br /&gt;
         option encryption &#039;psk2&#039;&lt;br /&gt;
         option key &#039;MOT_DE_PASSE&#039;&lt;br /&gt;
         option country &#039;FR&#039;&lt;br /&gt;
&lt;br /&gt;
Cette configuration permet de générer deux réseaux wifi, un en 2.4GHz et un en 5GHz. Il est possible de désactiver l&#039;un des deux en passant la valeur &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; à l&#039;option &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt; du &amp;lt;code&amp;gt;wifi-device&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;radio_2g&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;radio_5g&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;files/etc/init.d/wpa&amp;lt;/code&amp;gt; doit lui contenir le contenu suivant :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() {&lt;br /&gt;
   echo start&lt;br /&gt;
   wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&lt;br /&gt;
   sleep 5&lt;br /&gt;
   udhcpc -i eth0.2&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à créer un symlink permettant que la configuration &amp;lt;code&amp;gt;wpa_supplicant&amp;lt;/code&amp;gt; démarre automatiquement : &lt;br /&gt;
&lt;br /&gt;
 cd files/etc/rc.d&lt;br /&gt;
 ln -s -r ../init.d/wpa S99wpa&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
La compilation est un procédé très long (10 heures), mais une fois qu&#039;elle a été effectuée une fois, les compilations ultérieures réutilisent les artefacts générés et sont donc très rapides.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Attention|Cette image ne doit surtout pas être diffusée car elle contient le mot de passe de l&#039;élève}}&lt;br /&gt;
&lt;br /&gt;
A la différence d&#039;une image classique OpenWRT, celle-ci est directement fonctionnelle une fois flashée, mais ne peut pas être reconfigurée, sauf en recompilant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du TP-Link ArchRant rant rant rant rant AAAAAAAAAAAAAHer C50, après avoir copié ce fichier sous le nom &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt;, on peut suivre le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]] afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; et le flasher.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=10023</id>
		<title>Routeurs Wi-Fi/Tutoriel TP-Link Archer C50</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=10023"/>
		<updated>2024-01-15T22:33:44Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Fix typo in code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Avertissements ==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent &#039;&#039;avant&#039;&#039; de faire quoi que ce soit. Cela vous évitera des erreurs stupides qui vous feront perdre du temps. !}}&lt;br /&gt;
&lt;br /&gt;
=== Avertissement technique ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modèle de routeur.&#039;&#039;&#039; Le système que vous vous apprêtez à installer n&#039;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 &#039;&#039;&#039;TP-Link Archer C50&#039;&#039;&#039;, &#039;&#039;&#039;TP-Link Archer AC1200&#039;&#039;&#039; ou &#039;&#039;&#039;TP-Link Archer A5&#039;&#039;&#039;, versions 4 à 6 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . &#039;&#039;D&#039;autres versions peuvent être compatibles mais n&#039;ont pas été testées.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d&#039;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&#039;openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Méthode de connexion.&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;État d&#039;esprit.&#039;&#039;&#039; La procédure est relativement longue mais elle n&#039;est pas très compliquée. Si c&#039;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.&lt;br /&gt;
&lt;br /&gt;
=== Avertissement juridique ===&lt;br /&gt;
&lt;br /&gt;
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l&#039;École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec &#039;&#039;vos identifiants&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Principe ==&lt;br /&gt;
&lt;br /&gt;
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l&#039;École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d&#039;installer un système auxiliaire (OpenWRT)  sur les routeurs, remplaçant le système d&#039;origine. Grâce à ceci on peut obtenir un routeur qui s&#039;authentifie lui-même sur le réseau de l&#039;É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.&lt;br /&gt;
&lt;br /&gt;
== Le hic ==&lt;br /&gt;
Il existe depuis l&#039;interface GUI de TP-Link un endroit où l&#039;on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d&#039;OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l&#039;on ne peut pas directement fournir l&#039;image d&#039;OpenWRT depuis cette interface car &#039;&#039;&#039;cela va très probablement briquer le routeur&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Il faut donc procéder autrement, et l&#039;on va donc utiliser le protocole TFTP [https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol] pour pouvoir fournir notre image au routeur.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, les liens suivants pourront vous être utiles en complément :&lt;br /&gt;
* Page officielle pour le modèle Archer C50 [https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions]&lt;br /&gt;
* Autre tutoriel qui a servi a l&#039;élaboration de celui ci. Certains phases sont identiques et il y a d&#039;autres compléments d&#039;informations [[Routeurs Wi-Fi/Tutoriel]]&lt;br /&gt;
&lt;br /&gt;
== Préparation ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
* 1ère possibilité: Utiliser un &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; tout fait disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici]. (Utilise la version OS et pense à le renommer en &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 2ème possibilité: Le faire soit même, comme ceci:&lt;br /&gt;
&lt;br /&gt;
Récupérez l&#039;image du firware TP-Link depuis le site officiel qui devra être nommé &amp;lt;code&amp;gt;tpl.bin&amp;lt;/code&amp;gt;, et celle d&#039;OpenWRT (https://firmware-selector.openwrt.org/) nommée &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; et placez les dans un répertoire commun.&lt;br /&gt;
&lt;br /&gt;
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&#039;il n&#039;existe actuellement pas de firmware OpenWRT pour le Archer A5, il faut prendre celui du Archer C50.&lt;br /&gt;
&lt;br /&gt;
Il est également possible que la version d&#039;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&#039;il n&#039;existe pas d&#039;image pré-compilée pour le routeur, il faut [[Compiler OpenWRT]]. &lt;br /&gt;
&lt;br /&gt;
Dans un terminal ouvert sur le répertoire, exécutez les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1&lt;br /&gt;
 dd if=tpl.bin of=tmp.bin bs=131584 count=1&lt;br /&gt;
 dd if=tmp.bin of=boot.bin bs=512 skip=1&lt;br /&gt;
 cat boot.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
 cat owrt.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Ce sera l&#039;image &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; qui vient d&#039;être créée qui nous intéressera par la suite. L&#039;image doit peser environ 6 Mo.&lt;br /&gt;
&lt;br /&gt;
* Si jamais à un moment ou un autre, le routeur est &#039;&#039;&#039;brické&#039;&#039;&#039; (cassé) tu peux le débloquer en utilisant le &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; disponible [https://stratus.binets.fr/s/q8joypmLcN9jbfD ici]&lt;br /&gt;
&lt;br /&gt;
== Procédure TFTP ==&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; ce qui nous indique (contrairement à ce qu&#039;on aurait pu penser) que le routeur sera client et le PC sera serveur.&lt;br /&gt;
&lt;br /&gt;
Pour la suite, le lien suivant peut être d&#039;une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4&lt;br /&gt;
&lt;br /&gt;
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 (&#039;&#039;&#039;éteint&#039;&#039;&#039;) au switch via un de ses ports orange (le 1 par exemple). Depuis l&#039;interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d&#039;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&#039;OpenWRT comme étant &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer &#039;&#039;Current Directory&#039;&#039; pour être le répertoire dans lequel &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; est situé. Cliquez sur &#039;&#039;Show dir&#039;&#039; pour vérifier qu&#039;il fait bien partie de la liste des fichiers présents. Ouvrez l&#039;onglet de &#039;&#039;Log&#039;&#039;. C&#039;est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d&#039;appuyer sur un bouton supplémentaire.&lt;br /&gt;
&lt;br /&gt;
Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu&#039;à ce que la LED WPS soit allumée.&lt;br /&gt;
&lt;br /&gt;
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&#039;onglet &#039;&#039;Log&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 atftp 192.168.0.66&lt;br /&gt;
 get tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Qui devrait retourner sans erreur.&lt;br /&gt;
&lt;br /&gt;
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&#039;opération, il devrait se redémarrer.&lt;br /&gt;
&lt;br /&gt;
Attention: si les LEDs clignotent périodiquement après le redémarrage, cela signifie que l&#039;installation a échoué et qu&#039;il n&#039;arrive pas à booter. Assurez-vous d&#039;avoir le bon fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; puis recommencez le transfert.&lt;br /&gt;
&lt;br /&gt;
== Hello, OpenWRT world ==&lt;br /&gt;
&lt;br /&gt;
=== Préalables ===&lt;br /&gt;
&lt;br /&gt;
==== Routeur connecté à Internet ====&lt;br /&gt;
&lt;br /&gt;
Heureusement tout n&#039;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é).&lt;br /&gt;
&lt;br /&gt;
Le routeur va avoir besoin d&#039;Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l&#039;adresse 192.168.1.1).&lt;br /&gt;
Connectez-vous alors à votre réseau dans allant dans &#039;&#039;Network&#039;&#039;, Scan et sélectionnant le bon Wifi. C&#039;est essentiel d&#039;avoir une bonne connexion, et cela peut être à l&#039;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&#039;onglet Diagnostics de la GUI.&lt;br /&gt;
&lt;br /&gt;
==== Paquet wpa-supplicant installé ====&lt;br /&gt;
&lt;br /&gt;
Connectez-vous par SSH au routeur avec :&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Sur certains modèles, il est nécessaire d&#039;utiliser la commande &amp;lt;code&amp;gt;ssh root@192.168.1.1 -oHostKeyAlgorithms=+ssh-rsa&amp;lt;/code&amp;gt;.&lt;br /&gt;
Dans un premier temps, mettez à jour les packets :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi le faire depuis le web GUI (disponible sur 192.168.1.1 mdp root) System &amp;gt; Software et Run update.&lt;br /&gt;
&lt;br /&gt;
Installer également nano si vous le souhaitez (vim est installé par défaut) :&lt;br /&gt;
&lt;br /&gt;
 opkg install nano&lt;br /&gt;
&lt;br /&gt;
On va maintenant installer le paquet qui va s&#039;occuper de nous authentifier au réseau. Il est probable qu&#039;un autre paquet (wpad-basic ou wpad-basic-wolfssl selon les modèles) est préinstallé : il va falloir le désinstaller.&lt;br /&gt;
&lt;br /&gt;
 opkg remove wpad-basic&lt;br /&gt;
 opkg install wpa-supplicant-openssl&lt;br /&gt;
&lt;br /&gt;
Points d&#039;attention:&lt;br /&gt;
* c&#039;est &#039;&#039;&#039;supplicant&#039;&#039;&#039; et pas &#039;&#039;&#039;applicant&#039;&#039;&#039;&lt;br /&gt;
* vous pouvez déterminer quelle saveur de wpad-basic est installé avec la commande &amp;lt;code&amp;gt;opkg list-installed&amp;lt;/code&amp;gt;&lt;br /&gt;
* depuis l&#039;été 2023, il faut installer wpa-supplicant-openssl et pas wpa-supplicant&lt;br /&gt;
* après avoir désinstallé wpad-basic, vous ne pourrez plus vous reconnecter à votre hotspot si vous êtes déconnecté&lt;br /&gt;
* si vous avez été déconnecté du hotspot avant de finir la configuration et que vous n&#039;avez plus de connexion à Internet, vous pouvez réinstaller le système depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Si l&#039;installation échoue pour cause d&#039;espace insufisant ====&lt;br /&gt;
&lt;br /&gt;
Si l&#039;installation de wpa-supplicant-openssl échoue par faute de place, il est possible que votre espace de stockage soit extrêmement faible, de l&#039;ordre de 1 ou 2 Mo.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez vérifier l&#039;espace de stockage avec la commande :&lt;br /&gt;
&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite regarder le volume overlayfs.&lt;br /&gt;
En octobre 2023, une installation complète a pu être faite sur un routeur avec 1.75 Mo d&#039;espace sur overlayfs, modulo quelques changements :&lt;br /&gt;
* réinitialiser le routeur depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;. (l&#039;installation avortée de wpa-supplicant-openssl laisse de lourds artéfacts qui ne sont pas nettoyés par opkg) ;&lt;br /&gt;
* 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 ;&lt;br /&gt;
* utiliser le paquet hostapd-mini au lieu de hostapd lors de la mise en place du Wifi.&lt;br /&gt;
&lt;br /&gt;
À 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&#039;est donc pas possible d&#039;installer les paquets à cet endroit.&lt;br /&gt;
&lt;br /&gt;
=== Configuration d&#039;Ethernet ===&lt;br /&gt;
&lt;br /&gt;
Ensuite configurez votre connexion en éditant :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Et en insérant le texte suivant :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;prénom.nom@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;monpassword&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=monpassword&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
En remplaçant les occurrences de &amp;lt;code&amp;gt;prénom.nom&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;monpassword&amp;lt;/code&amp;gt; (attention il apparaît deux fois) en conséquence.&lt;br /&gt;
&lt;br /&gt;
On va maintenant tenter de se connecter.&lt;br /&gt;
&lt;br /&gt;
 wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Si cela échoue,&lt;br /&gt;
* Regardez avec &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt; quel port il vaut mieux utiliser, c&#039;est peut-être eth1 chez vous.&lt;br /&gt;
* Vérifiez vos identifiants de connexion en cas d&#039;erreur de certificat&lt;br /&gt;
* Vérifiez que la date du système n&#039;est pas aberrante (une différence de quelques heures est OK)&lt;br /&gt;
* Vérifiez que vous avez bien installé &amp;lt;code&amp;gt;wpa-supplicant-openssl&amp;lt;/code&amp;gt; et pas &amp;lt;code&amp;gt;wpa-supplicant&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la commande précédente donne CTRL-EVENT-CONNECTED, c&#039;est bon vous pouvez continuer.&lt;br /&gt;
&lt;br /&gt;
=== Configuration du démarrage automatique ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant changer un autre fichier pour configurer le démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/init.d/wpa&lt;br /&gt;
&lt;br /&gt;
avec le contenu :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() {&lt;br /&gt;
   echo start&lt;br /&gt;
   wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf &amp;amp;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l&#039;étape précédente (en particulier le eth0.2)&lt;br /&gt;
&lt;br /&gt;
Rendre si besoin le fichier executable avec &amp;lt;code&amp;gt;chmod +x /etc/init.d/wpa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activation du démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa start&lt;br /&gt;
&lt;br /&gt;
Si retourne sans erreur : OK&lt;br /&gt;
&lt;br /&gt;
Puis:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa enable&lt;br /&gt;
&lt;br /&gt;
En faisant Ctrl+C si besoin.&lt;br /&gt;
&lt;br /&gt;
=== Paquet Hostapd ===&lt;br /&gt;
&lt;br /&gt;
Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe.&lt;br /&gt;
&lt;br /&gt;
Depuis un terminal en ssh, doit être :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install hostapd&lt;br /&gt;
&lt;br /&gt;
Alternativement, vous pouvez utiliser le web GUI:&lt;br /&gt;
* Aller dans System &amp;gt; Software&lt;br /&gt;
* Run Update&lt;br /&gt;
* Filter: rechercher hostapd&lt;br /&gt;
* Install&lt;br /&gt;
* Dismiss&lt;br /&gt;
&lt;br /&gt;
=== Config wifi ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant créer une nouvelle configuration Wifi :&lt;br /&gt;
&lt;br /&gt;
 uci set wireless.@wifi-device[0].disabled=0&lt;br /&gt;
 uci set wireless.@wifi-iface[0].ssid=&#039;NOM_DU_WIFI&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].encryption=&#039;psk2&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].key=&#039;MOT-DE-PASSE&#039;&lt;br /&gt;
 uci set wireless.@wifi-device[0].country=&#039;FR&#039;&lt;br /&gt;
 uci commit wireless; wifi&lt;br /&gt;
&lt;br /&gt;
En changeant &amp;lt;code&amp;gt;NOM_DU_WIFI&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT-DE-PASSE&amp;lt;/code&amp;gt; en conséquence.&lt;br /&gt;
&lt;br /&gt;
Redémarrer :&lt;br /&gt;
&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
Vous devriez maintenant avoir un réseau Wifi fonctionnel, émis par votre routeur, auquel vous pouvez vous connecter !&lt;br /&gt;
&lt;br /&gt;
=== Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED ===&lt;br /&gt;
&lt;br /&gt;
Lancer &amp;lt;code&amp;gt;wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&amp;lt;/code&amp;gt;, et depuis l&#039;interface graphique, restart eth0.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Trucs_et_astuces&amp;diff=10011</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Trucs_et_astuces&amp;diff=10011"/>
		<updated>2024-01-14T11:00:38Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Fix header level&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Menu tutoriels}}&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
Le saviez-vous ? Il est possible de stocker tous ses mots de passe de manière sécurisée, de regarder youtube sans les pubs, d&#039;utiliser l&#039;intelligence artificielle pour faire les TD d&#039;info (sous réserve de quelques modifications) !&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, les trucs et astuces du BR pour avoir une vie numérique un peu plus confortable.&lt;br /&gt;
&lt;br /&gt;
== Extensions de navigateur recommandées ==&lt;br /&gt;
Les extensions de navigateur, ça change la vie. Ci-dessous sont énumérées quelques extensions populaires qui rendent la navigation plus agréable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Si vous utilisez Firefox, vous disposerez aussi des extensions sur mobile ! Ce n&#039;est pas le cas de Chrome, qui pourrait bien interdire les adblockers dans le futur.&lt;br /&gt;
&lt;br /&gt;
=== uBlock Origin ===&lt;br /&gt;
&lt;br /&gt;
[https://ublockorigin.com/ ublock Origin] est un Ad Blocker open source très efficace. Il retire l&#039;intégralité des pubs des sites web et de youtube, et n&#039;est pas vendu aux publicitaires.&lt;br /&gt;
&lt;br /&gt;
=== Bitwarden ===&lt;br /&gt;
&lt;br /&gt;
[https://bitwarden.com/download/ Bitwarden] est un gestionnaire de mot de passe open-source hébergé dans le cloud et disponible sur navigateur, mobile et desktop. Il permet de générer des mots de passe aléatoires customisés, d&#039;avoir de l&#039;autocomplétion sur vos sites préférés, etc. Ça vaut toujours mieux que les gestionnaires intégrés de Chrome ou Firefox, ou même que d&#039;autres gestionnaires de mots passe propriétaires.&lt;br /&gt;
&lt;br /&gt;
=== Return Youtube Dislike ===&lt;br /&gt;
&lt;br /&gt;
[https://www.returnyoutubedislike.com/ Return Youtube Dislike] est une extension toute simple qui fait revenir l&#039;affichage des dislikes sur le site de [https://www.youtube.com/ Youtube].&lt;br /&gt;
&lt;br /&gt;
=== Dark Reader ===&lt;br /&gt;
&lt;br /&gt;
[https://darkreader.org/ Dark Reader] est une extension qui permet d&#039;avoir un mode sombre sur votre navigateur. Il fonctionne très bien pour la plupart des sites, et peut-être configuré pour afficher un mode sombre par défaut, ou bien seulement pour les sites que vous choisissez.&lt;br /&gt;
&lt;br /&gt;
== L&#039;appli Youtube sans pubs ==&lt;br /&gt;
&lt;br /&gt;
Si vous voulez utiliser une version modifiée du client officiel, continuez votre lecture. Si vous préférez utiliser un client open source, sachez qu&#039;il existe Newpipe qui permet également de bloquer les publicités et de télécharger les vidéos (voir [[#Applications open source sur Android]]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Youtube Revanced&#039;&#039;&#039; est un patch open source (seul le patch est open source, pas l&#039;application) non officiel de l&#039;application Youtube, qui intègre de nombreuses fonctionnalités additionnelles. Elle n&#039;est actuellement disponible que pour Android, car Apple n&#039;autorise pas l&#039;installation d&#039;applications ne figurant pas sur l&#039;Apple Store (tandis qu&#039;Android, si). On y trouve notamment :&lt;br /&gt;
&lt;br /&gt;
* Blocage des pubs et sponsorisations (configurable)&lt;br /&gt;
* Retour de l&#039;affichage des dislikes&lt;br /&gt;
* Lecture en arrière plan&lt;br /&gt;
* Téléchargement de vidéos&lt;br /&gt;
* Contrôle du son et de la luminosité avec des swipe gestures, etc.&lt;br /&gt;
&lt;br /&gt;
Le [https://revanced.app site officiel], et un [https://www.reddit.com/r/revancedapp/comments/xlcny9/revanced_manager_guide_for_dummies/ guide pour l&#039;installation].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque:&#039;&#039;&#039; même après avoir téléchargé l&#039;application, les liens vers youtube seront toujours ouverts avec l&#039;application youtube. Pour y remédier, il faut désactiver l&#039;appli youtube, puis associer l&#039;application Revanced avec les liens youtube. Cette option est disponible dans l&#039;application &#039;&#039;&#039;Settings&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Applications&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Applications par défaut&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Ouverture des liens&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;ReVanced&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Adr. Web prises en charge&#039;&#039;&#039;, puis cocher les 4 adresses (testé sur téléphone Samsung).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise à jour:&#039;&#039;&#039; pour mettre à jour l&#039;application (nécessaire pour résoudre les bugs susceptibles d&#039;apparaître), il faut télécharger à nouveau l&#039;apk la plus récente. Elle mettra automatiquement à jour l&#039;application.&lt;br /&gt;
&lt;br /&gt;
== Github Copilot ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/features/copilot Github Copilot] est un outil d&#039;intelligence artificielle utile pour accélérer le développement informatique. Il est disponible dans la plupart des IDE. En temps normal, son utilisation se paye 10$/mois, ou 100$/an, mais elle est gratuite pour les étudiants !&lt;br /&gt;
&lt;br /&gt;
Pour accéder gratuitement à Github Copilot, il suffit de:&lt;br /&gt;
* Disposer d&#039;un compte Github&lt;br /&gt;
* S&#039;inscrire comme étudiant sur [https://education.github.com/discount_requests/application education.github.com] en ajoutant son adresse en &#039;&#039;polytechnique.edu&#039;&#039; comme preuve.&lt;br /&gt;
* Une fois la vérification faite, configurer l&#039;accès à Copilot depuis les [https://github.com/settings/copilot settings] de votre compte Github.&lt;br /&gt;
&lt;br /&gt;
Et voilà ! Il n&#039;y a plus qu&#039;à installer l&#039;extension &#039;&#039;&#039;Github Copilot&#039;&#039;&#039; dans l&#039;IDE de votre choix, puis d&#039;authentifier votre compte Github, et vous êtes prêts à coder !&lt;br /&gt;
&lt;br /&gt;
== Applications open source sur Android ==&lt;br /&gt;
&lt;br /&gt;
Sur Android, il existe un magasin d&#039;applications qui ne contient que des logiciels libres : F-droid. Le client officiel est daté et pose des problèmes de sécurité. On vous conseille donc d&#039;installer un client plus récent : [https://f-droid.org/en/packages/com.looker.droidify/ Droid-ify] (bouton &#039;&#039;DOWNLOAD F-DROID&#039;&#039;) (disponible uniquement sur Android, évidemment). &lt;br /&gt;
&lt;br /&gt;
Cette application est un &#039;&#039;Google Play&#039;&#039; pour applications libres et open source. Pour pouvoir l&#039;utiliser, il faudra d&#039;abord l&#039;autoriser comme application de téléchargement d&#039;autres applications (à l&#039;ouverture). &lt;br /&gt;
&lt;br /&gt;
On vous recommande notamment l&#039;application &#039;&#039;&#039;NewPipe&#039;&#039;&#039;, un client Youtube libre n&#039;utilisant pas l&#039;API de Google qui enlève les publicités et qui permet de télécharger des vidéos et d&#039;écouter des vidéos en arrière plan.&lt;br /&gt;
&lt;br /&gt;
== Gestionnaires de versions pour coder ==&lt;br /&gt;
&lt;br /&gt;
Selon les projets d&#039;informatique que vous réalisez, vous aurez probablement besoin d&#039;utiliser des versions de python ou node différentes (node16 pour Sigma, python3.7 pour les sites binets python hébergés par le BR).&lt;br /&gt;
&lt;br /&gt;
C&#039;est notamment une très bonne pratique pour faciliter le déploiement d&#039;applications python que d&#039;utiliser un environnement virtuel pour son projet, avec un liste de dépendances requirements.txt à la racine du projet. On vous explique comment configurer et utiliser tout ça.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
Pour le développement d&#039;applis python, sites, etc : voir [[Trucs_et_astuces#Environnements_virtuels_python_avec_Pyenv| Pyenv]].&lt;br /&gt;
&lt;br /&gt;
Pour le développement de scripts scientifiques en python, avec utilisation de notebooks jupyter et shell IPython, etc : voir [[Trucs_et_astuces#Environnements_python_avec_Mamba|Mamba]].&lt;br /&gt;
&lt;br /&gt;
==== Environnements virtuels python avec Pyenv ====&lt;br /&gt;
&lt;br /&gt;
===== Installation =====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/pyenv/pyenv Pyenv] est un gestionnaire de versions Python qui permet de changer rapidement de version &#039;&#039;&#039;sans toucher à la version python utilisée par le système&#039;&#039;&#039;. Les versions sont installées dans &amp;lt;code&amp;gt;/home/&amp;lt;username&amp;gt;/.pyenv/versions/&amp;lt;/code&amp;gt; sous Linux, et &amp;lt;code&amp;gt;C:\Users\&amp;lt;username&amp;gt;\.pyenv\versions\&amp;lt;/code&amp;gt; sous Windows. &lt;br /&gt;
&lt;br /&gt;
[https://github.com/pyenv-win/pyenv-win Installer pyenv sur Windows]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/pyenv/pyenv Installer pyenv sur Linux] (ou via votre gestionnaire de paquets).&lt;br /&gt;
&lt;br /&gt;
===== Installer des versions de python =====&lt;br /&gt;
&lt;br /&gt;
Pour lister les versions de python disponibles :&lt;br /&gt;
 pyenv install --list&lt;br /&gt;
&lt;br /&gt;
Pour lister des versions spécifiques :&lt;br /&gt;
 pyenv install --list | grep 3.11 # Sur Linux&lt;br /&gt;
 pyenv install --list | findstr 3.11 # Sur Windows&lt;br /&gt;
&lt;br /&gt;
Pour installer une version :&lt;br /&gt;
 pyenv install -v 3.11.3 # Remplacer par le nom complet de la version désirée&lt;br /&gt;
&lt;br /&gt;
Pour lister les versions disponibles via pyenv :&lt;br /&gt;
 pyenv versions&lt;br /&gt;
&lt;br /&gt;
===== Générer un environnement virtuel =====&lt;br /&gt;
&lt;br /&gt;
Pour générer un environnement virtuel python à la racine d&#039;un projet :&lt;br /&gt;
Activer une version de python dans le shell:&lt;br /&gt;
 pyenv shell 3.11.3 # Utiliser cette version temporairement, dans ce shell&lt;br /&gt;
 pyenv local 3.11.3 # Toujours utiliser cette version dans ce dossier&lt;br /&gt;
 pyenv global 3.11.3 # Toujours utiliser cette version, partout&lt;br /&gt;
&lt;br /&gt;
Créer un environnement virtuel dans un dossier &amp;lt;code&amp;gt;venv/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 python -m venv venv&lt;br /&gt;
&lt;br /&gt;
Activer l&#039;environnement virtuel :&lt;br /&gt;
 source venv/bin/activate # Sous Linux&lt;br /&gt;
 .\venv\Scripts\activate # Sous Windows&lt;br /&gt;
&lt;br /&gt;
Vous avez à présent un environnement virtuel python à la racine de votre projet, qu&#039;il vous suffira d&#039;activer à chaque fois que vous lancez votre projet. &#039;&#039;&#039;Note :&#039;&#039;&#039; VSCode réalise cette activation tout seul si vous lui dites d&#039;utiliser l&#039;environnement virtuel pour votre projet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; si votre projet est versionné avec &#039;&#039;Git&#039;&#039;, il ne faut pas commit votre venv! Ajoutez un fichier &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt; à la racine de votre projet, et ajoutez une ligne &amp;lt;code&amp;gt;venv&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez à présent installer des packages (après avoir activé l&#039;environnement virtuel !)&lt;br /&gt;
 pip install &amp;lt;packages&amp;gt;&lt;br /&gt;
 pip install -r requirements.txt # Si vous récupérez un projet avec des dépendances existantes&lt;br /&gt;
&lt;br /&gt;
Pour générer un fichier &amp;lt;code&amp;gt;requirements.txt&amp;lt;/code&amp;gt; afin de faciliter la mise en place pour vos collègues / pour le déploiement de votre app sur les serveurs du BR :&lt;br /&gt;
 pip freeze &amp;gt; requirements.txt&lt;br /&gt;
&lt;br /&gt;
===== Environnement virtuel global =====&lt;br /&gt;
&lt;br /&gt;
Pyenv permet aussi de générer des environnements virtuels globaux avec &amp;lt;code&amp;gt;pyenv virtualenv&amp;lt;/code&amp;gt;, un plugin que vous pouvez installer [https://github.com/pyenv/pyenv-virtualenv ici]. C&#039;est similaire au fonctionnement de [[Trucs_et_astuces#Environnements_python_avec_Mamba|Mamba]].&lt;br /&gt;
&lt;br /&gt;
Créez un environnement virtuel global avec la commande suivante :&lt;br /&gt;
 pyenv virtualenv &amp;lt;version&amp;gt; &amp;lt;nom de votre environnement global custom&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez ensuite l&#039;activer comme les autres environnements avec&lt;br /&gt;
 pyenv shell &amp;lt;nom de votre environnement global custom&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Environnements python avec Mamba ====&lt;br /&gt;
&lt;br /&gt;
Vous connaissez peut-être déjà [https://docs.conda.io/en/latest/ Conda], un gestionnaire de paquets et d&#039;environnements python principalement utilisé pour des projets scientifiques. [https://github.com/mamba-org/mamba Mamba] en est une version entièrement réécrite en C++, bien plus rapide et performante.&lt;br /&gt;
&lt;br /&gt;
Installation [https://mamba.readthedocs.io/en/latest/installation.html ici].&lt;br /&gt;
&lt;br /&gt;
Mamba permet de créer des environnements virtuels dans &amp;lt;code&amp;gt;/home/&amp;lt;username&amp;gt;/mambaforge-pypy3/envs&amp;lt;/code&amp;gt; (sous Linux, par exemple) qui seront réutilisables dans tous vos projets !&lt;br /&gt;
&lt;br /&gt;
Créer un environnement virtuel :&lt;br /&gt;
 mamba create -n nom_de_lenvironnement &amp;lt;liste de packages&amp;gt;&lt;br /&gt;
 mamba create -n nom_de_lenvironnement &amp;lt;liste de packages&amp;gt; python=3.10 # Avec une version spécifique de python&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
 mamba create -n inf442 numpy pandas scikit-learn&lt;br /&gt;
&lt;br /&gt;
Activation d&#039;un environnement virtuel :&lt;br /&gt;
 mamba activate inf442&lt;br /&gt;
 mamba deactivate # Pour le désactiver&lt;br /&gt;
&lt;br /&gt;
Installation de paquets : après avoir activé votre environnement mamba, utilisez la commande &amp;lt;code&amp;gt;mamba install&amp;lt;/code&amp;gt; au lieu de &amp;lt;code&amp;gt;pip install&amp;lt;/code&amp;gt;, et le tout est joué.&lt;br /&gt;
&lt;br /&gt;
==== Environnements python avec poetry ====&lt;br /&gt;
&lt;br /&gt;
[https://python-poetry.org/ poetry] est un autre gestionnaire de dépendance extrêmement utile si vous développez en collaboratif notamment avec [[Git]]. Là où [[Trucs_et_astuces#Environnements_python_avec_Mamba|Mamba]] permet de réutiliser ses environnements, la logique de &#039;&#039;&#039;poetry&#039;&#039;&#039; est d&#039;utiliser un environnement par projet.&lt;br /&gt;
&lt;br /&gt;
L&#039;intérêt est que &#039;&#039;&#039;poetry&#039;&#039;&#039; produit un fichier &#039;&#039;&#039;poetry.lock&#039;&#039;&#039; permettant de reproduire à l&#039;identique l&#039;environnement virtuel sur une autre machine en une commande, tout en gardant la possibilité d&#039;effectuer des mises à jour des dépendances aisément.&lt;br /&gt;
&lt;br /&gt;
Installation [https://python-poetry.org/docs/#installation ici]&lt;br /&gt;
&lt;br /&gt;
Les principales commandes de &#039;&#039;&#039;poetry&#039;&#039;&#039; sont :&lt;br /&gt;
&lt;br /&gt;
Création d&#039;un environnement poetry :&lt;br /&gt;
 poetry init&lt;br /&gt;
&lt;br /&gt;
Cette commande permet d&#039;initialiser &#039;&#039;&#039;poetry&#039;&#039;&#039; dans le dossier courant de manière interactive, en définissant le nom du projet, les auteurs et les dépendances.&lt;br /&gt;
&lt;br /&gt;
Cette commande génère les fichiers &amp;lt;code&amp;gt;pyproject.toml&amp;lt;/code&amp;gt;, qui contient toutes les informations du projet, et &amp;lt;code&amp;gt;poetry.lock&amp;lt;/code&amp;gt;, qui contient l&#039;état exact du projet (l&#039;équivalent de &amp;lt;code&amp;gt;pip freeze&amp;lt;/code&amp;gt;). Il est fortement recommandé de traquer ces fichiers avec [[Git]] si votre projet utilise [[Git]].&lt;br /&gt;
&lt;br /&gt;
Installation d&#039;un environnement &#039;&#039;&#039;poetry&#039;&#039;&#039; :&lt;br /&gt;
 poetry install&lt;br /&gt;
&lt;br /&gt;
Cette commande permet d&#039;installer un environnement sur la base d&#039;un fichier &amp;lt;code&amp;gt;poetry.lock&amp;lt;/code&amp;gt; (typiquement suite à un &amp;lt;code&amp;gt;git clone&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ajout de dépendances :&lt;br /&gt;
 poetry add &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande ajoute et installe la dépendance. La gestion des dépendances de poetry respecte [https://semver.org/ semver], c&#039;est-à-dire qu&#039;un projet peut indiquer être compatible avec toute version ultérieure de la dépendance ayant la même version majeure (c&#039;est le cas par défaut). Cela est indiqué en ajoutant &amp;lt;code&amp;gt;^&amp;lt;/code&amp;gt; à la version requise, par exemple &amp;lt;code&amp;gt;python = &amp;quot;^3.8&amp;quot;&amp;lt;/code&amp;gt; (i.e. cela indique que le projet est compatible avec Python 3.8, 3.9, 3.10... mais pas 4.0)&lt;br /&gt;
&lt;br /&gt;
Mettre à jour les dépendances :&lt;br /&gt;
 poetry update&lt;br /&gt;
&lt;br /&gt;
Lancer une commande dans l&#039;environnement :&lt;br /&gt;
 poetry run &amp;lt;commande&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
 poetry run python mon_projet.py&lt;br /&gt;
&lt;br /&gt;
Activer l&#039;environnement :&lt;br /&gt;
 poetry shell&lt;br /&gt;
&lt;br /&gt;
Cette commande génère un shell dans l&#039;environnement&lt;br /&gt;
&lt;br /&gt;
Ces commandes sont détaillées en détail [https://python-poetry.org/docs/basic-usage/ ici]&lt;br /&gt;
&lt;br /&gt;
=== Plusieurs versions de Node.js avec NVM ===&lt;br /&gt;
&lt;br /&gt;
Si vous faites du développement web avec du Typescript/Javascript sans utiliser de conteneurs docker, vous avez besoin d&#039;installer [https://nodejs.org/en/about Node.js], un runtime javascript. Selon votre système d&#039;exploitation, il est possible que la version de node installée par défaut ne corresponde pas à celle attendue par votre projet (sous Linux, en particulier).&lt;br /&gt;
&lt;br /&gt;
Le gestionnaire de versions Node [https://github.com/nvm-sh/nvm NVM] permet d&#039;installer et switcher rapidement entre plusieurs versions de Node.&lt;br /&gt;
&lt;br /&gt;
Installer une version :&lt;br /&gt;
 nvm install &amp;lt;version&amp;gt;&lt;br /&gt;
 nvm install 16 # Pour Sigma, par exemple&lt;br /&gt;
&lt;br /&gt;
Utiliser une version :&lt;br /&gt;
 nvm ls # Lister les versions&lt;br /&gt;
 nvm use &amp;lt;version&amp;gt; # Utiliser une version&lt;br /&gt;
 node -v # Vérifier que la version est bien utilisée&lt;br /&gt;
&lt;br /&gt;
Pour utiliser à nouveau la version système dans votre shell :&lt;br /&gt;
 nvm use system&lt;br /&gt;
&lt;br /&gt;
== Utiliser Windows Subsystem for Linux pour faire du C++ ==&lt;br /&gt;
&lt;br /&gt;
L&#039;environnement de Windows est peu optimisé pour faire du C++. Le C++ est un langage qui, contrairement à python, javascript, Go, Rust... n&#039;a pas de &#039;&#039;&#039;gestionnaire de paquets&#039;&#039;&#039;. Il est donc incroyablement difficile d&#039;installer et utiliser des librairies supplémentaires sur un système d&#039;exploitation qui n&#039;est pas fait pour ça (Windows) ! Ce problème ne se pose pas sous Linux, dont le système de fichiers et les gestionnaires de paquets intégrés fonctionnent très bien avec ce langage.&lt;br /&gt;
&lt;br /&gt;
Heureusement, Windows dispose d&#039;un système de machines virtuelles légères pour utiliser Linux dans un terminal. Voici un guide pour la mise en place de WSL sur une machine Windows.&lt;br /&gt;
&#039;&#039;Note: le script fourni dans le guide a été conçu pour mettre en place l&#039;environnement c++ pour inf442. Si vous ne suivez pas ce cours, il vous suffit juste d&#039;installer les outils de développement c++ avec la commande &amp;lt;code&amp;gt;apt-get install -y build-essential&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Le [https://stratus.binets.fr/s/pFkqwMAqTaLK9QY guide].&lt;br /&gt;
&lt;br /&gt;
Le [https://stratus.binets.fr/s/545XG3sGP3bHHqE script].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Guide réalisé par Thibaut de Saivre, VPrez BR21. Contactez-moi si vous avez un problème avec ce setup&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Trucs_et_astuces&amp;diff=10010</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Trucs_et_astuces&amp;diff=10010"/>
		<updated>2024-01-14T11:00:05Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Documentation de poetry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Menu tutoriels}}&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
Le saviez-vous ? Il est possible de stocker tous ses mots de passe de manière sécurisée, de regarder youtube sans les pubs, d&#039;utiliser l&#039;intelligence artificielle pour faire les TD d&#039;info (sous réserve de quelques modifications) !&lt;br /&gt;
&lt;br /&gt;
Ci-dessous, les trucs et astuces du BR pour avoir une vie numérique un peu plus confortable.&lt;br /&gt;
&lt;br /&gt;
== Extensions de navigateur recommandées ==&lt;br /&gt;
Les extensions de navigateur, ça change la vie. Ci-dessous sont énumérées quelques extensions populaires qui rendent la navigation plus agréable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Si vous utilisez Firefox, vous disposerez aussi des extensions sur mobile ! Ce n&#039;est pas le cas de Chrome, qui pourrait bien interdire les adblockers dans le futur.&lt;br /&gt;
&lt;br /&gt;
=== uBlock Origin ===&lt;br /&gt;
&lt;br /&gt;
[https://ublockorigin.com/ ublock Origin] est un Ad Blocker open source très efficace. Il retire l&#039;intégralité des pubs des sites web et de youtube, et n&#039;est pas vendu aux publicitaires.&lt;br /&gt;
&lt;br /&gt;
=== Bitwarden ===&lt;br /&gt;
&lt;br /&gt;
[https://bitwarden.com/download/ Bitwarden] est un gestionnaire de mot de passe open-source hébergé dans le cloud et disponible sur navigateur, mobile et desktop. Il permet de générer des mots de passe aléatoires customisés, d&#039;avoir de l&#039;autocomplétion sur vos sites préférés, etc. Ça vaut toujours mieux que les gestionnaires intégrés de Chrome ou Firefox, ou même que d&#039;autres gestionnaires de mots passe propriétaires.&lt;br /&gt;
&lt;br /&gt;
=== Return Youtube Dislike ===&lt;br /&gt;
&lt;br /&gt;
[https://www.returnyoutubedislike.com/ Return Youtube Dislike] est une extension toute simple qui fait revenir l&#039;affichage des dislikes sur le site de [https://www.youtube.com/ Youtube].&lt;br /&gt;
&lt;br /&gt;
=== Dark Reader ===&lt;br /&gt;
&lt;br /&gt;
[https://darkreader.org/ Dark Reader] est une extension qui permet d&#039;avoir un mode sombre sur votre navigateur. Il fonctionne très bien pour la plupart des sites, et peut-être configuré pour afficher un mode sombre par défaut, ou bien seulement pour les sites que vous choisissez.&lt;br /&gt;
&lt;br /&gt;
== L&#039;appli Youtube sans pubs ==&lt;br /&gt;
&lt;br /&gt;
Si vous voulez utiliser une version modifiée du client officiel, continuez votre lecture. Si vous préférez utiliser un client open source, sachez qu&#039;il existe Newpipe qui permet également de bloquer les publicités et de télécharger les vidéos (voir [[#Applications open source sur Android]]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Youtube Revanced&#039;&#039;&#039; est un patch open source (seul le patch est open source, pas l&#039;application) non officiel de l&#039;application Youtube, qui intègre de nombreuses fonctionnalités additionnelles. Elle n&#039;est actuellement disponible que pour Android, car Apple n&#039;autorise pas l&#039;installation d&#039;applications ne figurant pas sur l&#039;Apple Store (tandis qu&#039;Android, si). On y trouve notamment :&lt;br /&gt;
&lt;br /&gt;
* Blocage des pubs et sponsorisations (configurable)&lt;br /&gt;
* Retour de l&#039;affichage des dislikes&lt;br /&gt;
* Lecture en arrière plan&lt;br /&gt;
* Téléchargement de vidéos&lt;br /&gt;
* Contrôle du son et de la luminosité avec des swipe gestures, etc.&lt;br /&gt;
&lt;br /&gt;
Le [https://revanced.app site officiel], et un [https://www.reddit.com/r/revancedapp/comments/xlcny9/revanced_manager_guide_for_dummies/ guide pour l&#039;installation].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque:&#039;&#039;&#039; même après avoir téléchargé l&#039;application, les liens vers youtube seront toujours ouverts avec l&#039;application youtube. Pour y remédier, il faut désactiver l&#039;appli youtube, puis associer l&#039;application Revanced avec les liens youtube. Cette option est disponible dans l&#039;application &#039;&#039;&#039;Settings&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Applications&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Applications par défaut&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Ouverture des liens&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;ReVanced&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Adr. Web prises en charge&#039;&#039;&#039;, puis cocher les 4 adresses (testé sur téléphone Samsung).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mise à jour:&#039;&#039;&#039; pour mettre à jour l&#039;application (nécessaire pour résoudre les bugs susceptibles d&#039;apparaître), il faut télécharger à nouveau l&#039;apk la plus récente. Elle mettra automatiquement à jour l&#039;application.&lt;br /&gt;
&lt;br /&gt;
== Github Copilot ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/features/copilot Github Copilot] est un outil d&#039;intelligence artificielle utile pour accélérer le développement informatique. Il est disponible dans la plupart des IDE. En temps normal, son utilisation se paye 10$/mois, ou 100$/an, mais elle est gratuite pour les étudiants !&lt;br /&gt;
&lt;br /&gt;
Pour accéder gratuitement à Github Copilot, il suffit de:&lt;br /&gt;
* Disposer d&#039;un compte Github&lt;br /&gt;
* S&#039;inscrire comme étudiant sur [https://education.github.com/discount_requests/application education.github.com] en ajoutant son adresse en &#039;&#039;polytechnique.edu&#039;&#039; comme preuve.&lt;br /&gt;
* Une fois la vérification faite, configurer l&#039;accès à Copilot depuis les [https://github.com/settings/copilot settings] de votre compte Github.&lt;br /&gt;
&lt;br /&gt;
Et voilà ! Il n&#039;y a plus qu&#039;à installer l&#039;extension &#039;&#039;&#039;Github Copilot&#039;&#039;&#039; dans l&#039;IDE de votre choix, puis d&#039;authentifier votre compte Github, et vous êtes prêts à coder !&lt;br /&gt;
&lt;br /&gt;
== Applications open source sur Android ==&lt;br /&gt;
&lt;br /&gt;
Sur Android, il existe un magasin d&#039;applications qui ne contient que des logiciels libres : F-droid. Le client officiel est daté et pose des problèmes de sécurité. On vous conseille donc d&#039;installer un client plus récent : [https://f-droid.org/en/packages/com.looker.droidify/ Droid-ify] (bouton &#039;&#039;DOWNLOAD F-DROID&#039;&#039;) (disponible uniquement sur Android, évidemment). &lt;br /&gt;
&lt;br /&gt;
Cette application est un &#039;&#039;Google Play&#039;&#039; pour applications libres et open source. Pour pouvoir l&#039;utiliser, il faudra d&#039;abord l&#039;autoriser comme application de téléchargement d&#039;autres applications (à l&#039;ouverture). &lt;br /&gt;
&lt;br /&gt;
On vous recommande notamment l&#039;application &#039;&#039;&#039;NewPipe&#039;&#039;&#039;, un client Youtube libre n&#039;utilisant pas l&#039;API de Google qui enlève les publicités et qui permet de télécharger des vidéos et d&#039;écouter des vidéos en arrière plan.&lt;br /&gt;
&lt;br /&gt;
== Gestionnaires de versions pour coder ==&lt;br /&gt;
&lt;br /&gt;
Selon les projets d&#039;informatique que vous réalisez, vous aurez probablement besoin d&#039;utiliser des versions de python ou node différentes (node16 pour Sigma, python3.7 pour les sites binets python hébergés par le BR).&lt;br /&gt;
&lt;br /&gt;
C&#039;est notamment une très bonne pratique pour faciliter le déploiement d&#039;applications python que d&#039;utiliser un environnement virtuel pour son projet, avec un liste de dépendances requirements.txt à la racine du projet. On vous explique comment configurer et utiliser tout ça.&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&lt;br /&gt;
Pour le développement d&#039;applis python, sites, etc : voir [[Trucs_et_astuces#Environnements_virtuels_python_avec_Pyenv| Pyenv]].&lt;br /&gt;
&lt;br /&gt;
Pour le développement de scripts scientifiques en python, avec utilisation de notebooks jupyter et shell IPython, etc : voir [[Trucs_et_astuces#Environnements_python_avec_Mamba|Mamba]].&lt;br /&gt;
&lt;br /&gt;
==== Environnements virtuels python avec Pyenv ====&lt;br /&gt;
&lt;br /&gt;
===== Installation =====&lt;br /&gt;
&lt;br /&gt;
[https://github.com/pyenv/pyenv Pyenv] est un gestionnaire de versions Python qui permet de changer rapidement de version &#039;&#039;&#039;sans toucher à la version python utilisée par le système&#039;&#039;&#039;. Les versions sont installées dans &amp;lt;code&amp;gt;/home/&amp;lt;username&amp;gt;/.pyenv/versions/&amp;lt;/code&amp;gt; sous Linux, et &amp;lt;code&amp;gt;C:\Users\&amp;lt;username&amp;gt;\.pyenv\versions\&amp;lt;/code&amp;gt; sous Windows. &lt;br /&gt;
&lt;br /&gt;
[https://github.com/pyenv-win/pyenv-win Installer pyenv sur Windows]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/pyenv/pyenv Installer pyenv sur Linux] (ou via votre gestionnaire de paquets).&lt;br /&gt;
&lt;br /&gt;
===== Installer des versions de python =====&lt;br /&gt;
&lt;br /&gt;
Pour lister les versions de python disponibles :&lt;br /&gt;
 pyenv install --list&lt;br /&gt;
&lt;br /&gt;
Pour lister des versions spécifiques :&lt;br /&gt;
 pyenv install --list | grep 3.11 # Sur Linux&lt;br /&gt;
 pyenv install --list | findstr 3.11 # Sur Windows&lt;br /&gt;
&lt;br /&gt;
Pour installer une version :&lt;br /&gt;
 pyenv install -v 3.11.3 # Remplacer par le nom complet de la version désirée&lt;br /&gt;
&lt;br /&gt;
Pour lister les versions disponibles via pyenv :&lt;br /&gt;
 pyenv versions&lt;br /&gt;
&lt;br /&gt;
===== Générer un environnement virtuel =====&lt;br /&gt;
&lt;br /&gt;
Pour générer un environnement virtuel python à la racine d&#039;un projet :&lt;br /&gt;
Activer une version de python dans le shell:&lt;br /&gt;
 pyenv shell 3.11.3 # Utiliser cette version temporairement, dans ce shell&lt;br /&gt;
 pyenv local 3.11.3 # Toujours utiliser cette version dans ce dossier&lt;br /&gt;
 pyenv global 3.11.3 # Toujours utiliser cette version, partout&lt;br /&gt;
&lt;br /&gt;
Créer un environnement virtuel dans un dossier &amp;lt;code&amp;gt;venv/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 python -m venv venv&lt;br /&gt;
&lt;br /&gt;
Activer l&#039;environnement virtuel :&lt;br /&gt;
 source venv/bin/activate # Sous Linux&lt;br /&gt;
 .\venv\Scripts\activate # Sous Windows&lt;br /&gt;
&lt;br /&gt;
Vous avez à présent un environnement virtuel python à la racine de votre projet, qu&#039;il vous suffira d&#039;activer à chaque fois que vous lancez votre projet. &#039;&#039;&#039;Note :&#039;&#039;&#039; VSCode réalise cette activation tout seul si vous lui dites d&#039;utiliser l&#039;environnement virtuel pour votre projet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; si votre projet est versionné avec &#039;&#039;Git&#039;&#039;, il ne faut pas commit votre venv! Ajoutez un fichier &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt; à la racine de votre projet, et ajoutez une ligne &amp;lt;code&amp;gt;venv&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez à présent installer des packages (après avoir activé l&#039;environnement virtuel !)&lt;br /&gt;
 pip install &amp;lt;packages&amp;gt;&lt;br /&gt;
 pip install -r requirements.txt # Si vous récupérez un projet avec des dépendances existantes&lt;br /&gt;
&lt;br /&gt;
Pour générer un fichier &amp;lt;code&amp;gt;requirements.txt&amp;lt;/code&amp;gt; afin de faciliter la mise en place pour vos collègues / pour le déploiement de votre app sur les serveurs du BR :&lt;br /&gt;
 pip freeze &amp;gt; requirements.txt&lt;br /&gt;
&lt;br /&gt;
===== Environnement virtuel global =====&lt;br /&gt;
&lt;br /&gt;
Pyenv permet aussi de générer des environnements virtuels globaux avec &amp;lt;code&amp;gt;pyenv virtualenv&amp;lt;/code&amp;gt;, un plugin que vous pouvez installer [https://github.com/pyenv/pyenv-virtualenv ici]. C&#039;est similaire au fonctionnement de [[Trucs_et_astuces#Environnements_python_avec_Mamba|Mamba]].&lt;br /&gt;
&lt;br /&gt;
Créez un environnement virtuel global avec la commande suivante :&lt;br /&gt;
 pyenv virtualenv &amp;lt;version&amp;gt; &amp;lt;nom de votre environnement global custom&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez ensuite l&#039;activer comme les autres environnements avec&lt;br /&gt;
 pyenv shell &amp;lt;nom de votre environnement global custom&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Environnements python avec Mamba ====&lt;br /&gt;
&lt;br /&gt;
Vous connaissez peut-être déjà [https://docs.conda.io/en/latest/ Conda], un gestionnaire de paquets et d&#039;environnements python principalement utilisé pour des projets scientifiques. [https://github.com/mamba-org/mamba Mamba] en est une version entièrement réécrite en C++, bien plus rapide et performante.&lt;br /&gt;
&lt;br /&gt;
Installation [https://mamba.readthedocs.io/en/latest/installation.html ici].&lt;br /&gt;
&lt;br /&gt;
Mamba permet de créer des environnements virtuels dans &amp;lt;code&amp;gt;/home/&amp;lt;username&amp;gt;/mambaforge-pypy3/envs&amp;lt;/code&amp;gt; (sous Linux, par exemple) qui seront réutilisables dans tous vos projets !&lt;br /&gt;
&lt;br /&gt;
Créer un environnement virtuel :&lt;br /&gt;
 mamba create -n nom_de_lenvironnement &amp;lt;liste de packages&amp;gt;&lt;br /&gt;
 mamba create -n nom_de_lenvironnement &amp;lt;liste de packages&amp;gt; python=3.10 # Avec une version spécifique de python&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
 mamba create -n inf442 numpy pandas scikit-learn&lt;br /&gt;
&lt;br /&gt;
Activation d&#039;un environnement virtuel :&lt;br /&gt;
 mamba activate inf442&lt;br /&gt;
 mamba deactivate # Pour le désactiver&lt;br /&gt;
&lt;br /&gt;
Installation de paquets : après avoir activé votre environnement mamba, utilisez la commande &amp;lt;code&amp;gt;mamba install&amp;lt;/code&amp;gt; au lieu de &amp;lt;code&amp;gt;pip install&amp;lt;/code&amp;gt;, et le tout est joué.&lt;br /&gt;
&lt;br /&gt;
=== Environnements python avec poetry ===&lt;br /&gt;
&lt;br /&gt;
[https://python-poetry.org/ poetry] est un autre gestionnaire de dépendance extrêmement utile si vous développez en collaboratif notamment avec [[Git]]. Là où [[Trucs_et_astuces#Environnements_python_avec_Mamba|Mamba]] permet de réutiliser ses environnements, la logique de &#039;&#039;&#039;poetry&#039;&#039;&#039; est d&#039;utiliser un environnement par projet.&lt;br /&gt;
&lt;br /&gt;
L&#039;intérêt est que &#039;&#039;&#039;poetry&#039;&#039;&#039; produit un fichier &#039;&#039;&#039;poetry.lock&#039;&#039;&#039; permettant de reproduire à l&#039;identique l&#039;environnement virtuel sur une autre machine en une commande, tout en gardant la possibilité d&#039;effectuer des mises à jour des dépendances aisément.&lt;br /&gt;
&lt;br /&gt;
Installation [https://python-poetry.org/docs/#installation ici]&lt;br /&gt;
&lt;br /&gt;
Les principales commandes de &#039;&#039;&#039;poetry&#039;&#039;&#039; sont :&lt;br /&gt;
&lt;br /&gt;
Création d&#039;un environnement poetry :&lt;br /&gt;
 poetry init&lt;br /&gt;
&lt;br /&gt;
Cette commande permet d&#039;initialiser &#039;&#039;&#039;poetry&#039;&#039;&#039; dans le dossier courant de manière interactive, en définissant le nom du projet, les auteurs et les dépendances.&lt;br /&gt;
&lt;br /&gt;
Cette commande génère les fichiers &amp;lt;code&amp;gt;pyproject.toml&amp;lt;/code&amp;gt;, qui contient toutes les informations du projet, et &amp;lt;code&amp;gt;poetry.lock&amp;lt;/code&amp;gt;, qui contient l&#039;état exact du projet (l&#039;équivalent de &amp;lt;code&amp;gt;pip freeze&amp;lt;/code&amp;gt;). Il est fortement recommandé de traquer ces fichiers avec [[Git]] si votre projet utilise [[Git]].&lt;br /&gt;
&lt;br /&gt;
Installation d&#039;un environnement &#039;&#039;&#039;poetry&#039;&#039;&#039; :&lt;br /&gt;
 poetry install&lt;br /&gt;
&lt;br /&gt;
Cette commande permet d&#039;installer un environnement sur la base d&#039;un fichier &amp;lt;code&amp;gt;poetry.lock&amp;lt;/code&amp;gt; (typiquement suite à un &amp;lt;code&amp;gt;git clone&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ajout de dépendances :&lt;br /&gt;
 poetry add &amp;lt;name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande ajoute et installe la dépendance. La gestion des dépendances de poetry respecte [https://semver.org/ semver], c&#039;est-à-dire qu&#039;un projet peut indiquer être compatible avec toute version ultérieure de la dépendance ayant la même version majeure (c&#039;est le cas par défaut). Cela est indiqué en ajoutant &amp;lt;code&amp;gt;^&amp;lt;/code&amp;gt; à la version requise, par exemple &amp;lt;code&amp;gt;python = &amp;quot;^3.8&amp;quot;&amp;lt;/code&amp;gt; (i.e. cela indique que le projet est compatible avec Python 3.8, 3.9, 3.10... mais pas 4.0)&lt;br /&gt;
&lt;br /&gt;
Mettre à jour les dépendances :&lt;br /&gt;
 poetry update&lt;br /&gt;
&lt;br /&gt;
Lancer une commande dans l&#039;environnement :&lt;br /&gt;
 poetry run &amp;lt;commande&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
 poetry run python mon_projet.py&lt;br /&gt;
&lt;br /&gt;
Activer l&#039;environnement :&lt;br /&gt;
 poetry shell&lt;br /&gt;
&lt;br /&gt;
Cette commande génère un shell dans l&#039;environnement&lt;br /&gt;
&lt;br /&gt;
Ces commandes sont détaillées en détail [https://python-poetry.org/docs/basic-usage/ ici]&lt;br /&gt;
&lt;br /&gt;
=== Plusieurs versions de Node.js avec NVM ===&lt;br /&gt;
&lt;br /&gt;
Si vous faites du développement web avec du Typescript/Javascript sans utiliser de conteneurs docker, vous avez besoin d&#039;installer [https://nodejs.org/en/about Node.js], un runtime javascript. Selon votre système d&#039;exploitation, il est possible que la version de node installée par défaut ne corresponde pas à celle attendue par votre projet (sous Linux, en particulier).&lt;br /&gt;
&lt;br /&gt;
Le gestionnaire de versions Node [https://github.com/nvm-sh/nvm NVM] permet d&#039;installer et switcher rapidement entre plusieurs versions de Node.&lt;br /&gt;
&lt;br /&gt;
Installer une version :&lt;br /&gt;
 nvm install &amp;lt;version&amp;gt;&lt;br /&gt;
 nvm install 16 # Pour Sigma, par exemple&lt;br /&gt;
&lt;br /&gt;
Utiliser une version :&lt;br /&gt;
 nvm ls # Lister les versions&lt;br /&gt;
 nvm use &amp;lt;version&amp;gt; # Utiliser une version&lt;br /&gt;
 node -v # Vérifier que la version est bien utilisée&lt;br /&gt;
&lt;br /&gt;
Pour utiliser à nouveau la version système dans votre shell :&lt;br /&gt;
 nvm use system&lt;br /&gt;
&lt;br /&gt;
== Utiliser Windows Subsystem for Linux pour faire du C++ ==&lt;br /&gt;
&lt;br /&gt;
L&#039;environnement de Windows est peu optimisé pour faire du C++. Le C++ est un langage qui, contrairement à python, javascript, Go, Rust... n&#039;a pas de &#039;&#039;&#039;gestionnaire de paquets&#039;&#039;&#039;. Il est donc incroyablement difficile d&#039;installer et utiliser des librairies supplémentaires sur un système d&#039;exploitation qui n&#039;est pas fait pour ça (Windows) ! Ce problème ne se pose pas sous Linux, dont le système de fichiers et les gestionnaires de paquets intégrés fonctionnent très bien avec ce langage.&lt;br /&gt;
&lt;br /&gt;
Heureusement, Windows dispose d&#039;un système de machines virtuelles légères pour utiliser Linux dans un terminal. Voici un guide pour la mise en place de WSL sur une machine Windows.&lt;br /&gt;
&#039;&#039;Note: le script fourni dans le guide a été conçu pour mettre en place l&#039;environnement c++ pour inf442. Si vous ne suivez pas ce cours, il vous suffit juste d&#039;installer les outils de développement c++ avec la commande &amp;lt;code&amp;gt;apt-get install -y build-essential&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Le [https://stratus.binets.fr/s/pFkqwMAqTaLK9QY guide].&lt;br /&gt;
&lt;br /&gt;
Le [https://stratus.binets.fr/s/545XG3sGP3bHHqE script].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Guide réalisé par Thibaut de Saivre, VPrez BR21. Contactez-moi si vous avez un problème avec ce setup&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Cat%C3%A9gorie:IRC&amp;diff=10009</id>
		<title>Catégorie:IRC</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Cat%C3%A9gorie:IRC&amp;diff=10009"/>
		<updated>2024-01-14T10:27:42Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Création de page manquante&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{archive|Plus personne n&#039;utilise l&#039;IRC.}}&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10008</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10008"/>
		<updated>2024-01-14T10:25:34Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Ajout des catégories tutoriels et Wifi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
Ce guide a été écrit principalement pour le routeur Archer C50, mais il est entièrement transposable à tout modèle de routeur sur lequel OpenWRT peut être installé. Le détail de comment flasher OpenWRT dépend cependant du modèle, et n&#039;est pas couvert par ce guide.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget [URL] -O .config # Voir l&#039;étape correspondante pour déterminer l&#039;URL à utiliser&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT. Parmis ceux-ci se trouve notamment &amp;lt;code&amp;gt;LuCI&amp;lt;/code&amp;gt;, l&#039;interface web d&#039;administration d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Déterminer la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
OpenWRT peut être installé sur une grande variété de routeurs, qui sont classé par &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour déterminer quelles est notre &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et notre &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, le plus simple est de se référer à la documentation officielle d&#039;OpenWRT pour notre modèle, disponible [https://openwrt.org/toh/start ici]. Pour le Archer C50, la page est la [https://openwrt.org/toh/tp-link/archer-c50 suivante].&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite aller à la section &#039;&#039;&#039;Downloads&#039;&#039;&#039;, afin d&#039;obtenir le lien de téléchargement d&#039;OpenWRT pour ce modèle.&lt;br /&gt;
&lt;br /&gt;
Cette url se présente sous la forme suivante : https://downloads.openwrt.org/releases/&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;/targets/&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;/openwrt-&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;modele&amp;lt;/code&amp;gt;-squashfs-factory-&amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;.bin&lt;br /&gt;
&lt;br /&gt;
La partie qui nous intéresse de cette URL se situe juste après le &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour le [https://openwrt.org/toh/tp-link/archer-c50#downloads Archer C50], le lien de téléchargement est https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin&lt;br /&gt;
&lt;br /&gt;
La &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; est donc &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt; et la subtarget &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;. Cette information va nous permettre de compiler OpenWRT pour notre modèle.&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Il est cependant possible de prendre comme base un fichier de configuration pré-existant.&lt;br /&gt;
&lt;br /&gt;
==== Configuration du BR ====&lt;br /&gt;
&lt;br /&gt;
Un fichier de configuration créé par le BR est disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici].&lt;br /&gt;
&lt;br /&gt;
La commande pour le copier est donc :&lt;br /&gt;
&lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond à une configuration pour compiler OpenWRT sur le Archer C50 v6, mais peut être adapté à tout routeur en modifiant la cible de compilation (cf. étape suivante).&lt;br /&gt;
&lt;br /&gt;
==== Configuration de référence ====&lt;br /&gt;
&lt;br /&gt;
Il est également possible d&#039;utiliser comme base le fichier de configuration utilisé pour compiler les images officielles d&#039;OpenWRT à l&#039;aide de la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et de la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;obtenir, il faut aller dans le dossier [https://downloads.openwrt.org/releases/ releases] d&#039;OpenWRT, afin de déterminer quelle est la dernière version d&#039;OpenWRT disponible, par exemple &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;URL du fichier de configuration fourni par OpenWRT est : https://downloads.openwrt.org/releases/&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;/targets/&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;/config.buildinfo. Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut enfin télécharger ce fichier et l&#039;enregistrer sous le nom &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
=== Configuration de OpenWRT ===&lt;br /&gt;
&lt;br /&gt;
La configuration par défaut téléchargée à l&#039;étape précédente est un début, mais elle n&#039;est pas complète. Il est nécessaire d&#039;entrer dans le menu de configuration de compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, puis le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;. Si vous avez téléchargé le fichier de référence, &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; sont déjà renseignés, mais le modèle n&#039;est pas sélectionné.&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond au fichier &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; indiqué dans le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]], qui peut ensuite être suivi dans le cas du Archer C50 afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=10007</id>
		<title>Routeurs Wi-Fi/Tutoriel TP-Link Archer C50</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=10007"/>
		<updated>2024-01-14T10:25:06Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Ajout de la catégorie Wifi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Avertissements ==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent &#039;&#039;avant&#039;&#039; de faire quoi que ce soit. Cela vous évitera des erreurs stupides qui vous feront perdre du temps. !}}&lt;br /&gt;
&lt;br /&gt;
=== Avertissement technique ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modèle de routeur.&#039;&#039;&#039; Le système que vous vous apprêtez à installer n&#039;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 &#039;&#039;&#039;TP-Link Archer C50&#039;&#039;&#039;, &#039;&#039;&#039;TP-Link Archer AC1200&#039;&#039;&#039; ou &#039;&#039;&#039;TP-Link Archer A5&#039;&#039;&#039;, versions 4 à 6 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . &#039;&#039;D&#039;autres versions peuvent être compatibles mais n&#039;ont pas été testées.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d&#039;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&#039;openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Méthode de connexion.&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;État d&#039;esprit.&#039;&#039;&#039; La procédure est relativement longue mais elle n&#039;est pas très compliquée. Si c&#039;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.&lt;br /&gt;
&lt;br /&gt;
=== Avertissement juridique ===&lt;br /&gt;
&lt;br /&gt;
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l&#039;École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec &#039;&#039;vos identifiants&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Principe ==&lt;br /&gt;
&lt;br /&gt;
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l&#039;École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d&#039;installer un système auxiliaire (OpenWRT)  sur les routeurs, remplaçant le système d&#039;origine. Grâce à ceci on peut obtenir un routeur qui s&#039;authentifie lui-même sur le réseau de l&#039;É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.&lt;br /&gt;
&lt;br /&gt;
== Le hic ==&lt;br /&gt;
Il existe depuis l&#039;interface GUI de TP-Link un endroit où l&#039;on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d&#039;OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l&#039;on ne peut pas directement fournir l&#039;image d&#039;OpenWRT depuis cette interface car &#039;&#039;&#039;cela va très probablement briquer le routeur&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Il faut donc procéder autrement, et l&#039;on va donc utiliser le protocole TFTP [https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol] pour pouvoir fournir notre image au routeur.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, les liens suivants pourront vous être utiles en complément :&lt;br /&gt;
* Page officielle pour le modèle Archer C50 [https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions]&lt;br /&gt;
* Autre tutoriel qui a servi a l&#039;élaboration de celui ci. Certains phases sont identiques et il y a d&#039;autres compléments d&#039;informations [[Routeurs Wi-Fi/Tutoriel]]&lt;br /&gt;
&lt;br /&gt;
== Préparation ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
* 1ère possibilité: Utiliser un &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; tout fait disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici]. (Utilise la version OS et pense à le renommer en &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 2ème possibilité: Le faire soit même, comme ceci:&lt;br /&gt;
&lt;br /&gt;
Récupérez l&#039;image du firware TP-Link depuis le site officiel qui devra être nommé &amp;lt;code&amp;gt;tpl.bin&amp;lt;/code&amp;gt;, et celle d&#039;OpenWRT (https://firmware-selector.openwrt.org/) nommée &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; et placez les dans un répertoire commun.&lt;br /&gt;
&lt;br /&gt;
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&#039;il n&#039;existe actuellement pas de firmware OpenWRT pour le Archer A5, il faut prendre celui du Archer C50.&lt;br /&gt;
&lt;br /&gt;
Il est également possible que la version d&#039;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&#039;il n&#039;existe pas d&#039;image pré-compilée pour le routeur, il faut [[Compiler OpenWRT]]. &lt;br /&gt;
&lt;br /&gt;
Dans un terminal ouvert sur le répertoire, exécutez les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1&lt;br /&gt;
 dd if=tpl.bin of=tmp.bin bs=131584 count=1&lt;br /&gt;
 dd if=tmp.bin of=boot.bin bs=512 skip=1&lt;br /&gt;
 cat boot.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
 cat owrt.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Ce sera l&#039;image &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; qui vient d&#039;être créée qui nous intéressera par la suite. L&#039;image doit peser environ 6 Mo.&lt;br /&gt;
&lt;br /&gt;
* Si jamais à un moment ou un autre, le routeur est &#039;&#039;&#039;brické&#039;&#039;&#039; (cassé) tu peux le débloquer en utilisant le &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; disponible [https://stratus.binets.fr/s/q8joypmLcN9jbfD ici]&lt;br /&gt;
&lt;br /&gt;
== Procédure TFTP ==&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; ce qui nous indique (contrairement à ce qu&#039;on aurait pu penser) que le routeur sera client et le PC sera serveur.&lt;br /&gt;
&lt;br /&gt;
Pour la suite, le lien suivant peut être d&#039;une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4&lt;br /&gt;
&lt;br /&gt;
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 (&#039;&#039;&#039;éteint&#039;&#039;&#039;) au switch via un de ses ports orange (le 1 par exemple). Depuis l&#039;interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d&#039;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&#039;OpenWRT comme étant &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer &#039;&#039;Current Directory&#039;&#039; pour être le répertoire dans lequel &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; est situé. Cliquez sur &#039;&#039;Show dir&#039;&#039; pour vérifier qu&#039;il fait bien partie de la liste des fichiers présents. Ouvrez l&#039;onglet de &#039;&#039;Log&#039;&#039;. C&#039;est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d&#039;appuyer sur un bouton supplémentaire.&lt;br /&gt;
&lt;br /&gt;
Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu&#039;à ce que la LED WPS soit allumée.&lt;br /&gt;
&lt;br /&gt;
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&#039;onglet &#039;&#039;Log&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 atftp 192.168.0.66&lt;br /&gt;
 get tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Qui devrait retourner sans erreur.&lt;br /&gt;
&lt;br /&gt;
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&#039;opération, il devrait se redémarrer.&lt;br /&gt;
&lt;br /&gt;
Attention: si les LEDs clignotent périodiquement après le redémarrage, cela signifie que l&#039;installation a échoué et qu&#039;il n&#039;arrive pas à booter. Assurez-vous d&#039;avoir le bon fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; puis recommencez le transfert.&lt;br /&gt;
&lt;br /&gt;
== Hello, OpenWRT world ==&lt;br /&gt;
&lt;br /&gt;
=== Préalables ===&lt;br /&gt;
&lt;br /&gt;
==== Routeur connecté à Internet ====&lt;br /&gt;
&lt;br /&gt;
Heureusement tout n&#039;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é).&lt;br /&gt;
&lt;br /&gt;
Le routeur va avoir besoin d&#039;Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l&#039;adresse 192.168.1.1).&lt;br /&gt;
Connectez-vous alors à votre réseau dans allant dans &#039;&#039;Network&#039;&#039;, Scan et sélectionnant le bon Wifi. C&#039;est essentiel d&#039;avoir une bonne connexion, et cela peut être à l&#039;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&#039;onglet Diagnostics de la GUI.&lt;br /&gt;
&lt;br /&gt;
==== Paquet wpa-supplicant installé ====&lt;br /&gt;
&lt;br /&gt;
Connectez-vous par SSH au routeur avec :&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Sur certains modèles, il est nécessaire d&#039;utiliser la commande &amp;lt;code&amp;gt;ssh root@192.168.1.1 -oHostKeyAlgorithms=+ssh-rsa&amp;lt;/code&amp;gt;.&lt;br /&gt;
Dans un premier temps, mettez à jour les packets :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi le faire depuis le web GUI (disponible sur 192.168.1.1 mdp root) System &amp;gt; Software et Run update.&lt;br /&gt;
&lt;br /&gt;
Installer également nano si vous le souhaitez (vim est installé par défaut) :&lt;br /&gt;
&lt;br /&gt;
 opkg install nano&lt;br /&gt;
&lt;br /&gt;
On va maintenant installer le paquet qui va s&#039;occuper de nous authentifier au réseau. Il est probable qu&#039;un autre paquet (wpad-basic ou wpad-basic-wolfssl selon les modèles) est préinstallé : il va falloir le désinstaller.&lt;br /&gt;
&lt;br /&gt;
 opkg remove wpad-basic&lt;br /&gt;
 opkg install wpa-supplicant-openssl&lt;br /&gt;
&lt;br /&gt;
Points d&#039;attention:&lt;br /&gt;
* c&#039;est &#039;&#039;&#039;supplicant&#039;&#039;&#039; et pas &#039;&#039;&#039;applicant&#039;&#039;&#039;&lt;br /&gt;
* vous pouvez déterminer quelle saveur de wpad-basic est installé avec la commande &amp;lt;code&amp;gt;opkg list-installed&amp;lt;/code&amp;gt;&lt;br /&gt;
* depuis l&#039;été 2023, il faut installer wpa-supplicant-openssl et pas wpa-supplicant&lt;br /&gt;
* après avoir désinstallé wpad-basic, vous ne pourrez plus vous reconnecter à votre hotspot si vous êtes déconnecté&lt;br /&gt;
* si vous avez été déconnecté du hotspot avant de finir la configuration et que vous n&#039;avez plus de connexion à Internet, vous pouvez réinstaller le système depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Si l&#039;installation échoue pour cause d&#039;espace insufisant ====&lt;br /&gt;
&lt;br /&gt;
Si l&#039;installation de wpa-supplicant-openssl échoue par faute de place, il est possible que votre espace de stockage soit extrêmement faible, de l&#039;ordre de 1 ou 2 Mo.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez vérifier l&#039;espace de stockage avec la commande :&lt;br /&gt;
&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite regarder le volume overlayfs.&lt;br /&gt;
En octobre 2023, une installation complète a pu être faite sur un routeur avec 1.75 Mo d&#039;espace sur overlayfs, modulo quelques changements :&lt;br /&gt;
* réinitialiser le routeur depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;. (l&#039;installation avortée de wpa-supplicant-openssl laisse de lourds artéfacts qui ne sont pas nettoyés par opkg) ;&lt;br /&gt;
* 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 ;&lt;br /&gt;
* utiliser le paquet hostapd-mini au lieu de hostapd lors de la mise en place du Wifi.&lt;br /&gt;
&lt;br /&gt;
À 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&#039;est donc pas possible d&#039;installer les paquets à cet endroit.&lt;br /&gt;
&lt;br /&gt;
=== Configuration d&#039;Ethernet ===&lt;br /&gt;
&lt;br /&gt;
Ensuite configurez votre connexion en éditant :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Et en insérant le texte suivant :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;prénom.nom@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;monpassword&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=monpassword&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
En remplaçant les occurrences de &amp;lt;code&amp;gt;prénom.nom&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;monpassword&amp;lt;/code&amp;gt; (attention il apparaît deux fois) en conséquence.&lt;br /&gt;
&lt;br /&gt;
On va maintenant tenter de se connecter.&lt;br /&gt;
&lt;br /&gt;
 wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Si cela échoue,&lt;br /&gt;
* Regardez avec &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt; quel port il vaut mieux utiliser, c&#039;est peut-être eth1 chez vous.&lt;br /&gt;
* Vérifiez vos identifiants de connexion en cas d&#039;erreur de certificat&lt;br /&gt;
* Vérifiez que la date du système n&#039;est pas aberrante (une différence de quelques heures est OK)&lt;br /&gt;
* Vérifiez que vous avez bien installé &amp;lt;code&amp;gt;wpa-supplicant-openssl&amp;lt;/code&amp;gt; et pas &amp;lt;code&amp;gt;wpa-supplicant&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la commande précédente donne CTRL-EVENT-CONNECTED, c&#039;est bon vous pouvez continuer.&lt;br /&gt;
&lt;br /&gt;
=== Configuration du démarrage automatique ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant changer un autre fichier pour configurer le démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/init.d/wpa&lt;br /&gt;
&lt;br /&gt;
avec le contenu :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() { echo start wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf &amp;amp; }&lt;br /&gt;
&lt;br /&gt;
Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l&#039;étape précédente (en particulier le eth0.2)&lt;br /&gt;
&lt;br /&gt;
Rendre si besoin le fichier executable avec &amp;lt;code&amp;gt;chmod +x /etc/init.d/wpa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activation du démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa start&lt;br /&gt;
&lt;br /&gt;
Si retourne sans erreur : OK&lt;br /&gt;
&lt;br /&gt;
Puis:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa enable&lt;br /&gt;
&lt;br /&gt;
En faisant Ctrl+C si besoin.&lt;br /&gt;
&lt;br /&gt;
=== Paquet Hostapd ===&lt;br /&gt;
&lt;br /&gt;
Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe.&lt;br /&gt;
&lt;br /&gt;
Depuis un terminal en ssh, doit être :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install hostapd&lt;br /&gt;
&lt;br /&gt;
Alternativement, vous pouvez utiliser le web GUI:&lt;br /&gt;
* Aller dans System &amp;gt; Software&lt;br /&gt;
* Run Update&lt;br /&gt;
* Filter: rechercher hostapd&lt;br /&gt;
* Install&lt;br /&gt;
* Dismiss&lt;br /&gt;
&lt;br /&gt;
=== Config wifi ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant créer une nouvelle configuration Wifi :&lt;br /&gt;
&lt;br /&gt;
 uci set wireless.@wifi-device[0].disabled=0&lt;br /&gt;
 uci set wireless.@wifi-iface[0].ssid=&#039;NOM_DU_WIFI&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].encryption=&#039;psk2&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].key=&#039;MOT-DE-PASSE&#039;&lt;br /&gt;
 uci set wireless.@wifi-device[0].country=&#039;FR&#039;&lt;br /&gt;
 uci commit wireless; wifi&lt;br /&gt;
&lt;br /&gt;
En changeant &amp;lt;code&amp;gt;NOM_DU_WIFI&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT-DE-PASSE&amp;lt;/code&amp;gt; en conséquence.&lt;br /&gt;
&lt;br /&gt;
Redémarrer :&lt;br /&gt;
&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
Vous devriez maintenant avoir un réseau Wifi fonctionnel, émis par votre routeur, auquel vous pouvez vous connecter !&lt;br /&gt;
&lt;br /&gt;
=== Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED ===&lt;br /&gt;
&lt;br /&gt;
Lancer &amp;lt;code&amp;gt;wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&amp;lt;/code&amp;gt;, et depuis l&#039;interface graphique, restart eth0.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi&amp;diff=10006</id>
		<title>Routeurs Wi-Fi</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi&amp;diff=10006"/>
		<updated>2024-01-14T10:24:44Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Ajout de la catégorie Wifi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Menu tutoriels}}&lt;br /&gt;
&lt;br /&gt;
Cette page a pour vocation d&#039;aider les propriétaires d&#039;un routeur paramétré par le BR. Elle recense différents conseils et méthodes pour personnaliser son routeur et résoudre les éventuels problèmes rencontrés. Si vous désirez configurer votre routeur de A à Z, des tutoriels sont disponibles sur les pages suivantes :&lt;br /&gt;
* [[Routeurs Wi-Fi/Tutoriel]] qui explique en particulier le cas d&#039;anciens modèles avec peu de mémoire&lt;br /&gt;
* [[Routeurs Wi-Fi/Tutoriel TP-Link Archer C50]] qui explique en particulier le cas de modèles plus récents mais qui risquent d&#039;être briqués si on fournit directement l&#039;image d&#039;OpenWRT depuis l&#039;interface GUI, d&#039;où l&#039;utilisation du protocole TFTP qui y est détaillée&lt;br /&gt;
&lt;br /&gt;
== Configuration initiale ==&lt;br /&gt;
Une suggestion de Rémi Grzeczkowicz : [https://amzn.eu/d/0mpDzCh Cudy WR1300 Gigabit Routeur Wi-FI Dual Band AC1200 sans Fil 5 Ports Gigabit, 4 antennes, 2,4 GHz/5 GHz, Mode d’accès Point, 128 Mo RAM, OpenWrt, VPN]&lt;br /&gt;
&lt;br /&gt;
=== Flasher Openwrt ===&lt;br /&gt;
&lt;br /&gt;
Les firmwares disponibles pour les différents hardwares sont listés [https://openwrt.org/toh/views/toh_fwdownload ici].&lt;br /&gt;
&lt;br /&gt;
Cependant, pour certains routeurs comme le Cudy WR1300 v3 vendu sur amazon il n’existe pas de firmware compatible pour l’instant (seulement les anciennes v1 et v2 sont supportées). CEPENDANT : Cudy propose une version d’Openwrt compatible [http://www.cudytech.com/openwrt_software_download ici].&lt;br /&gt;
&lt;br /&gt;
Pour Cudy, l’adresse à laquelle se connecter est http://192.168.10.1/ ou http://cudy.net/ (cf manuel). Après avoir flashé Openwrt, l’adresse est http://192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Il est également possible de [[Compiler OpenWRT]], même s&#039;il est préférable de trouver une version pré-compilée.&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
La configuration suivante permet de se connecter en tant que client au réseau ethernet 802.1x de l’école avec le routeur, qui servira ensuite de point d’accès.&lt;br /&gt;
&lt;br /&gt;
==== Packages requis ====&lt;br /&gt;
&lt;br /&gt;
Il faut installer les packages suivants (via l’interface web, ou &amp;lt;code&amp;gt;opkg update&amp;lt;/code&amp;gt; puis &amp;lt;code&amp;gt;opkg install xxx&amp;lt;/code&amp;gt;). Pour installer wpa_supplicant, il faudra d’abord désinstaller &amp;lt;code&amp;gt;wpad-wolfssl&amp;lt;/code&amp;gt; (se fait facilement via l’interface web).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano&amp;lt;/code&amp;gt; (dépendances: &amp;lt;code&amp;gt;terminfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libncurses6&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;wpa-supplicant-openssl&amp;lt;/code&amp;gt; (dépendance: &amp;lt;code&amp;gt;hostapd-common&amp;lt;/code&amp;gt;) (prendre la version openssl ! Depuis août 2023, wpa_supplicant de base ne fonctionne plus…)&lt;br /&gt;
* &amp;lt;code&amp;gt;dhcpcd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB : il est possible que la configuration de réseau retourne une erreur d’authentification. Dans ce cas, il faut utiliser le package wpa_supplicant_openssl.&lt;br /&gt;
&lt;br /&gt;
Si vous ne disposez pas d’une connexion filaire sans protection pour installer ces packages directement depuis le routeur, il est possible de télécharger les fichiers &amp;lt;code&amp;gt;.ipk&amp;lt;/code&amp;gt; afin de les upload depuis l’interface web (system -&amp;amp;gt; software) à l’adresse suivante:&lt;br /&gt;
&lt;br /&gt;
https://downloads.openwrt.org/releases/&amp;lt;openwrt_version&amp;gt;/packages&lt;br /&gt;
&lt;br /&gt;
Il faudra d’abord connaître l’architecture du routeur pour aller sur la page des bons packages. &amp;lt;code&amp;gt;cat /proc/cpuinfo&amp;lt;/code&amp;gt; (ligne cpu model).&lt;br /&gt;
&lt;br /&gt;
Dans le cas du routeur Cudy WR1300 v3 on obtient &amp;lt;code&amp;gt;MIPS 1004Kc V2.15&amp;lt;/code&amp;gt;, ce qui correspond à &amp;lt;code&amp;gt;mipsel_24kc&amp;lt;/code&amp;gt; à l’url précédente &#039;&#039;(testé en regardant l’url de téléchargement des packages à partir d’un point d’accès sans fil mobile)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note : quand un grand nombre de packages sont disponibles, choisir le package &amp;lt;code&amp;gt;&amp;amp;lt;nom_du_package&amp;amp;gt;_&amp;amp;lt;date&amp;amp;gt;&amp;lt;/code&amp;gt; plutôt que &amp;lt;code&amp;gt;&amp;amp;lt;nom_du_package&amp;amp;gt;-basic&amp;lt;/code&amp;gt; ou autres.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Configuration client ====&lt;br /&gt;
&lt;br /&gt;
Suivre les instructions de https://portail.polytechnique.edu/dsi/acces-internet/logements/ethernet-8021x-sur-linux, section &#039;&#039;&#039;En ligne de commande&#039;&#039;&#039; &#039;&#039;pour utilisateurs expérimentés&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Quelques remarques: * L’interface ethernet est &#039;&#039;&#039;wan&#039;&#039;&#039; et non &#039;&#039;&#039;eth0&#039;&#039;&#039; (même si cette interface existe bien). * Pour obtenir une adresse ip : utiliser &amp;lt;code&amp;gt;udhcpc -i wan&amp;lt;/code&amp;gt; et non &amp;lt;code&amp;gt;dhcpcd wan&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tester si la connexion fonctionne bien (ping, nslookup…)&lt;br /&gt;
&lt;br /&gt;
==== Configuration au démarrage ====&lt;br /&gt;
&lt;br /&gt;
Pour que votre routeur se connecte automatiquement au démarrage, il suffit d’aller dans l’interface graphique System &amp;amp;gt; Startup &amp;amp;gt; Local startup ou en ligne de commande dans le fichier &amp;lt;code&amp;gt;/etc/rc.local&amp;lt;/code&amp;gt; et d’entrer les commande :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
service network restart&lt;br /&gt;
sleep 1&lt;br /&gt;
wpa_supplicant -c /etc/wpa_supplicant/polytechnique.conf -D wired -i NOM_DE_L&#039;INTERFACE -B&lt;br /&gt;
sleep 3&lt;br /&gt;
udhcpc -i NOM_DE_L&#039;INTERFACE&lt;br /&gt;
&lt;br /&gt;
exit 0  # Cette ligne est déjà dans le fichier&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque : * Si vous avez mis votre fichier .conf dans un autre chemin, pensez à corriger le chemin. * NOM_DE_L’INTERFACE est wan pour le routeur cudy v3, pour les routeurs openwrt, c&#039;est parfois (peut être souvent) eth0.2.&lt;br /&gt;
&lt;br /&gt;
==== Configuration point d’accès ====&lt;br /&gt;
&lt;br /&gt;
À partir de maintenant, le routeur devrait déjà fonctionner en tant que point d’accès filaire (ethernet).&lt;br /&gt;
&lt;br /&gt;
Setup du wifi depuis l’interface web:&lt;br /&gt;
&lt;br /&gt;
Network -&amp;amp;gt; Wireless Éditer l’une des deux interfaces marquées &#039;&#039;Wireless is disabled.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Interface_wifi_routeur.png]]&lt;br /&gt;
&lt;br /&gt;
Sous &#039;&#039;&#039;Interface configuration&#039;&#039;&#039; : * Dans &amp;lt;code&amp;gt;General setup&amp;lt;/code&amp;gt;, mettre un ESSID (nom du point d’accès) custom. Vous pouvez définir le point d’accès comme caché ou non selon votre envie de crâner. * Dans &amp;lt;code&amp;gt;Wireless security&amp;lt;/code&amp;gt; : choisir l’encryption &#039;&#039;WPA2-PSK (strong encryption)&#039;&#039; et mettre un mot de passe pour le point d’accès dans &#039;&#039;Key&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut &#039;&#039;&#039;Save &amp;amp;amp; Apply&#039;&#039;&#039; les modifications, puis &#039;&#039;&#039;enable&#039;&#039;&#039; l’interface qui vient d’être configurée. Le point d’accès wifi est configuré !&lt;br /&gt;
&lt;br /&gt;
=== Probl ===&lt;br /&gt;
&lt;br /&gt;
J’ai rencontré quelques problèmes par la suite, voilà une liste de solutions possibles: * débrancher / rebrancher la prise ethernet murale * &amp;lt;code&amp;gt;service network restart&amp;lt;/code&amp;gt; * Exécuter à nouveau &amp;lt;code&amp;gt;wpa_supplicant -c /etc/wpa_supplicant/polytechnique.conf -D wired -i NOM_DE_L&#039;INTERFACE -B&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;udhcpc -i wan&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pour la reconnexion automatique au reboot (pas encore testé) ====&lt;br /&gt;
&lt;br /&gt;
Cf https://forum.openwrt.org/t/connect-router-archer-c50-to-a-802-1x-eap-network/34602/20&lt;br /&gt;
&lt;br /&gt;
== Depuis l&#039;interface LuCi ==&lt;br /&gt;
Toutes les manipulations qui suivent sont relativement simples et accessibles à tous. Elles s&#039;effectuent depuis l&#039;interface web LuCi, disponible à l&#039;adresse http://192.168.1.1 lorsque l&#039;on est connecté au routeur. Elles ne nécessitent donc l&#039;installation d&#039;aucun outil externe (par exemple PuTTY sur Windows). Pour valider les changements effectués, appuyez sur le bouton &amp;quot;Save &amp;amp; Apply&amp;quot;, en bas de chaque page.&lt;br /&gt;
&lt;br /&gt;
=== Changer le mot de passe root ===&lt;br /&gt;
Avant toute chose, il est conseillé de changer le mot de passe root. Le mot de passe par défaut est « root ». Allez dans &amp;quot;System&amp;quot; -&amp;gt; &amp;quot;Administration&amp;quot; et changez le mot de passe.&lt;br /&gt;
&lt;br /&gt;
=== Changer le nom/le mot de passe du réseau Wi-Fi ===&lt;br /&gt;
{{Attention|&lt;br /&gt;
*&#039;&#039;&#039;Tous&#039;&#039;&#039; les routeurs, y compris ceux des bars d&#039;étage, &#039;&#039;&#039;doivent&#039;&#039;&#039; être protégés par un mot de passe sécurisé. &#039;&#039;&#039;Le BR interdit strictement toute utilisation de routeur dont le réseau Wi-Fi n&#039;est pas protégé par un mot de passe&#039;&#039;&#039;.&lt;br /&gt;
*En mettant un mot de passe trop simple ou trop proche de votre mot de passe LDAP/ENEX/Zimbra, vous risqueriez de compromettre sa sécurité, et donc l&#039;ensemble de vos comptes liés, qui pourraient alors être coupés par la DSI.}}&lt;br /&gt;
Le nom et le mot de passe du réseau peuvent être changé en allant dans &amp;quot;Network&amp;quot; -&amp;gt; &amp;quot;Wi-Fi&amp;quot;. Désactivez temporairement le Wi-Fi en appuyant sur le bouton &amp;quot;Disable&amp;quot;, puis cliquez sur &amp;quot;Edit&amp;quot;. Le nom du réseau est personnalisable via le champ &amp;quot;ESSID&amp;quot;, dans l&#039;onglet &amp;quot;General Setup&amp;quot;, en bas de la page. Le mot de passe est personnalisable via l&#039;onglet &amp;quot;Wireless Security&amp;quot;. &#039;&#039;&#039;Laissez bien l&#039;option &amp;quot;WPA2-PSK&amp;quot; active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Problèmes connus ==&lt;br /&gt;
=== Le réseau coupe souvent ===&lt;br /&gt;
Au 16/10/2016, une des raisons connues est un problème dans l&#039;infrastructure de la DSI, qui touche aussi les personnes ne possédant pas de routeur. Il faut alors débrancher et brancher la prise à chaque fois que le réseau se coupe. Le routeur peut néanmoins simuler cette manipulation de lui-même à intervalles réguliers. Pour cela, ajoutez la ligne suivante dans &amp;quot;System&amp;quot; -&amp;gt; &amp;quot;Scheduled Tasks&amp;quot; (ne supprimez pas les autres lignes !) :&lt;br /&gt;
:&amp;lt;code&amp;gt;0 */1 * * * kill $(pidof wpa_supplicant) $(pidof udhcpc) &amp;amp;&amp;amp; rm -rf /tmp/run/wpa_supplicant/ &amp;amp;&amp;amp; /etc/init.d/wpa start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si le problème est antérieur au 08/10/2016, voir aussi [[Routeurs_Wi-Fi/Tutoriel#Je_dois_souvent_red.C3.A9marrer_mon_routeur|cette section du tutoriel]] ou encore [[Routeurs_Wi-Fi/Tutoriel#Probl.C3.A8me_de_date|celle-ci]].&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel&amp;diff=10005</id>
		<title>Routeurs Wi-Fi/Tutoriel</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel&amp;diff=10005"/>
		<updated>2024-01-14T10:24:16Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Fix typo in Wifi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{Travaux|Pour toute remarque ou demande, ouvrir une tâche Panix}}&lt;br /&gt;
&lt;br /&gt;
== Avertissements ==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent &#039;&#039;avant&#039;&#039; de faire quoi que ce soit. Cela vous évitera des erreurs stupides qui vous feront perdre du temps. Si vous souhaitez acheter un routeur, tournez vous faire des modèles avec plus de RAM que celui-ci (contacter le BR direcetement pour plus d&#039;infos) !}}&lt;br /&gt;
&lt;br /&gt;
=== Avertissement technique ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modèle de routeur.&#039;&#039;&#039; Le système que vous vous apprêtez à installer n&#039;est pas compatible avec tous les routeurs, loin de là ! Le fichier fourni par ce tutoriel est uniquement compatible avec le routeur &#039;&#039;&#039;TP-Link 841N&#039;&#039;&#039; ou &#039;&#039;&#039;TP-Link 841ND&#039;&#039;&#039;, versions 11 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . &#039;&#039;D&#039;autres versions peuvent être compatibles mais n&#039;ont pas été testé.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d&#039;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&#039;openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0). Cependant ce guide sera très spécifique pour le TP-link 841N et Tp-link 841ND.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Méthode de connexion.&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
=== Avertissement juridique ===&lt;br /&gt;
&lt;br /&gt;
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l&#039;École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec &#039;&#039;vos identifiants&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Principe ==&lt;br /&gt;
&lt;br /&gt;
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l&#039;École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d&#039;installer un système auxiliaire (OpenWRT)  sur les routeurs, remplaçant le système d&#039;origine. Grâce à ceci on peut obtenir un routeur qui s&#039;authentifie lui-même sur le réseau de l&#039;É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.&lt;br /&gt;
&lt;br /&gt;
== Préparation ==&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
Dans le cas des systèmes UNIX, la préparation est assez rapide car les outils sont déjà installés.&lt;br /&gt;
&lt;br /&gt;
==== Terminal ====&lt;br /&gt;
&lt;br /&gt;
Pour faire la configuration il vous faudra être capable d&#039;accéder à votre terminal. Pour la plupart des systèmes on peut le lancer avec {{c|ctrl+alt+T}} ou en cherchant « terminal » dans le menu principal.&lt;br /&gt;
&lt;br /&gt;
==== SSH et SCP ====&lt;br /&gt;
&lt;br /&gt;
Vous aurez besoin d&#039;un client {{c|ssh}} (par défaut installé sous linux) :&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install openssh-client&lt;br /&gt;
&lt;br /&gt;
La commande {{c|ssh}} permet ensuite de se connecter à distance et de façon sécurisée à un terminal.&lt;br /&gt;
&lt;br /&gt;
La commande {{c|scp}}, fournie par le même paquet, permet de transférer des fichiers avec le même protocole.&lt;br /&gt;
&lt;br /&gt;
==== Configuration réseau ====&lt;br /&gt;
&lt;br /&gt;
Pour vous connecter au routeur il vous faudra créer un nouveau profil de configuration ethernet selon les paramètres suivants :&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-settings-eth-linux.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==== Récupération ====&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir récupérer une erreur commise avec votre routeur, il faut tout d&#039;abord installer un serveur ssh :&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install openssh-server&lt;br /&gt;
  $ sudo service ssh start&lt;br /&gt;
&lt;br /&gt;
Vous aurez ensuite besoin d&#039;un nouveau profil de connexion réseau qui vous permettra de réaliser la remise à zéro du routeur :&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-settings-eth0-linux.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
&lt;br /&gt;
==== Terminal ====&lt;br /&gt;
&lt;br /&gt;
La console de MacOS est accessible via une application appelée &#039;&#039;&#039;Terminal&#039;&#039;&#039;. Vous la trouverez dans le dossier « Utilitaires » du dossier « Applications ». Elle vous permettra de taper les commandes nécessaires.&lt;br /&gt;
&lt;br /&gt;
==== SSH et SCP ====&lt;br /&gt;
&lt;br /&gt;
Le programme {{c|ssh}} est en général installé sur MacOS X, et permet de se connecter à distance à d&#039;autres ordinateurs (en l&#039;occurrence au routeur).&lt;br /&gt;
&lt;br /&gt;
Il en est de même pour {{c|scp}} qui est destiné au transfert de fichiers.&lt;br /&gt;
&lt;br /&gt;
==== Configuration réseau ====&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir se connecter facilement au routeur le plus simple est de créer un nouveau profil de configuration :&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-settings-eth-1-mac.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-settings-eth-2-mac.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
==== Terminal ====&lt;br /&gt;
&lt;br /&gt;
Sous Windows il existe plusieurs options.&lt;br /&gt;
&lt;br /&gt;
Soit vous utilisez le powershell (windows terminal sous windows 11), soit vous utilisez Ubuntu via WSL. Si vous utilisez WSL veuillez vous référer à la partie Linux précédente pour installer les paquets nécessaires à la réalisation du tutoriel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration réseau ====&lt;br /&gt;
&lt;br /&gt;
Il vous faudra aussi configurer votre connexion réseau en &#039;&#039;&#039;DHCP&#039;&#039;&#039;, sans la sécurité &#039;&#039;&#039;802.1X&#039;&#039;&#039;, et de préférence avec les bons serveurs &#039;&#039;&#039;DNS&#039;&#039;&#039;. Si vous ne l&#039;avez jamais fait, renseignez-vous sur le wikibr ou tout autre site décrivant la configuration réseau sous Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Terminal ===&lt;br /&gt;
&lt;br /&gt;
Dans le terminal de votre ordinateur nous n&#039;utiliserons que &#039;&#039;&#039;ssh&#039;&#039;&#039; et &#039;&#039;&#039;scp&#039;&#039;&#039; . En revanche nous utiliserons beaucoup le terminal du routeur, qui ressemblera à ceci :&lt;br /&gt;
&lt;br /&gt;
  neze@neze ~$ ssh root@192.168.1.1&lt;br /&gt;
  The authenticity of host &#039;192.168.1.1 (192.168.1.1)&#039; can&#039;t be established.&lt;br /&gt;
  RSA key fingerprint is **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**.&lt;br /&gt;
  Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;
  Warning: Permanently added &#039;192.168.1.1&#039; (RSA) to the list of known hosts.&lt;br /&gt;
  root@192.168.1.1&#039;s password: # ici le password n&#039;apparaîtra pas&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
  BusyBox v1.23.2 (2015-11-17 16:24:55 CET) built-in shell (ash)&lt;br /&gt;
   &lt;br /&gt;
    _______                     ________        __&lt;br /&gt;
   |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
   |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
   |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
            |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
   CHAOS CALMER (Chaos Calmer, r47466)&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
    * 1 1/2 oz Gin            Shake with a glassful&lt;br /&gt;
    * 1/4 oz Triple Sec       of broken ice and pour&lt;br /&gt;
    * 3/4 oz Lime Juice       unstrained into a goblet.&lt;br /&gt;
    * 1 1/2 oz Orange Juice&lt;br /&gt;
    * 1 tsp. Grenadine Syrup&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Cette section est destinée à décrire l&#039;installation du système &#039;&#039;&#039;OpenWRT&#039;&#039;&#039; sur un des deux routeurs traités. Plusieurs fichiers vous sont proposés. En général avant de l&#039;installer il faut renommer un fichier.&lt;br /&gt;
&lt;br /&gt;
=== Installer OpenWRT sur le routeur ===&lt;br /&gt;
&lt;br /&gt;
Pour installer &#039;&#039;&#039;OpenWRT&#039;&#039;&#039; il faut d&#039;abord préparer le fichier que vous allez mettre dans le routeur, qui est une version d&#039;OpenWRT prévue pour le v10 et v11 et modifiée pour l&#039;École polytechnique. Les informations sur ce fichier incluent aussi des sommes de contrôle si vous voulez vérifier que le fichier est le bon. Pensez à le décompresser avant toute chose.&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Nom:&#039;&#039;&#039; openwrt-19.07.2-ath79-tiny-tplink_tl-wr841-v11-squashfs-factory.bin&lt;br /&gt;
  (md5)     c7ac93636caf4935665c54fa09ba1421&lt;br /&gt;
  (sha1)    83a9763418ce2bda4e29f0ae46d827e3ef506e48&lt;br /&gt;
  (sha256)  9099e9054b370676b6467b6fb29c8f5a248839d2e3960686d0b6297c5c42763a&lt;br /&gt;
   &lt;br /&gt;
  [[Fichier:routeurv11openwrt.zip]]&lt;br /&gt;
&lt;br /&gt;
Il faut commencer par renommer votre fichier pour qu&#039;il corresponde à votre routeur, suivant le schéma suivant :&lt;br /&gt;
&lt;br /&gt;
  wr841nv11_wr841ndv11_en_3_16_9_up(150616).bin # tl841n v11&lt;br /&gt;
&lt;br /&gt;
Ouvrez ensuite, avec votre navigateur web, la page de configuration du routeur. Son adresse est&lt;br /&gt;
 &amp;lt;tt&amp;gt;http://192.168.1.1/&amp;lt;/tt&amp;gt; ou &amp;lt;tt&amp;gt;http://192.168.0.1/&amp;lt;/tt&amp;gt; &lt;br /&gt;
et il vous faut parfois désactiver le proxy pour y accéder.&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-tp-link-page.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite se connecter à l&#039;interface (nom d&#039;utilisateur {{c|admin}}, même mot de passe), puis accéder à l&#039;onglet &#039;&#039;&#039;System &amp;gt; Firmware Upgrade&#039;&#039;&#039;. Dans cette fenêtre vous pouvez sélectionner votre fichier &#039;&#039;bien renommé&#039;&#039;, puis cliquer sur Upgrade et confirmer.&lt;br /&gt;
&lt;br /&gt;
OpenWRT va être installé sur le routeur qui va ensuite redémarrer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Accès SSH ===&lt;br /&gt;
&lt;br /&gt;
Actuellement le routeur n&#039;a pas de mot de passe administrateur, ce qui empêche d&#039;utiliser {{c|ssh}} pour s&#039;y connecter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour des raisons techniques, le routeur n&#039;a pas d&#039;interface web. On peut dans ce cas utiliser {{c|telnet}} et la commande {{c|passwd}} lorsque l&#039;on dispose d&#039;un terminal. L&#039;on peut si on le souhaite mettre un mot de passe (très fortement conseillé) :&lt;br /&gt;
&lt;br /&gt;
  neze@neze ~ $ ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
  BusyBox v1.23.2 (2016-01-02 18:01:44 CET) built-in shell (ash)&lt;br /&gt;
    _______                     ________        __&lt;br /&gt;
   |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
   |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
   |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
            |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
   CHAOS CALMER (15.05.1, r48532)&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
   * 1 1/2 oz Gin            Shake with a glassful&lt;br /&gt;
   * 1/4 oz Triple Sec       of broken ice and pour&lt;br /&gt;
   * 3/4 oz Lime Juice       unstrained into a goblet.&lt;br /&gt;
   * 1 1/2 oz Orange Juice&lt;br /&gt;
   * 1 tsp. Grenadine Syrup&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
  root@OpenWrt:/# passwd&lt;br /&gt;
  Changing password for root&lt;br /&gt;
  New password:&lt;br /&gt;
  Retype password:&lt;br /&gt;
  Password for root changed by root&lt;br /&gt;
  root@OpenWrt:/#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Donner l&#039;accès internet au routeur ===&lt;br /&gt;
&lt;br /&gt;
Pour que le routeur fonctionne à l&#039;École, il faut qu&#039;il soit branché à la prise de votre casert via la prise bleue du routeur. Il faut ensuite le configurer pour qu&#039;il ait accès à internet.&lt;br /&gt;
&lt;br /&gt;
==== 802.1X ====&lt;br /&gt;
&lt;br /&gt;
Dans la plupart des caserts de l&#039;X, la sécurité est 802.1X (celle qui demande une authentification). Pour la configurer il faut mettre vos identifiants enex dans le routeur.&lt;br /&gt;
&lt;br /&gt;
* Connectez-vous au routeur via ssh.&lt;br /&gt;
&lt;br /&gt;
  ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
* Éditez le fichier de configuration de &#039;&#039;&#039;wpa&#039;&#039;&#039; en complétant les champs identity et password puis en copiant collant dans le terminal (faire CTRL+C et CTRL+V).&lt;br /&gt;
&lt;br /&gt;
  nano /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Une fois l&#039;édition terminée, faire CTRL+X puis y pour valider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Fichier wpa.conf :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=root&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;prénom.nom@polytechnique.fr&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;xxxxx&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Rendez le fichier éxécutable :&lt;br /&gt;
&lt;br /&gt;
  chmod +x /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Testez la configuration. Votre routeur doit être branché à internet.&lt;br /&gt;
&lt;br /&gt;
  wpa_supplicant -D wired -i eth1&lt;br /&gt;
  -c /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Si vous voyez le texte &#039;&#039;&#039;CTRL-EVENT-CONNECTED&#039;&#039;&#039; c&#039;est bon, vous pouvez interrompre avec &#039;&#039;&#039;Ctrl+C&#039;&#039;&#039; et continuer la configuration.&#039;&#039;&lt;br /&gt;
&#039;&#039;Si vous obtenez un message d&#039;erreur à propos du certificat (comme par exemple ci-dessous), essayez de mettre votre routeur à l&#039;heure puis reprenez cette étape.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  X509: Certificate not valid (now=XXXXXX not_before=XXXXXX not_after=XXXXXX)&lt;br /&gt;
&lt;br /&gt;
* Configurer le démarage automatique en copiant collant le fichier si dessous:&lt;br /&gt;
&lt;br /&gt;
  nano /etc/init.d/wpa&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Une fois l&#039;édition terminée, faire CTRL+X puis y pour valider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fichier wpa :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common &lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() {&lt;br /&gt;
 echo start&lt;br /&gt;
 wpa_supplicant -D wired -i eth1 -c /etc/config/wpa.conf &amp;amp;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Activez le démarrage automatique.&lt;br /&gt;
&lt;br /&gt;
  /etc/init.d/wpa start&lt;br /&gt;
  /etc/init.d/wpa enable&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Si vous obtenez un message d&#039;erreur du type &#039;&#039;&#039;Permission denied&#039;&#039;&#039;, tentez d&#039;abord de rendre le fichier exécutable avec {{c|chmod +x /etc/init.d/wpa}}.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Configuration de {{c|wpa-supplicant}} :&lt;br /&gt;
&lt;br /&gt;
  neze@neze ~ $ ssh root@192.168.1.1&lt;br /&gt;
  root@192.168.1.1&#039;s password:&lt;br /&gt;
    _______                     ________        __&lt;br /&gt;
   |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
   |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
   |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
            |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
  root@OpenWrt:~# vim /etc/config/wpa.conf&lt;br /&gt;
  root@OpenWrt:~# wpa_supplicant&lt;br /&gt;
                       -c /etc/config/wpa.conf&lt;br /&gt;
                       -D wired -i eth1&lt;br /&gt;
  Successfully initialized wpa_supplicant&lt;br /&gt;
  eth1: Associated with 01:80:c2:00:00:03&lt;br /&gt;
  WMM AC: Missing IEs&lt;br /&gt;
  eth1: CTRL-EVENT-EAP-STARTED EAP authentication started&lt;br /&gt;
  eth1: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=21&lt;br /&gt;
  eth1: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 21 (TTLS) selected&lt;br /&gt;
  TLSv1: you should reject under 768-bit DH prime (insecure; only 512 bits)&lt;br /&gt;
  eth1: CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully&lt;br /&gt;
  eth1: CTRL-EVENT-CONNECTED - Connection to **:**:**:**:**:** completed [id=0 id_str=]&lt;br /&gt;
  ^Ceth1: CTRL-EVENT-DISCONNECTED bssid=**:**:**:**:**:** reason=3 locally_generated=1&lt;br /&gt;
  eth1: CTRL-EVENT-TERMINATING &lt;br /&gt;
  root@OpenWrt:~# vim /etc/init.d/wpa&lt;br /&gt;
  root@OpenWrt:~# /etc/init.d/wpa enable&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IP fixe ====&lt;br /&gt;
&lt;br /&gt;
Si votre configuration est en IP fixe, ouvrez l&#039;interface web d&#039;OpenWRT. Dans l&#039;onglet &#039;&#039;&#039;Network &amp;gt; Interfaces&#039;&#039;&#039;, cliquez sur le bouton &#039;&#039;&#039;Edit&#039;&#039;&#039; de l&#039;interface &#039;&#039;&#039;WAN&#039;&#039;&#039;, changez le protocole en « statique », confirmez en cliquant sur &#039;&#039;&#039;Switch protocol&#039;&#039;&#039; puis remplissez les trois champs « IPv4 address, IPv4 netmask, IPv4 gateway ». Enfin, rajoutez les serveurs dns {{c|129.104.201.53}} et {{c|129.104.201.51}}.&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-openwrt-ipf-gui.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Si vous n&#039;avez pas accès à l&#039;interface web, connectez vous en ssh au routeur puis tapez les commandes suivantes, en adaptant évidemment les valeurs de l&#039;adresse IP, du masque de sous-réseau et de la passerelle par défaut.&lt;br /&gt;
&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.proto=&#039;static&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.ipaddr=&#039;129.104.222.109&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.netmask=&#039;255.255.255.0&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.gateway=&#039;129.104.222.254&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.dns=&#039;129.104.201.59 129.104.201.51&#039;&lt;br /&gt;
  root@OpenWrt:~# uci commit network&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Réglages Wi-Fi ===&lt;br /&gt;
&lt;br /&gt;
Cette section vous permettra de mettre en place un réseau wifi avec une sécurité correcte et aux normes françaises.&lt;br /&gt;
&lt;br /&gt;
Connectez-vous au routeur en &#039;&#039;&#039;SSH&#039;&#039;&#039; et suivez la procédure ci-dessous en adaptant à votre choix de nom de réseau et mot de passe wifi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention :&#039;&#039;&#039; votre mot de passe doit faire plus de 8 caractères, sans quoi le réseau wifi ne démarrera jamais.&lt;br /&gt;
&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-device[0].disabled=0&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-iface[0].ssid=&#039;MON-RESEAU-WIFI&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-iface[0].encryption=&#039;psk2&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-iface[0].key=&#039;MOT-DE-PASSE&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-device[0].country=&#039;FR&#039;&lt;br /&gt;
  root@OpenWrt:~# uci commit wireless; wifi&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités supplémentaires ==&lt;br /&gt;
&lt;br /&gt;
=== Changer l&#039;heure du routeur ===&lt;br /&gt;
&lt;br /&gt;
L&#039;heure du routeur est assez simple à changer. &#039;&#039;Normalement, elle se met à l&#039;heure automatiquement, mais vous pouvez avoir besoin de la changer &#039;&#039;&#039;avant&#039;&#039;&#039; d&#039;avoir accès à Internet.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
C&#039;est assez simple à faire en ligne de commande :&lt;br /&gt;
&lt;br /&gt;
  root@OpenWrt:~# date --set &#039;2016-07-24 09:58&#039;&lt;br /&gt;
  Sun Jul 24 09:58:00 CEST 2016&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi passer, si vous le souhaitez, par l&#039;interface graphique :&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-openwrt-date-gui.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== Récupération, problèmes ==&lt;br /&gt;
&lt;br /&gt;
=== Routeur briqué ===&lt;br /&gt;
&lt;br /&gt;
Il se peut, après certaines mauvaises manipulations, que le routeur ne soit plus accessible, que l&#039;interface web disparaisse, que vous ayez des messages d&#039;erreurs intempestifs vous empêchant de le configurer, etc.&lt;br /&gt;
&lt;br /&gt;
  root@OpenWrt:~# touch test&lt;br /&gt;
  touch: test: Read-only file system&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
Il faut dans ce cas effectuer une opération de récupération du routeur, dont la description est faite avec Linux dans ce document (Il est assez simple de l&#039;adapter pour un Mac, beaucoup plus compliqué pour Windows.) . Vous aurez besoin d&#039;un profil de configuration réseau « IP fixe », décrit en début de tutoriel.&lt;br /&gt;
&lt;br /&gt;
* Récupérez le fichier d&#039;openwrt correspondant à votre routeur, et copiez-le dans le répertoire de votre choix (dans notre cas il sera dans {{c|~/firmware.bin}}).&lt;br /&gt;
* Redémarrez votre routeur.&lt;br /&gt;
&lt;br /&gt;
Au moment où le voyant « cadenas » commence à clignoter, enfoncez le bouton &#039;&#039;&#039;reset&#039;&#039;&#039; (derrière le routeur) jusqu&#039;à ce que le voyant clignote beaucoup plus rapidement.&lt;br /&gt;
* Branchez votre routeur à l&#039;ordinateur et passez dans le profil de configuration IP fixe, puis ouvrez un terminal et exécutez la procédure ci-dessous.&lt;br /&gt;
&lt;br /&gt;
  neze@neze ~ $ md5sum firmware.bin&lt;br /&gt;
  06179235c8986228ea0c545d6d69df8b  firmware.bin&lt;br /&gt;
  neze@neze ~ $ telnet 192.168.1.1&lt;br /&gt;
  Trying 192.168.1.1...&lt;br /&gt;
  Connected to 192.168.1.1.&lt;br /&gt;
  Escape character is &#039;^]&#039;.&lt;br /&gt;
    ...&lt;br /&gt;
  ================= FAILSAFE MODE active ================&lt;br /&gt;
    ...&lt;br /&gt;
  =======================================================&lt;br /&gt;
   &lt;br /&gt;
  root@(none):/# mount_root&lt;br /&gt;
  root@(none):/# cd /tmp&lt;br /&gt;
  root@(none):/tmp# scp neze@192.168.1.22:firmware.bin ./&lt;br /&gt;
  Do you want to continue connecting? (y/n) y&lt;br /&gt;
  neze@192.168.1.22&#039;s password:&lt;br /&gt;
  firmware.bin              100&lt;br /&gt;
  root@(none):/tmp# mtd -r write firmware.bin firmware&lt;br /&gt;
  Unlocking firmware ...&lt;br /&gt;
   &lt;br /&gt;
  Writing from firmware.bin to firmware ... [w]&lt;br /&gt;
  Rebooting ...&lt;br /&gt;
&lt;br /&gt;
=== Routeur sans OS ===&lt;br /&gt;
&lt;br /&gt;
Si vous avez installé un OpenWRT corrompu ou tenté de réinstaller le système d&#039;origine sans réfléchir, vous avez peut-être un routeur qui ne démarre pas jusqu&#039;au bout.&lt;br /&gt;
&lt;br /&gt;
Cette section est valable si le {{c|bootloader}} est présent. Un bon moyen de le savoir est d&#039;enfoncer le bouton reset (routeur éteint) puis d&#039;allumer le routeur (reset enfoncé). Si au bout d&#039;un certain temps le voyant du cadenas reste allumé, c&#039;est probablement le cas. Éteignez alors le routeur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Procédure testée sur un routeur TP-Link 841N v10.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Préparez votre ordinateur.&#039;&#039;&#039; Installez sur un ordinateur &#039;&#039;&#039;Linux&#039;&#039;&#039; (Ces remarques s&#039;appliquent à Debian et doivent être adaptées.)  un serveur {{c|tftp}} :&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install tftp xinetd tftpd&lt;br /&gt;
&lt;br /&gt;
Normalement, {{c|xinetd}} sera alors le process chargé de gérer les serveurs. Vous pouvez vérifier que c&#039;est lui qui tourne avec la commande {{c|ps -alxww | grep inet}}.&lt;br /&gt;
&lt;br /&gt;
Vérifiez ensuite (dans {{c|/etc/services}}) que la ligne concernant {{c|tftp}} n&#039;est pas commentée :&lt;br /&gt;
&lt;br /&gt;
  tftp            69/udp&lt;br /&gt;
&lt;br /&gt;
Faites les réglages d&#039;un serveur {{c|tftp}} en créant/éditant le fichier {{c|/etc/xinetd.d/tftp}} :&lt;br /&gt;
&lt;br /&gt;
  service tftp&lt;br /&gt;
  {&lt;br /&gt;
      socket_type     = dgram&lt;br /&gt;
      protocol        = udp&lt;br /&gt;
      wait            = yes&lt;br /&gt;
      user            = root&lt;br /&gt;
      server          = /usr/sbin/in.tftpd&lt;br /&gt;
      server_args     = -s /tftpboot&lt;br /&gt;
      disable         = no&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Redémarrez le service avec la commande {{c|service xinetd restart}}. Désormais tous les fichiers présents dans {{c|/tftpboot}} seront accessibles dans votre serveur tftp.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez par exemple tester votre serveur tftp de la sorte :&lt;br /&gt;
&lt;br /&gt;
  neze tmp.9B8qi7nCqn # echo &amp;quot;Hello World&amp;quot; &amp;gt; /tftpboot/hello.txt&lt;br /&gt;
  neze tmp.9B8qi7nCqn # tftp localhost&lt;br /&gt;
  tftp&amp;gt; get hello.txt&lt;br /&gt;
  Received 13 bytes in 0.0 seconds&lt;br /&gt;
  tftp&amp;gt; quit&lt;br /&gt;
  neze tmp.9B8qi7nCqn # cat hello.txt &lt;br /&gt;
  Hello World&lt;br /&gt;
  neze tmp.9B8qi7nCqn # &lt;br /&gt;
&lt;br /&gt;
Prenez une image valable d&#039;OpenWRT, déposez-la dans {{c|/tftpboot}} renommée suivant le schéma suivant :&lt;br /&gt;
&lt;br /&gt;
  wr841nv10_tp_recovery.bin # tl841n v10&lt;br /&gt;
  wr841nv11_tp_recovery.bin # tl841n v11&lt;br /&gt;
&lt;br /&gt;
Configurez votre connexion ethernet en &#039;&#039;&#039;IP fixe&#039;&#039;&#039; {{c|192.168.0.66}}.&lt;br /&gt;
&lt;br /&gt;
Branchez le routeur à votre ordinateur, enfoncez le bouton reset, démarrez le routeur et attendez que le routeur redémarre après réinstallation du firmware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Routeur n&#039;accepte plus le certificat ===&lt;br /&gt;
Une des causes possibles est que la date de votre routeur est incorrecte.&lt;br /&gt;
Voir la section [[#Problème_de_date|sur ce sujet-là]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problème de date ===&lt;br /&gt;
Pour connaître la date enregistrée par votre routeur :&lt;br /&gt;
:&amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la date est incorrecte, vous pouvez la changer avec la commande suivante (à adapter avec la date actuelle) :&lt;br /&gt;
:&amp;lt;code&amp;gt;date  --set &#039;2016-07-31 19:20:00&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si le problème persiste, vous pouvez procéder ajouter les étapes suivantes :&lt;br /&gt;
# &amp;lt;code&amp;gt;date  --set &#039;2016-07-31 19:20:00&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;echo &amp;quot;timesave&amp;quot; &amp;gt; /etc/timesave&amp;lt;/code&amp;gt; (1er fix)&lt;br /&gt;
# Modifier le fichier /etc/init.d/sysfixtime, en remplaçant&lt;br /&gt;
#:&amp;lt;code&amp;gt;[ $curtime -lt $maxtime ] &amp;amp;&amp;amp; date -s @$maxtime&amp;lt;/code&amp;gt;&lt;br /&gt;
#:par&lt;br /&gt;
#:&amp;lt;code&amp;gt;if [ $curtime -lt $maxtime ]; then&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;date -s @$maxtime&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;/etc/init.d/sysntpd restart&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Je dois souvent redémarrer mon routeur ===&lt;br /&gt;
Un problème connu implique redsocks. Un workaround consiste à activer cron et à vérifier régulièrement que le service est lancé. On peut par exemple procéder ainsi :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/init.d/redsocks enable&lt;br /&gt;
&lt;br /&gt;
crontab -e&lt;br /&gt;
&lt;br /&gt;
0 */1 * * * /etc/init.d/redsocks stop &amp;amp;&amp;amp; /etc/init.d/redsocks start&lt;br /&gt;
*/3 * * * * /etc/init.d/redsocks start&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/cron enable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Wifi]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel&amp;diff=10004</id>
		<title>Routeurs Wi-Fi/Tutoriel</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel&amp;diff=10004"/>
		<updated>2024-01-14T10:23:54Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Ajout des catégories tutoriels et WiFi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{Travaux|Pour toute remarque ou demande, ouvrir une tâche Panix}}&lt;br /&gt;
&lt;br /&gt;
== Avertissements ==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent &#039;&#039;avant&#039;&#039; de faire quoi que ce soit. Cela vous évitera des erreurs stupides qui vous feront perdre du temps. Si vous souhaitez acheter un routeur, tournez vous faire des modèles avec plus de RAM que celui-ci (contacter le BR direcetement pour plus d&#039;infos) !}}&lt;br /&gt;
&lt;br /&gt;
=== Avertissement technique ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modèle de routeur.&#039;&#039;&#039; Le système que vous vous apprêtez à installer n&#039;est pas compatible avec tous les routeurs, loin de là ! Le fichier fourni par ce tutoriel est uniquement compatible avec le routeur &#039;&#039;&#039;TP-Link 841N&#039;&#039;&#039; ou &#039;&#039;&#039;TP-Link 841ND&#039;&#039;&#039;, versions 11 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . &#039;&#039;D&#039;autres versions peuvent être compatibles mais n&#039;ont pas été testé.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d&#039;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&#039;openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0). Cependant ce guide sera très spécifique pour le TP-link 841N et Tp-link 841ND.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Méthode de connexion.&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
=== Avertissement juridique ===&lt;br /&gt;
&lt;br /&gt;
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l&#039;École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec &#039;&#039;vos identifiants&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Principe ==&lt;br /&gt;
&lt;br /&gt;
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l&#039;École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d&#039;installer un système auxiliaire (OpenWRT)  sur les routeurs, remplaçant le système d&#039;origine. Grâce à ceci on peut obtenir un routeur qui s&#039;authentifie lui-même sur le réseau de l&#039;É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.&lt;br /&gt;
&lt;br /&gt;
== Préparation ==&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
Dans le cas des systèmes UNIX, la préparation est assez rapide car les outils sont déjà installés.&lt;br /&gt;
&lt;br /&gt;
==== Terminal ====&lt;br /&gt;
&lt;br /&gt;
Pour faire la configuration il vous faudra être capable d&#039;accéder à votre terminal. Pour la plupart des systèmes on peut le lancer avec {{c|ctrl+alt+T}} ou en cherchant « terminal » dans le menu principal.&lt;br /&gt;
&lt;br /&gt;
==== SSH et SCP ====&lt;br /&gt;
&lt;br /&gt;
Vous aurez besoin d&#039;un client {{c|ssh}} (par défaut installé sous linux) :&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install openssh-client&lt;br /&gt;
&lt;br /&gt;
La commande {{c|ssh}} permet ensuite de se connecter à distance et de façon sécurisée à un terminal.&lt;br /&gt;
&lt;br /&gt;
La commande {{c|scp}}, fournie par le même paquet, permet de transférer des fichiers avec le même protocole.&lt;br /&gt;
&lt;br /&gt;
==== Configuration réseau ====&lt;br /&gt;
&lt;br /&gt;
Pour vous connecter au routeur il vous faudra créer un nouveau profil de configuration ethernet selon les paramètres suivants :&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-settings-eth-linux.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==== Récupération ====&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir récupérer une erreur commise avec votre routeur, il faut tout d&#039;abord installer un serveur ssh :&lt;br /&gt;
&lt;br /&gt;
  $ sudo apt-get install openssh-server&lt;br /&gt;
  $ sudo service ssh start&lt;br /&gt;
&lt;br /&gt;
Vous aurez ensuite besoin d&#039;un nouveau profil de connexion réseau qui vous permettra de réaliser la remise à zéro du routeur :&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-settings-eth0-linux.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
&lt;br /&gt;
==== Terminal ====&lt;br /&gt;
&lt;br /&gt;
La console de MacOS est accessible via une application appelée &#039;&#039;&#039;Terminal&#039;&#039;&#039;. Vous la trouverez dans le dossier « Utilitaires » du dossier « Applications ». Elle vous permettra de taper les commandes nécessaires.&lt;br /&gt;
&lt;br /&gt;
==== SSH et SCP ====&lt;br /&gt;
&lt;br /&gt;
Le programme {{c|ssh}} est en général installé sur MacOS X, et permet de se connecter à distance à d&#039;autres ordinateurs (en l&#039;occurrence au routeur).&lt;br /&gt;
&lt;br /&gt;
Il en est de même pour {{c|scp}} qui est destiné au transfert de fichiers.&lt;br /&gt;
&lt;br /&gt;
==== Configuration réseau ====&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir se connecter facilement au routeur le plus simple est de créer un nouveau profil de configuration :&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-settings-eth-1-mac.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-settings-eth-2-mac.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
==== Terminal ====&lt;br /&gt;
&lt;br /&gt;
Sous Windows il existe plusieurs options.&lt;br /&gt;
&lt;br /&gt;
Soit vous utilisez le powershell (windows terminal sous windows 11), soit vous utilisez Ubuntu via WSL. Si vous utilisez WSL veuillez vous référer à la partie Linux précédente pour installer les paquets nécessaires à la réalisation du tutoriel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration réseau ====&lt;br /&gt;
&lt;br /&gt;
Il vous faudra aussi configurer votre connexion réseau en &#039;&#039;&#039;DHCP&#039;&#039;&#039;, sans la sécurité &#039;&#039;&#039;802.1X&#039;&#039;&#039;, et de préférence avec les bons serveurs &#039;&#039;&#039;DNS&#039;&#039;&#039;. Si vous ne l&#039;avez jamais fait, renseignez-vous sur le wikibr ou tout autre site décrivant la configuration réseau sous Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Terminal ===&lt;br /&gt;
&lt;br /&gt;
Dans le terminal de votre ordinateur nous n&#039;utiliserons que &#039;&#039;&#039;ssh&#039;&#039;&#039; et &#039;&#039;&#039;scp&#039;&#039;&#039; . En revanche nous utiliserons beaucoup le terminal du routeur, qui ressemblera à ceci :&lt;br /&gt;
&lt;br /&gt;
  neze@neze ~$ ssh root@192.168.1.1&lt;br /&gt;
  The authenticity of host &#039;192.168.1.1 (192.168.1.1)&#039; can&#039;t be established.&lt;br /&gt;
  RSA key fingerprint is **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**.&lt;br /&gt;
  Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;
  Warning: Permanently added &#039;192.168.1.1&#039; (RSA) to the list of known hosts.&lt;br /&gt;
  root@192.168.1.1&#039;s password: # ici le password n&#039;apparaîtra pas&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
  BusyBox v1.23.2 (2015-11-17 16:24:55 CET) built-in shell (ash)&lt;br /&gt;
   &lt;br /&gt;
    _______                     ________        __&lt;br /&gt;
   |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
   |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
   |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
            |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
   CHAOS CALMER (Chaos Calmer, r47466)&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
    * 1 1/2 oz Gin            Shake with a glassful&lt;br /&gt;
    * 1/4 oz Triple Sec       of broken ice and pour&lt;br /&gt;
    * 3/4 oz Lime Juice       unstrained into a goblet.&lt;br /&gt;
    * 1 1/2 oz Orange Juice&lt;br /&gt;
    * 1 tsp. Grenadine Syrup&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Cette section est destinée à décrire l&#039;installation du système &#039;&#039;&#039;OpenWRT&#039;&#039;&#039; sur un des deux routeurs traités. Plusieurs fichiers vous sont proposés. En général avant de l&#039;installer il faut renommer un fichier.&lt;br /&gt;
&lt;br /&gt;
=== Installer OpenWRT sur le routeur ===&lt;br /&gt;
&lt;br /&gt;
Pour installer &#039;&#039;&#039;OpenWRT&#039;&#039;&#039; il faut d&#039;abord préparer le fichier que vous allez mettre dans le routeur, qui est une version d&#039;OpenWRT prévue pour le v10 et v11 et modifiée pour l&#039;École polytechnique. Les informations sur ce fichier incluent aussi des sommes de contrôle si vous voulez vérifier que le fichier est le bon. Pensez à le décompresser avant toute chose.&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Nom:&#039;&#039;&#039; openwrt-19.07.2-ath79-tiny-tplink_tl-wr841-v11-squashfs-factory.bin&lt;br /&gt;
  (md5)     c7ac93636caf4935665c54fa09ba1421&lt;br /&gt;
  (sha1)    83a9763418ce2bda4e29f0ae46d827e3ef506e48&lt;br /&gt;
  (sha256)  9099e9054b370676b6467b6fb29c8f5a248839d2e3960686d0b6297c5c42763a&lt;br /&gt;
   &lt;br /&gt;
  [[Fichier:routeurv11openwrt.zip]]&lt;br /&gt;
&lt;br /&gt;
Il faut commencer par renommer votre fichier pour qu&#039;il corresponde à votre routeur, suivant le schéma suivant :&lt;br /&gt;
&lt;br /&gt;
  wr841nv11_wr841ndv11_en_3_16_9_up(150616).bin # tl841n v11&lt;br /&gt;
&lt;br /&gt;
Ouvrez ensuite, avec votre navigateur web, la page de configuration du routeur. Son adresse est&lt;br /&gt;
 &amp;lt;tt&amp;gt;http://192.168.1.1/&amp;lt;/tt&amp;gt; ou &amp;lt;tt&amp;gt;http://192.168.0.1/&amp;lt;/tt&amp;gt; &lt;br /&gt;
et il vous faut parfois désactiver le proxy pour y accéder.&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-tp-link-page.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite se connecter à l&#039;interface (nom d&#039;utilisateur {{c|admin}}, même mot de passe), puis accéder à l&#039;onglet &#039;&#039;&#039;System &amp;gt; Firmware Upgrade&#039;&#039;&#039;. Dans cette fenêtre vous pouvez sélectionner votre fichier &#039;&#039;bien renommé&#039;&#039;, puis cliquer sur Upgrade et confirmer.&lt;br /&gt;
&lt;br /&gt;
OpenWRT va être installé sur le routeur qui va ensuite redémarrer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Accès SSH ===&lt;br /&gt;
&lt;br /&gt;
Actuellement le routeur n&#039;a pas de mot de passe administrateur, ce qui empêche d&#039;utiliser {{c|ssh}} pour s&#039;y connecter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour des raisons techniques, le routeur n&#039;a pas d&#039;interface web. On peut dans ce cas utiliser {{c|telnet}} et la commande {{c|passwd}} lorsque l&#039;on dispose d&#039;un terminal. L&#039;on peut si on le souhaite mettre un mot de passe (très fortement conseillé) :&lt;br /&gt;
&lt;br /&gt;
  neze@neze ~ $ ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
  BusyBox v1.23.2 (2016-01-02 18:01:44 CET) built-in shell (ash)&lt;br /&gt;
    _______                     ________        __&lt;br /&gt;
   |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
   |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
   |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
            |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
   CHAOS CALMER (15.05.1, r48532)&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
   * 1 1/2 oz Gin            Shake with a glassful&lt;br /&gt;
   * 1/4 oz Triple Sec       of broken ice and pour&lt;br /&gt;
   * 3/4 oz Lime Juice       unstrained into a goblet.&lt;br /&gt;
   * 1 1/2 oz Orange Juice&lt;br /&gt;
   * 1 tsp. Grenadine Syrup&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
  root@OpenWrt:/# passwd&lt;br /&gt;
  Changing password for root&lt;br /&gt;
  New password:&lt;br /&gt;
  Retype password:&lt;br /&gt;
  Password for root changed by root&lt;br /&gt;
  root@OpenWrt:/#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Donner l&#039;accès internet au routeur ===&lt;br /&gt;
&lt;br /&gt;
Pour que le routeur fonctionne à l&#039;École, il faut qu&#039;il soit branché à la prise de votre casert via la prise bleue du routeur. Il faut ensuite le configurer pour qu&#039;il ait accès à internet.&lt;br /&gt;
&lt;br /&gt;
==== 802.1X ====&lt;br /&gt;
&lt;br /&gt;
Dans la plupart des caserts de l&#039;X, la sécurité est 802.1X (celle qui demande une authentification). Pour la configurer il faut mettre vos identifiants enex dans le routeur.&lt;br /&gt;
&lt;br /&gt;
* Connectez-vous au routeur via ssh.&lt;br /&gt;
&lt;br /&gt;
  ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
* Éditez le fichier de configuration de &#039;&#039;&#039;wpa&#039;&#039;&#039; en complétant les champs identity et password puis en copiant collant dans le terminal (faire CTRL+C et CTRL+V).&lt;br /&gt;
&lt;br /&gt;
  nano /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Une fois l&#039;édition terminée, faire CTRL+X puis y pour valider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Fichier wpa.conf :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=root&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;prénom.nom@polytechnique.fr&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;xxxxx&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Rendez le fichier éxécutable :&lt;br /&gt;
&lt;br /&gt;
  chmod +x /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Testez la configuration. Votre routeur doit être branché à internet.&lt;br /&gt;
&lt;br /&gt;
  wpa_supplicant -D wired -i eth1&lt;br /&gt;
  -c /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Si vous voyez le texte &#039;&#039;&#039;CTRL-EVENT-CONNECTED&#039;&#039;&#039; c&#039;est bon, vous pouvez interrompre avec &#039;&#039;&#039;Ctrl+C&#039;&#039;&#039; et continuer la configuration.&#039;&#039;&lt;br /&gt;
&#039;&#039;Si vous obtenez un message d&#039;erreur à propos du certificat (comme par exemple ci-dessous), essayez de mettre votre routeur à l&#039;heure puis reprenez cette étape.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  X509: Certificate not valid (now=XXXXXX not_before=XXXXXX not_after=XXXXXX)&lt;br /&gt;
&lt;br /&gt;
* Configurer le démarage automatique en copiant collant le fichier si dessous:&lt;br /&gt;
&lt;br /&gt;
  nano /etc/init.d/wpa&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Une fois l&#039;édition terminée, faire CTRL+X puis y pour valider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fichier wpa :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common &lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() {&lt;br /&gt;
 echo start&lt;br /&gt;
 wpa_supplicant -D wired -i eth1 -c /etc/config/wpa.conf &amp;amp;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Activez le démarrage automatique.&lt;br /&gt;
&lt;br /&gt;
  /etc/init.d/wpa start&lt;br /&gt;
  /etc/init.d/wpa enable&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Si vous obtenez un message d&#039;erreur du type &#039;&#039;&#039;Permission denied&#039;&#039;&#039;, tentez d&#039;abord de rendre le fichier exécutable avec {{c|chmod +x /etc/init.d/wpa}}.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Configuration de {{c|wpa-supplicant}} :&lt;br /&gt;
&lt;br /&gt;
  neze@neze ~ $ ssh root@192.168.1.1&lt;br /&gt;
  root@192.168.1.1&#039;s password:&lt;br /&gt;
    _______                     ________        __&lt;br /&gt;
   |       |.-----.-----.-----.|  |  |  |.----.|  |_&lt;br /&gt;
   |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|&lt;br /&gt;
   |_______||   __|_____|__|__||________||__|  |____|&lt;br /&gt;
            |__| W I R E L E S S   F R E E D O M&lt;br /&gt;
   -----------------------------------------------------&lt;br /&gt;
  root@OpenWrt:~# vim /etc/config/wpa.conf&lt;br /&gt;
  root@OpenWrt:~# wpa_supplicant&lt;br /&gt;
                       -c /etc/config/wpa.conf&lt;br /&gt;
                       -D wired -i eth1&lt;br /&gt;
  Successfully initialized wpa_supplicant&lt;br /&gt;
  eth1: Associated with 01:80:c2:00:00:03&lt;br /&gt;
  WMM AC: Missing IEs&lt;br /&gt;
  eth1: CTRL-EVENT-EAP-STARTED EAP authentication started&lt;br /&gt;
  eth1: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=21&lt;br /&gt;
  eth1: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 21 (TTLS) selected&lt;br /&gt;
  TLSv1: you should reject under 768-bit DH prime (insecure; only 512 bits)&lt;br /&gt;
  eth1: CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully&lt;br /&gt;
  eth1: CTRL-EVENT-CONNECTED - Connection to **:**:**:**:**:** completed [id=0 id_str=]&lt;br /&gt;
  ^Ceth1: CTRL-EVENT-DISCONNECTED bssid=**:**:**:**:**:** reason=3 locally_generated=1&lt;br /&gt;
  eth1: CTRL-EVENT-TERMINATING &lt;br /&gt;
  root@OpenWrt:~# vim /etc/init.d/wpa&lt;br /&gt;
  root@OpenWrt:~# /etc/init.d/wpa enable&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IP fixe ====&lt;br /&gt;
&lt;br /&gt;
Si votre configuration est en IP fixe, ouvrez l&#039;interface web d&#039;OpenWRT. Dans l&#039;onglet &#039;&#039;&#039;Network &amp;gt; Interfaces&#039;&#039;&#039;, cliquez sur le bouton &#039;&#039;&#039;Edit&#039;&#039;&#039; de l&#039;interface &#039;&#039;&#039;WAN&#039;&#039;&#039;, changez le protocole en « statique », confirmez en cliquant sur &#039;&#039;&#039;Switch protocol&#039;&#039;&#039; puis remplissez les trois champs « IPv4 address, IPv4 netmask, IPv4 gateway ». Enfin, rajoutez les serveurs dns {{c|129.104.201.53}} et {{c|129.104.201.51}}.&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-openwrt-ipf-gui.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Si vous n&#039;avez pas accès à l&#039;interface web, connectez vous en ssh au routeur puis tapez les commandes suivantes, en adaptant évidemment les valeurs de l&#039;adresse IP, du masque de sous-réseau et de la passerelle par défaut.&lt;br /&gt;
&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.proto=&#039;static&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.ipaddr=&#039;129.104.222.109&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.netmask=&#039;255.255.255.0&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.gateway=&#039;129.104.222.254&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set network.wan.dns=&#039;129.104.201.59 129.104.201.51&#039;&lt;br /&gt;
  root@OpenWrt:~# uci commit network&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Réglages Wi-Fi ===&lt;br /&gt;
&lt;br /&gt;
Cette section vous permettra de mettre en place un réseau wifi avec une sécurité correcte et aux normes françaises.&lt;br /&gt;
&lt;br /&gt;
Connectez-vous au routeur en &#039;&#039;&#039;SSH&#039;&#039;&#039; et suivez la procédure ci-dessous en adaptant à votre choix de nom de réseau et mot de passe wifi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention :&#039;&#039;&#039; votre mot de passe doit faire plus de 8 caractères, sans quoi le réseau wifi ne démarrera jamais.&lt;br /&gt;
&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-device[0].disabled=0&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-iface[0].ssid=&#039;MON-RESEAU-WIFI&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-iface[0].encryption=&#039;psk2&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-iface[0].key=&#039;MOT-DE-PASSE&#039;&lt;br /&gt;
  root@OpenWrt:~# uci set wireless.@wifi-device[0].country=&#039;FR&#039;&lt;br /&gt;
  root@OpenWrt:~# uci commit wireless; wifi&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités supplémentaires ==&lt;br /&gt;
&lt;br /&gt;
=== Changer l&#039;heure du routeur ===&lt;br /&gt;
&lt;br /&gt;
L&#039;heure du routeur est assez simple à changer. &#039;&#039;Normalement, elle se met à l&#039;heure automatiquement, mais vous pouvez avoir besoin de la changer &#039;&#039;&#039;avant&#039;&#039;&#039; d&#039;avoir accès à Internet.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
C&#039;est assez simple à faire en ligne de commande :&lt;br /&gt;
&lt;br /&gt;
  root@OpenWrt:~# date --set &#039;2016-07-24 09:58&#039;&lt;br /&gt;
  Sun Jul 24 09:58:00 CEST 2016&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi passer, si vous le souhaitez, par l&#039;interface graphique :&lt;br /&gt;
&lt;br /&gt;
[[Image:routeurs-openwrt-date-gui.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
== Récupération, problèmes ==&lt;br /&gt;
&lt;br /&gt;
=== Routeur briqué ===&lt;br /&gt;
&lt;br /&gt;
Il se peut, après certaines mauvaises manipulations, que le routeur ne soit plus accessible, que l&#039;interface web disparaisse, que vous ayez des messages d&#039;erreurs intempestifs vous empêchant de le configurer, etc.&lt;br /&gt;
&lt;br /&gt;
  root@OpenWrt:~# touch test&lt;br /&gt;
  touch: test: Read-only file system&lt;br /&gt;
  root@OpenWrt:~#&lt;br /&gt;
&lt;br /&gt;
Il faut dans ce cas effectuer une opération de récupération du routeur, dont la description est faite avec Linux dans ce document (Il est assez simple de l&#039;adapter pour un Mac, beaucoup plus compliqué pour Windows.) . Vous aurez besoin d&#039;un profil de configuration réseau « IP fixe », décrit en début de tutoriel.&lt;br /&gt;
&lt;br /&gt;
* Récupérez le fichier d&#039;openwrt correspondant à votre routeur, et copiez-le dans le répertoire de votre choix (dans notre cas il sera dans {{c|~/firmware.bin}}).&lt;br /&gt;
* Redémarrez votre routeur.&lt;br /&gt;
&lt;br /&gt;
Au moment où le voyant « cadenas » commence à clignoter, enfoncez le bouton &#039;&#039;&#039;reset&#039;&#039;&#039; (derrière le routeur) jusqu&#039;à ce que le voyant clignote beaucoup plus rapidement.&lt;br /&gt;
* Branchez votre routeur à l&#039;ordinateur et passez dans le profil de configuration IP fixe, puis ouvrez un terminal et exécutez la procédure ci-dessous.&lt;br /&gt;
&lt;br /&gt;
  neze@neze ~ $ md5sum firmware.bin&lt;br /&gt;
  06179235c8986228ea0c545d6d69df8b  firmware.bin&lt;br /&gt;
  neze@neze ~ $ telnet 192.168.1.1&lt;br /&gt;
  Trying 192.168.1.1...&lt;br /&gt;
  Connected to 192.168.1.1.&lt;br /&gt;
  Escape character is &#039;^]&#039;.&lt;br /&gt;
    ...&lt;br /&gt;
  ================= FAILSAFE MODE active ================&lt;br /&gt;
    ...&lt;br /&gt;
  =======================================================&lt;br /&gt;
   &lt;br /&gt;
  root@(none):/# mount_root&lt;br /&gt;
  root@(none):/# cd /tmp&lt;br /&gt;
  root@(none):/tmp# scp neze@192.168.1.22:firmware.bin ./&lt;br /&gt;
  Do you want to continue connecting? (y/n) y&lt;br /&gt;
  neze@192.168.1.22&#039;s password:&lt;br /&gt;
  firmware.bin              100&lt;br /&gt;
  root@(none):/tmp# mtd -r write firmware.bin firmware&lt;br /&gt;
  Unlocking firmware ...&lt;br /&gt;
   &lt;br /&gt;
  Writing from firmware.bin to firmware ... [w]&lt;br /&gt;
  Rebooting ...&lt;br /&gt;
&lt;br /&gt;
=== Routeur sans OS ===&lt;br /&gt;
&lt;br /&gt;
Si vous avez installé un OpenWRT corrompu ou tenté de réinstaller le système d&#039;origine sans réfléchir, vous avez peut-être un routeur qui ne démarre pas jusqu&#039;au bout.&lt;br /&gt;
&lt;br /&gt;
Cette section est valable si le {{c|bootloader}} est présent. Un bon moyen de le savoir est d&#039;enfoncer le bouton reset (routeur éteint) puis d&#039;allumer le routeur (reset enfoncé). Si au bout d&#039;un certain temps le voyant du cadenas reste allumé, c&#039;est probablement le cas. Éteignez alors le routeur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Procédure testée sur un routeur TP-Link 841N v10.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Préparez votre ordinateur.&#039;&#039;&#039; Installez sur un ordinateur &#039;&#039;&#039;Linux&#039;&#039;&#039; (Ces remarques s&#039;appliquent à Debian et doivent être adaptées.)  un serveur {{c|tftp}} :&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install tftp xinetd tftpd&lt;br /&gt;
&lt;br /&gt;
Normalement, {{c|xinetd}} sera alors le process chargé de gérer les serveurs. Vous pouvez vérifier que c&#039;est lui qui tourne avec la commande {{c|ps -alxww | grep inet}}.&lt;br /&gt;
&lt;br /&gt;
Vérifiez ensuite (dans {{c|/etc/services}}) que la ligne concernant {{c|tftp}} n&#039;est pas commentée :&lt;br /&gt;
&lt;br /&gt;
  tftp            69/udp&lt;br /&gt;
&lt;br /&gt;
Faites les réglages d&#039;un serveur {{c|tftp}} en créant/éditant le fichier {{c|/etc/xinetd.d/tftp}} :&lt;br /&gt;
&lt;br /&gt;
  service tftp&lt;br /&gt;
  {&lt;br /&gt;
      socket_type     = dgram&lt;br /&gt;
      protocol        = udp&lt;br /&gt;
      wait            = yes&lt;br /&gt;
      user            = root&lt;br /&gt;
      server          = /usr/sbin/in.tftpd&lt;br /&gt;
      server_args     = -s /tftpboot&lt;br /&gt;
      disable         = no&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Redémarrez le service avec la commande {{c|service xinetd restart}}. Désormais tous les fichiers présents dans {{c|/tftpboot}} seront accessibles dans votre serveur tftp.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez par exemple tester votre serveur tftp de la sorte :&lt;br /&gt;
&lt;br /&gt;
  neze tmp.9B8qi7nCqn # echo &amp;quot;Hello World&amp;quot; &amp;gt; /tftpboot/hello.txt&lt;br /&gt;
  neze tmp.9B8qi7nCqn # tftp localhost&lt;br /&gt;
  tftp&amp;gt; get hello.txt&lt;br /&gt;
  Received 13 bytes in 0.0 seconds&lt;br /&gt;
  tftp&amp;gt; quit&lt;br /&gt;
  neze tmp.9B8qi7nCqn # cat hello.txt &lt;br /&gt;
  Hello World&lt;br /&gt;
  neze tmp.9B8qi7nCqn # &lt;br /&gt;
&lt;br /&gt;
Prenez une image valable d&#039;OpenWRT, déposez-la dans {{c|/tftpboot}} renommée suivant le schéma suivant :&lt;br /&gt;
&lt;br /&gt;
  wr841nv10_tp_recovery.bin # tl841n v10&lt;br /&gt;
  wr841nv11_tp_recovery.bin # tl841n v11&lt;br /&gt;
&lt;br /&gt;
Configurez votre connexion ethernet en &#039;&#039;&#039;IP fixe&#039;&#039;&#039; {{c|192.168.0.66}}.&lt;br /&gt;
&lt;br /&gt;
Branchez le routeur à votre ordinateur, enfoncez le bouton reset, démarrez le routeur et attendez que le routeur redémarre après réinstallation du firmware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Routeur n&#039;accepte plus le certificat ===&lt;br /&gt;
Une des causes possibles est que la date de votre routeur est incorrecte.&lt;br /&gt;
Voir la section [[#Problème_de_date|sur ce sujet-là]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problème de date ===&lt;br /&gt;
Pour connaître la date enregistrée par votre routeur :&lt;br /&gt;
:&amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la date est incorrecte, vous pouvez la changer avec la commande suivante (à adapter avec la date actuelle) :&lt;br /&gt;
:&amp;lt;code&amp;gt;date  --set &#039;2016-07-31 19:20:00&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si le problème persiste, vous pouvez procéder ajouter les étapes suivantes :&lt;br /&gt;
# &amp;lt;code&amp;gt;date  --set &#039;2016-07-31 19:20:00&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;echo &amp;quot;timesave&amp;quot; &amp;gt; /etc/timesave&amp;lt;/code&amp;gt; (1er fix)&lt;br /&gt;
# Modifier le fichier /etc/init.d/sysfixtime, en remplaçant&lt;br /&gt;
#:&amp;lt;code&amp;gt;[ $curtime -lt $maxtime ] &amp;amp;&amp;amp; date -s @$maxtime&amp;lt;/code&amp;gt;&lt;br /&gt;
#:par&lt;br /&gt;
#:&amp;lt;code&amp;gt;if [ $curtime -lt $maxtime ]; then&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;date -s @$maxtime&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;/etc/init.d/sysntpd restart&amp;lt;/code&amp;gt;&lt;br /&gt;
#:&amp;lt;code&amp;gt;fi&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Je dois souvent redémarrer mon routeur ===&lt;br /&gt;
Un problème connu implique redsocks. Un workaround consiste à activer cron et à vérifier régulièrement que le service est lancé. On peut par exemple procéder ainsi :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/init.d/redsocks enable&lt;br /&gt;
&lt;br /&gt;
crontab -e&lt;br /&gt;
&lt;br /&gt;
0 */1 * * * /etc/init.d/redsocks stop &amp;amp;&amp;amp; /etc/init.d/redsocks start&lt;br /&gt;
*/3 * * * * /etc/init.d/redsocks start&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/cron enable&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:WiFi]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=10003</id>
		<title>Routeurs Wi-Fi/Tutoriel TP-Link Archer C50</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=10003"/>
		<updated>2024-01-14T10:22:33Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Ajout de la catégorie tutoriels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Avertissements ==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent &#039;&#039;avant&#039;&#039; de faire quoi que ce soit. Cela vous évitera des erreurs stupides qui vous feront perdre du temps. !}}&lt;br /&gt;
&lt;br /&gt;
=== Avertissement technique ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modèle de routeur.&#039;&#039;&#039; Le système que vous vous apprêtez à installer n&#039;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 &#039;&#039;&#039;TP-Link Archer C50&#039;&#039;&#039;, &#039;&#039;&#039;TP-Link Archer AC1200&#039;&#039;&#039; ou &#039;&#039;&#039;TP-Link Archer A5&#039;&#039;&#039;, versions 4 à 6 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . &#039;&#039;D&#039;autres versions peuvent être compatibles mais n&#039;ont pas été testées.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d&#039;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&#039;openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Méthode de connexion.&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;État d&#039;esprit.&#039;&#039;&#039; La procédure est relativement longue mais elle n&#039;est pas très compliquée. Si c&#039;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.&lt;br /&gt;
&lt;br /&gt;
=== Avertissement juridique ===&lt;br /&gt;
&lt;br /&gt;
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l&#039;École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec &#039;&#039;vos identifiants&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Principe ==&lt;br /&gt;
&lt;br /&gt;
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l&#039;École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d&#039;installer un système auxiliaire (OpenWRT)  sur les routeurs, remplaçant le système d&#039;origine. Grâce à ceci on peut obtenir un routeur qui s&#039;authentifie lui-même sur le réseau de l&#039;É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.&lt;br /&gt;
&lt;br /&gt;
== Le hic ==&lt;br /&gt;
Il existe depuis l&#039;interface GUI de TP-Link un endroit où l&#039;on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d&#039;OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l&#039;on ne peut pas directement fournir l&#039;image d&#039;OpenWRT depuis cette interface car &#039;&#039;&#039;cela va très probablement briquer le routeur&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Il faut donc procéder autrement, et l&#039;on va donc utiliser le protocole TFTP [https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol] pour pouvoir fournir notre image au routeur.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, les liens suivants pourront vous être utiles en complément :&lt;br /&gt;
* Page officielle pour le modèle Archer C50 [https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions]&lt;br /&gt;
* Autre tutoriel qui a servi a l&#039;élaboration de celui ci. Certains phases sont identiques et il y a d&#039;autres compléments d&#039;informations [[Routeurs Wi-Fi/Tutoriel]]&lt;br /&gt;
&lt;br /&gt;
== Préparation ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
* 1ère possibilité: Utiliser un &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; tout fait disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici]. (Utilise la version OS et pense à le renommer en &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 2ème possibilité: Le faire soit même, comme ceci:&lt;br /&gt;
&lt;br /&gt;
Récupérez l&#039;image du firware TP-Link depuis le site officiel qui devra être nommé &amp;lt;code&amp;gt;tpl.bin&amp;lt;/code&amp;gt;, et celle d&#039;OpenWRT (https://firmware-selector.openwrt.org/) nommée &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; et placez les dans un répertoire commun.&lt;br /&gt;
&lt;br /&gt;
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&#039;il n&#039;existe actuellement pas de firmware OpenWRT pour le Archer A5, il faut prendre celui du Archer C50.&lt;br /&gt;
&lt;br /&gt;
Il est également possible que la version d&#039;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&#039;il n&#039;existe pas d&#039;image pré-compilée pour le routeur, il faut [[Compiler OpenWRT]]. &lt;br /&gt;
&lt;br /&gt;
Dans un terminal ouvert sur le répertoire, exécutez les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1&lt;br /&gt;
 dd if=tpl.bin of=tmp.bin bs=131584 count=1&lt;br /&gt;
 dd if=tmp.bin of=boot.bin bs=512 skip=1&lt;br /&gt;
 cat boot.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
 cat owrt.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Ce sera l&#039;image &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; qui vient d&#039;être créée qui nous intéressera par la suite. L&#039;image doit peser environ 6 Mo.&lt;br /&gt;
&lt;br /&gt;
* Si jamais à un moment ou un autre, le routeur est &#039;&#039;&#039;brické&#039;&#039;&#039; (cassé) tu peux le débloquer en utilisant le &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; disponible [https://stratus.binets.fr/s/q8joypmLcN9jbfD ici]&lt;br /&gt;
&lt;br /&gt;
== Procédure TFTP ==&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; ce qui nous indique (contrairement à ce qu&#039;on aurait pu penser) que le routeur sera client et le PC sera serveur.&lt;br /&gt;
&lt;br /&gt;
Pour la suite, le lien suivant peut être d&#039;une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4&lt;br /&gt;
&lt;br /&gt;
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 (&#039;&#039;&#039;éteint&#039;&#039;&#039;) au switch via un de ses ports orange (le 1 par exemple). Depuis l&#039;interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d&#039;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&#039;OpenWRT comme étant &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer &#039;&#039;Current Directory&#039;&#039; pour être le répertoire dans lequel &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; est situé. Cliquez sur &#039;&#039;Show dir&#039;&#039; pour vérifier qu&#039;il fait bien partie de la liste des fichiers présents. Ouvrez l&#039;onglet de &#039;&#039;Log&#039;&#039;. C&#039;est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d&#039;appuyer sur un bouton supplémentaire.&lt;br /&gt;
&lt;br /&gt;
Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu&#039;à ce que la LED WPS soit allumée.&lt;br /&gt;
&lt;br /&gt;
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&#039;onglet &#039;&#039;Log&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 atftp 192.168.0.66&lt;br /&gt;
 get tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Qui devrait retourner sans erreur.&lt;br /&gt;
&lt;br /&gt;
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&#039;opération, il devrait se redémarrer.&lt;br /&gt;
&lt;br /&gt;
Attention: si les LEDs clignotent périodiquement après le redémarrage, cela signifie que l&#039;installation a échoué et qu&#039;il n&#039;arrive pas à booter. Assurez-vous d&#039;avoir le bon fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; puis recommencez le transfert.&lt;br /&gt;
&lt;br /&gt;
== Hello, OpenWRT world ==&lt;br /&gt;
&lt;br /&gt;
=== Préalables ===&lt;br /&gt;
&lt;br /&gt;
==== Routeur connecté à Internet ====&lt;br /&gt;
&lt;br /&gt;
Heureusement tout n&#039;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é).&lt;br /&gt;
&lt;br /&gt;
Le routeur va avoir besoin d&#039;Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l&#039;adresse 192.168.1.1).&lt;br /&gt;
Connectez-vous alors à votre réseau dans allant dans &#039;&#039;Network&#039;&#039;, Scan et sélectionnant le bon Wifi. C&#039;est essentiel d&#039;avoir une bonne connexion, et cela peut être à l&#039;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&#039;onglet Diagnostics de la GUI.&lt;br /&gt;
&lt;br /&gt;
==== Paquet wpa-supplicant installé ====&lt;br /&gt;
&lt;br /&gt;
Connectez-vous par SSH au routeur avec :&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Sur certains modèles, il est nécessaire d&#039;utiliser la commande &amp;lt;code&amp;gt;ssh root@192.168.1.1 -oHostKeyAlgorithms=+ssh-rsa&amp;lt;/code&amp;gt;.&lt;br /&gt;
Dans un premier temps, mettez à jour les packets :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi le faire depuis le web GUI (disponible sur 192.168.1.1 mdp root) System &amp;gt; Software et Run update.&lt;br /&gt;
&lt;br /&gt;
Installer également nano si vous le souhaitez (vim est installé par défaut) :&lt;br /&gt;
&lt;br /&gt;
 opkg install nano&lt;br /&gt;
&lt;br /&gt;
On va maintenant installer le paquet qui va s&#039;occuper de nous authentifier au réseau. Il est probable qu&#039;un autre paquet (wpad-basic ou wpad-basic-wolfssl selon les modèles) est préinstallé : il va falloir le désinstaller.&lt;br /&gt;
&lt;br /&gt;
 opkg remove wpad-basic&lt;br /&gt;
 opkg install wpa-supplicant-openssl&lt;br /&gt;
&lt;br /&gt;
Points d&#039;attention:&lt;br /&gt;
* c&#039;est &#039;&#039;&#039;supplicant&#039;&#039;&#039; et pas &#039;&#039;&#039;applicant&#039;&#039;&#039;&lt;br /&gt;
* vous pouvez déterminer quelle saveur de wpad-basic est installé avec la commande &amp;lt;code&amp;gt;opkg list-installed&amp;lt;/code&amp;gt;&lt;br /&gt;
* depuis l&#039;été 2023, il faut installer wpa-supplicant-openssl et pas wpa-supplicant&lt;br /&gt;
* après avoir désinstallé wpad-basic, vous ne pourrez plus vous reconnecter à votre hotspot si vous êtes déconnecté&lt;br /&gt;
* si vous avez été déconnecté du hotspot avant de finir la configuration et que vous n&#039;avez plus de connexion à Internet, vous pouvez réinstaller le système depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Si l&#039;installation échoue pour cause d&#039;espace insufisant ====&lt;br /&gt;
&lt;br /&gt;
Si l&#039;installation de wpa-supplicant-openssl échoue par faute de place, il est possible que votre espace de stockage soit extrêmement faible, de l&#039;ordre de 1 ou 2 Mo.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez vérifier l&#039;espace de stockage avec la commande :&lt;br /&gt;
&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite regarder le volume overlayfs.&lt;br /&gt;
En octobre 2023, une installation complète a pu être faite sur un routeur avec 1.75 Mo d&#039;espace sur overlayfs, modulo quelques changements :&lt;br /&gt;
* réinitialiser le routeur depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;. (l&#039;installation avortée de wpa-supplicant-openssl laisse de lourds artéfacts qui ne sont pas nettoyés par opkg) ;&lt;br /&gt;
* 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 ;&lt;br /&gt;
* utiliser le paquet hostapd-mini au lieu de hostapd lors de la mise en place du Wifi.&lt;br /&gt;
&lt;br /&gt;
À 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&#039;est donc pas possible d&#039;installer les paquets à cet endroit.&lt;br /&gt;
&lt;br /&gt;
=== Configuration d&#039;Ethernet ===&lt;br /&gt;
&lt;br /&gt;
Ensuite configurez votre connexion en éditant :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Et en insérant le texte suivant :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;prénom.nom@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;monpassword&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=monpassword&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
En remplaçant les occurrences de &amp;lt;code&amp;gt;prénom.nom&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;monpassword&amp;lt;/code&amp;gt; (attention il apparaît deux fois) en conséquence.&lt;br /&gt;
&lt;br /&gt;
On va maintenant tenter de se connecter.&lt;br /&gt;
&lt;br /&gt;
 wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Si cela échoue,&lt;br /&gt;
* Regardez avec &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt; quel port il vaut mieux utiliser, c&#039;est peut-être eth1 chez vous.&lt;br /&gt;
* Vérifiez vos identifiants de connexion en cas d&#039;erreur de certificat&lt;br /&gt;
* Vérifiez que la date du système n&#039;est pas aberrante (une différence de quelques heures est OK)&lt;br /&gt;
* Vérifiez que vous avez bien installé &amp;lt;code&amp;gt;wpa-supplicant-openssl&amp;lt;/code&amp;gt; et pas &amp;lt;code&amp;gt;wpa-supplicant&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la commande précédente donne CTRL-EVENT-CONNECTED, c&#039;est bon vous pouvez continuer.&lt;br /&gt;
&lt;br /&gt;
=== Configuration du démarrage automatique ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant changer un autre fichier pour configurer le démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/init.d/wpa&lt;br /&gt;
&lt;br /&gt;
avec le contenu :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() { echo start wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf &amp;amp; }&lt;br /&gt;
&lt;br /&gt;
Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l&#039;étape précédente (en particulier le eth0.2)&lt;br /&gt;
&lt;br /&gt;
Rendre si besoin le fichier executable avec &amp;lt;code&amp;gt;chmod +x /etc/init.d/wpa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activation du démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa start&lt;br /&gt;
&lt;br /&gt;
Si retourne sans erreur : OK&lt;br /&gt;
&lt;br /&gt;
Puis:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa enable&lt;br /&gt;
&lt;br /&gt;
En faisant Ctrl+C si besoin.&lt;br /&gt;
&lt;br /&gt;
=== Paquet Hostapd ===&lt;br /&gt;
&lt;br /&gt;
Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe.&lt;br /&gt;
&lt;br /&gt;
Depuis un terminal en ssh, doit être :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install hostapd&lt;br /&gt;
&lt;br /&gt;
Alternativement, vous pouvez utiliser le web GUI:&lt;br /&gt;
* Aller dans System &amp;gt; Software&lt;br /&gt;
* Run Update&lt;br /&gt;
* Filter: rechercher hostapd&lt;br /&gt;
* Install&lt;br /&gt;
* Dismiss&lt;br /&gt;
&lt;br /&gt;
=== Config wifi ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant créer une nouvelle configuration Wifi :&lt;br /&gt;
&lt;br /&gt;
 uci set wireless.@wifi-device[0].disabled=0&lt;br /&gt;
 uci set wireless.@wifi-iface[0].ssid=&#039;NOM_DU_WIFI&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].encryption=&#039;psk2&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].key=&#039;MOT-DE-PASSE&#039;&lt;br /&gt;
 uci set wireless.@wifi-device[0].country=&#039;FR&#039;&lt;br /&gt;
 uci commit wireless; wifi&lt;br /&gt;
&lt;br /&gt;
En changeant &amp;lt;code&amp;gt;NOM_DU_WIFI&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT-DE-PASSE&amp;lt;/code&amp;gt; en conséquence.&lt;br /&gt;
&lt;br /&gt;
Redémarrer :&lt;br /&gt;
&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
Vous devriez maintenant avoir un réseau Wifi fonctionnel, émis par votre routeur, auquel vous pouvez vous connecter !&lt;br /&gt;
&lt;br /&gt;
=== Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED ===&lt;br /&gt;
&lt;br /&gt;
Lancer &amp;lt;code&amp;gt;wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&amp;lt;/code&amp;gt;, et depuis l&#039;interface graphique, restart eth0.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=H%C3%A9bergement_des_sites_des_binets&amp;diff=10002</id>
		<title>Hébergement des sites des binets</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=H%C3%A9bergement_des_sites_des_binets&amp;diff=10002"/>
		<updated>2024-01-14T10:11:57Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{menu services}}&lt;br /&gt;
[[Catégorie:Services]]&lt;br /&gt;
&lt;br /&gt;
Le BR propose aux binets qui le désirent d&#039;héberger gratuitement leur site web.&lt;br /&gt;
&lt;br /&gt;
Cet hébergement s&#039;organise selon deux formules, avec ou sans la possibilité d&#039;accéder au site de l&#039;extérieur du Plâtal.&lt;br /&gt;
&lt;br /&gt;
Pour demander l&#039;hébergement de ton site, [https://panix.binets.fr ouvre une tâche Panix] en précisant l&#039;identifiant du groupe/binet au nom duquel tu fais la demande (si tu ne le connais pas, donne le lien vers le groupe/binet sur Sigma).&lt;br /&gt;
&lt;br /&gt;
Tu peux également demander à mettre une [[authentification CAS]], [[openID]], ou encore protéger ton site par un portail d&#039;authentification global si ton site est déployé sous docker (i.e. tu peux considérer que l&#039;utilisateur est déjà connecté une fois sur le site).&lt;br /&gt;
&lt;br /&gt;
En fonction des technologies utilisées, on a différents tuto à te proposer:&lt;br /&gt;
* un tuto pour les sites en php (sur cette page).&lt;br /&gt;
* un [[Tuto pour le déploiement des sites Django]] des sites binets codés en django/flask/(tout ce qui supporte uwsgi).&lt;br /&gt;
* un [[Tuto pour le déploiement des sites avec Docker]] pour n&#039;importe quel site.&lt;br /&gt;
&lt;br /&gt;
Les sites internes en php sont hébergés sur [[Admin:Ostizan | Ostizan]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modalités techniques ==&lt;br /&gt;
L&#039;hébergement classique offert par le BR présente les caractéristiques suivantes :&lt;br /&gt;
* Capacité de stockage limitée à 200Mo par défaut. Il est possible d&#039;obtenir plus sur demande.&lt;br /&gt;
* Serveur apache avec PHP 7&lt;br /&gt;
* Base de données MySQL&lt;br /&gt;
* Accès en HTTPS/HTTP&lt;br /&gt;
* Hébergement Django/Flask avec uWSGI&lt;br /&gt;
&lt;br /&gt;
Si vous avez des besoins plus spécifiques, n&#039;hésitez pas à nous en parler.&lt;br /&gt;
&lt;br /&gt;
== Accès au site ==&lt;br /&gt;
&lt;br /&gt;
L&#039;administration du site se fait par [[SSH]]. Il est ouvert à tous les administrateurs du binet considéré, et à eux seuls. Pour cela, utilisez vos identifiants Sigma. Exemple de commande à utiliser : &amp;lt;code&amp;gt;ssh prenom.nom@id_sigma.binets.fr&amp;lt;/code&amp;gt;, puis rentrez votre mot de passe lorsque celui vous est demandé.&lt;br /&gt;
&lt;br /&gt;
L&#039;écriture du site est bien entendu à la charge du webmaster du binet ; en cas de nécessité et pour une raison valable, un BRman pourra cependant proposer son aide.&lt;br /&gt;
&lt;br /&gt;
L&#039;adresse du site est alors mon_binet.binets.fr ou mon_binet.binets.eleves.polytechnique.fr ;&lt;br /&gt;
&lt;br /&gt;
La base de données MySQL est accessible par un PhpMyAdmin : [http://phpmyadmin.binets.fr/ http://phpmyadmin.binets.fr/]. Le nom d&#039;utilisateur correspond au nom du binet tel qu&#039;il apparaît dans le nom de domaine. Le mot de passe a été donné au binet à la création de la base SQL ; le BR ne le possède pas et vous devez le passer à vos successeurs pour éviter de le perdre à tout jamais.&lt;br /&gt;
&lt;br /&gt;
=== Modification des fichiers du site ===&lt;br /&gt;
&lt;br /&gt;
Les fichiers se situent sur le serveur ostizan, dans le répertoire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;sh&amp;quot;&amp;gt;/hosting/www/nom_binet/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Avec Git (recommandé) ====&lt;br /&gt;
&lt;br /&gt;
ostizan dispose d’une installation [[Git]].&lt;br /&gt;
&lt;br /&gt;
Avec Git, vous pouvez garder un historique des versions successives de votre site, travailler à plusieurs, revenir en arrière quand vous avez cassé quelque chose, savoir qui a modifié quoi, quand … C’est un outil très puissant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prérequis :&#039;&#039;&#039; &#039;&#039;avoir une clef [[SSH]] activée sur votre compte sur ostizan&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pour savoir comment configurer et construire un projet avec Git, référez-vous à la documentation. Vous pouvez héberger votre code chez nous sur [https://gitlab.binets.fr GitLab].&lt;br /&gt;
&lt;br /&gt;
Naviguez au dossier où vous voulez mettre votre site, par exemple &amp;lt;code&amp;gt;htdocs&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;sh&amp;quot;&amp;gt;cd /hosting/www/nom_binet/htdocs&amp;lt;/pre&amp;gt;&lt;br /&gt;
et initialisez un dépôt Git&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;sh&amp;quot;&amp;gt;git init&amp;lt;/pre&amp;gt;&lt;br /&gt;
Si cela a fonctionné, le terminal répondra&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Initialized empty Git repository in /hosting/www/nom_binet/htdocs/.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ajoutez maintenant une &#039;&#039;remote&#039;&#039; qui pointera vers là où vous hébergez votre code, par exemple&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;sh&amp;quot;&amp;gt;git remote add origin git@gitlab.binets.fr:domaine/site.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
pour un site dont le code est hébergé sur le GitLab, ou&lt;br /&gt;
&lt;br /&gt;
Ensuite, faites&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;sh&amp;quot;&amp;gt;git pull origin master&amp;lt;/pre&amp;gt;&lt;br /&gt;
pour cloner le dépôt (si la &#039;&#039;remote&#039;&#039; que vous avez ajouté s’appelle &amp;lt;code&amp;gt;origin&amp;lt;/code&amp;gt; et que votre code est sur la branche &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== En SFTP ====&lt;br /&gt;
&lt;br /&gt;
Pour accéder aux fichiers, on peut utiliser un client sftp (comme [https://filezilla-project.org/download.php?type=client FileZilla] ou [https://winscp.net/eng/index.php WinSCP]) et accéder au serveur &amp;lt;code&amp;gt;sftp://id_sigma.binets.fr&amp;lt;/code&amp;gt; sur le port 22.&lt;br /&gt;
&lt;br /&gt;
Le serveur SFTP demande un login / mot de passe qui correspondent exactement à ceux du compte Sigma. Le dossier &amp;lt;code&amp;gt;sftp://id_sigma.binets.fr/www/id_sigma/htdocs/&amp;lt;/code&amp;gt; correspond au site &amp;lt;code&amp;gt;http://id_sigma.binets.fr/&amp;lt;/code&amp;gt;. Les fichiers qui ne sont pas dans htdocs ne sont pas accessibles directement par un navigateur, mais un script php peut y accéder.&lt;br /&gt;
&lt;br /&gt;
=== Avec visibilité extérieure ===&lt;br /&gt;
&lt;br /&gt;
Le BR a un partenariat avec la DSI qui lui permet d&#039;exposer certains sites à l&#039;extérieur. Ils feront l&#039;objet d&#039;[[un audit de sécurité]] par le BR et la DSI. Pour le passer, il faut respecter les dernières recommandations de sécurité, notamment pour tout ce qui est authentification, contenu dynamique. Notons cependant que cela ne devrait pas poser de problèmes pour les sites statiques. &lt;br /&gt;
&lt;br /&gt;
Les sites souhaitant un site avec visibilité depuis l&#039;extérieur doivent dorénavant respecter la charte suivante :&lt;br /&gt;
&lt;br /&gt;
*Aucune information ne doit être diffusée qui pourrait nuire à l&#039;image de l’École. (photos, vidéos, etc.)&lt;br /&gt;
*Le site doit avoir une qualité visuelle, si ce n&#039;est professionnelle, du moins très correcte.&lt;br /&gt;
*Le site ne doit pas héberger de vidéos ou diffuser un flux vidéo (streaming). Toutes les vidéos du sites doivent être hébergées à l&#039;extérieur. (Dalymotion, YouTube, etc.)&lt;br /&gt;
*Les images présentes sur le site ne doivent avoir une résolution suffisamment faible afin de ne pas saturer la bande passante vers l&#039;extérieur.&lt;br /&gt;
&lt;br /&gt;
{{Attention|Si le site concerne un événement extérieur avec un public de plus de 50 personnes, la DSI demande à ce que la DIRCOM soit prévenue.}}&lt;br /&gt;
&lt;br /&gt;
== Quotas ==&lt;br /&gt;
&lt;br /&gt;
Attention ! L&#039;espace réservé à chaque binet est limité. Il faut se méfier quand on fait une copie, notamment a l&#039;environnement virtuel. D&#039;abord il pèse lourd, en plus il faudra que vous le remplaciez de toute façon. Autant ne pas le copier dès le départ...&lt;br /&gt;
Pour savoir si vous avez dépassé votre quota :&lt;br /&gt;
 quota -sg&lt;br /&gt;
Cette commande affiche, pour chaque binet, l&#039;espace utilisé, une «soft limit» et la vraie («hard») limit.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10001</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10001"/>
		<updated>2024-01-14T10:04:15Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Clarification du guide&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
Ce guide a été écrit principalement pour le routeur Archer C50, mais il est entièrement transposable à tout modèle de routeur sur lequel OpenWRT peut être installé. Le détail de comment flasher OpenWRT dépend cependant du modèle, et n&#039;est pas couvert par ce guide.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget [URL] -O .config # Voir l&#039;étape correspondante pour déterminer l&#039;URL à utiliser&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT. Parmis ceux-ci se trouve notamment &amp;lt;code&amp;gt;LuCI&amp;lt;/code&amp;gt;, l&#039;interface web d&#039;administration d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Déterminer la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
OpenWRT peut être installé sur une grande variété de routeurs, qui sont classé par &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour déterminer quelles est notre &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et notre &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, le plus simple est de se référer à la documentation officielle d&#039;OpenWRT pour notre modèle, disponible [https://openwrt.org/toh/start ici]. Pour le Archer C50, la page est la [https://openwrt.org/toh/tp-link/archer-c50 suivante].&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite aller à la section &#039;&#039;&#039;Downloads&#039;&#039;&#039;, afin d&#039;obtenir le lien de téléchargement d&#039;OpenWRT pour ce modèle.&lt;br /&gt;
&lt;br /&gt;
Cette url se présente sous la forme suivante : https://downloads.openwrt.org/releases/&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;/targets/&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;/openwrt-&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;-&amp;lt;code&amp;gt;modele&amp;lt;/code&amp;gt;-squashfs-factory-&amp;lt;code&amp;gt;zone&amp;lt;/code&amp;gt;.bin&lt;br /&gt;
&lt;br /&gt;
La partie qui nous intéresse de cette URL se situe juste après le &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Par exemple, pour le [https://openwrt.org/toh/tp-link/archer-c50#downloads Archer C50], le lien de téléchargement est https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin&lt;br /&gt;
&lt;br /&gt;
La &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; est donc &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt; et la subtarget &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;. Cette information va nous permettre de compiler OpenWRT pour notre modèle.&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Il est cependant possible de prendre comme base un fichier de configuration pré-existant.&lt;br /&gt;
&lt;br /&gt;
==== Configuration du BR ====&lt;br /&gt;
&lt;br /&gt;
Un fichier de configuration créé par le BR est disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici].&lt;br /&gt;
&lt;br /&gt;
La commande pour le copier est donc :&lt;br /&gt;
&lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond à une configuration pour compiler OpenWRT sur le Archer C50 v6, mais peut être adapté à tout routeur en modifiant la cible de compilation (cf. étape suivante).&lt;br /&gt;
&lt;br /&gt;
==== Configuration de référence ====&lt;br /&gt;
&lt;br /&gt;
Il est également possible d&#039;utiliser comme base le fichier de configuration utilisé pour compiler les images officielles d&#039;OpenWRT à l&#039;aide de la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et de la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;obtenir, il faut aller dans le dossier [https://downloads.openwrt.org/releases/ releases] d&#039;OpenWRT, afin de déterminer quelle est la dernière version d&#039;OpenWRT disponible, par exemple &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L&#039;URL du fichier de configuration fourni par OpenWRT est : https://downloads.openwrt.org/releases/&amp;lt;code&amp;gt;version&amp;lt;/code&amp;gt;/targets/&amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;/config.buildinfo. Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut enfin télécharger ce fichier et l&#039;enregistrer sous le nom &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
=== Configuration de OpenWRT ===&lt;br /&gt;
&lt;br /&gt;
La configuration par défaut téléchargée à l&#039;étape précédente est un début, mais elle n&#039;est pas complète. Il est nécessaire d&#039;entrer dans le menu de configuration de compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;, puis le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;. Si vous avez téléchargé le fichier de référence, &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; sont déjà renseignés, mais le modèle n&#039;est pas sélectionné.&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond au fichier &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; indiqué dans le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]], qui peut ensuite être suivi dans le cas du Archer C50 afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10000</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=10000"/>
		<updated>2024-01-14T09:49:58Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Ajout de la configuration du BR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
Ce guide a été écrit principalement pour le routeur Archer C50, mais il est entièrement transposable à tout modèle de routeur sur lequel OpenWRT peut être installé. Le détail de comment flasher OpenWRT dépend cependant du modèle, et n&#039;est pas couvert par ce guide.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget [URL] -O .config # Voir l&#039;étape correspondante pour déterminer l&#039;URL à utiliser&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT. Parmis ceux-ci se trouve notamment &amp;lt;code&amp;gt;LuCI&amp;lt;/code&amp;gt;, l&#039;interface web d&#039;administration d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Il est cependant possible de prendre comme base un fichier de configuration pré-existant.&lt;br /&gt;
&lt;br /&gt;
==== Configuration du BR ====&lt;br /&gt;
&lt;br /&gt;
Un fichier de configuration créé par le BR est disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici].&lt;br /&gt;
&lt;br /&gt;
La commande pour le copier est donc :&lt;br /&gt;
&lt;br /&gt;
 wget https://stratus.binets.fr/s/aokdzwtmBsBtHAb/download?path=%2F&amp;amp;files=config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond à une configuration pour compiler OpenWRT sur le Archer C50 v6, mais peut être adapté à tout routeur en modifiant la cible de compilation (cf. étape suivante).&lt;br /&gt;
&lt;br /&gt;
==== Configuration de référence ====&lt;br /&gt;
&lt;br /&gt;
Il est également possible d&#039;utiliser comme base le fichier de configuration utilisé pour compiler les images officielles d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
Pour cela, le plus simple est de consulter la page correspondant à notre modèle sur le site d&#039;OpenWRT, par exemple le [https://openwrt.org/toh/tp-link/archer-c50 Archer C50].&lt;br /&gt;
&lt;br /&gt;
Dans la section [https://openwrt.org/toh/tp-link/archer-c50#downloads Downloads], on peut voir que le lien de téléchargement de l&#039;image d&#039;OpenWRT est [https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin].&lt;br /&gt;
&lt;br /&gt;
Ce qui nous intéresse dans cette URL est la partie entre &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt; et le nom du fichier &amp;lt;code&amp;gt;.bin&amp;lt;/code&amp;gt; : &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, et &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cette information va nous permettre de récupérer la dernière version du fichier de configuration approprié : il faut aller dans le dossier [https://downloads.openwrt.org/releases/ releases] d&#039;OpenWRT, pour trouver quelle est la dernière version d&#039;OpenWRT disponible, par exemple &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cela a été un peu long, mais nous avons enfin tous les éléments nécessaires afin de déduire l&#039;URL du fichier tant cherché : &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo&amp;lt;/code&amp;gt;. Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut enfin télécharger ce fichier et l&#039;enregistrer sous le nom &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
=== Configuration de OpenWRT ===&lt;br /&gt;
&lt;br /&gt;
La configuration par défaut téléchargée à l&#039;étape précédente est un début, mais elle n&#039;est pas complète. Il est nécessaire d&#039;entrer dans le menu de configuration de compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;. Attention, le modèle n&#039;apparaît que si la bonne &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ont été sélectionnés (ce qui est normalement le cas dans la configuration que nous avons téléchargé).&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond au fichier &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; indiqué dans le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]], qui peut ensuite être suivi dans le cas du Archer C50 afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=9999</id>
		<title>Routeurs Wi-Fi/Tutoriel TP-Link Archer C50</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=9999"/>
		<updated>2024-01-14T09:41:00Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Changement de partage Stratus de perso vers BR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Avertissements ==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent &#039;&#039;avant&#039;&#039; de faire quoi que ce soit. Cela vous évitera des erreurs stupides qui vous feront perdre du temps. !}}&lt;br /&gt;
&lt;br /&gt;
=== Avertissement technique ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modèle de routeur.&#039;&#039;&#039; Le système que vous vous apprêtez à installer n&#039;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 &#039;&#039;&#039;TP-Link Archer C50&#039;&#039;&#039;, &#039;&#039;&#039;TP-Link Archer AC1200&#039;&#039;&#039; ou &#039;&#039;&#039;TP-Link Archer A5&#039;&#039;&#039;, versions 4 à 6 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . &#039;&#039;D&#039;autres versions peuvent être compatibles mais n&#039;ont pas été testées.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d&#039;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&#039;openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Méthode de connexion.&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;État d&#039;esprit.&#039;&#039;&#039; La procédure est relativement longue mais elle n&#039;est pas très compliquée. Si c&#039;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.&lt;br /&gt;
&lt;br /&gt;
=== Avertissement juridique ===&lt;br /&gt;
&lt;br /&gt;
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l&#039;École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec &#039;&#039;vos identifiants&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Principe ==&lt;br /&gt;
&lt;br /&gt;
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l&#039;École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d&#039;installer un système auxiliaire (OpenWRT)  sur les routeurs, remplaçant le système d&#039;origine. Grâce à ceci on peut obtenir un routeur qui s&#039;authentifie lui-même sur le réseau de l&#039;É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.&lt;br /&gt;
&lt;br /&gt;
== Le hic ==&lt;br /&gt;
Il existe depuis l&#039;interface GUI de TP-Link un endroit où l&#039;on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d&#039;OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l&#039;on ne peut pas directement fournir l&#039;image d&#039;OpenWRT depuis cette interface car &#039;&#039;&#039;cela va très probablement briquer le routeur&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Il faut donc procéder autrement, et l&#039;on va donc utiliser le protocole TFTP [https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol] pour pouvoir fournir notre image au routeur.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, les liens suivants pourront vous être utiles en complément :&lt;br /&gt;
* Page officielle pour le modèle Archer C50 [https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions]&lt;br /&gt;
* Autre tutoriel qui a servi a l&#039;élaboration de celui ci. Certains phases sont identiques et il y a d&#039;autres compléments d&#039;informations [[Routeurs Wi-Fi/Tutoriel]]&lt;br /&gt;
&lt;br /&gt;
== Préparation ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
* 1ère possibilité: Utiliser un &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; tout fait disponible [https://stratus.binets.fr/s/aokdzwtmBsBtHAb ici]. (Utilise la version OS et pense à le renommer en &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 2ème possibilité: Le faire soit même, comme ceci:&lt;br /&gt;
&lt;br /&gt;
Récupérez l&#039;image du firware TP-Link depuis le site officiel qui devra être nommé &amp;lt;code&amp;gt;tpl.bin&amp;lt;/code&amp;gt;, et celle d&#039;OpenWRT (https://firmware-selector.openwrt.org/) nommée &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; et placez les dans un répertoire commun.&lt;br /&gt;
&lt;br /&gt;
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&#039;il n&#039;existe actuellement pas de firmware OpenWRT pour le Archer A5, il faut prendre celui du Archer C50.&lt;br /&gt;
&lt;br /&gt;
Il est également possible que la version d&#039;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&#039;il n&#039;existe pas d&#039;image pré-compilée pour le routeur, il faut [[Compiler OpenWRT]]. &lt;br /&gt;
&lt;br /&gt;
Dans un terminal ouvert sur le répertoire, exécutez les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1&lt;br /&gt;
 dd if=tpl.bin of=tmp.bin bs=131584 count=1&lt;br /&gt;
 dd if=tmp.bin of=boot.bin bs=512 skip=1&lt;br /&gt;
 cat boot.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
 cat owrt.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Ce sera l&#039;image &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; qui vient d&#039;être créée qui nous intéressera par la suite. L&#039;image doit peser environ 6 Mo.&lt;br /&gt;
&lt;br /&gt;
* Si jamais à un moment ou un autre, le routeur est &#039;&#039;&#039;brické&#039;&#039;&#039; (cassé) tu peux le débloquer en utilisant le &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; disponible [https://stratus.binets.fr/s/q8joypmLcN9jbfD ici]&lt;br /&gt;
&lt;br /&gt;
== Procédure TFTP ==&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; ce qui nous indique (contrairement à ce qu&#039;on aurait pu penser) que le routeur sera client et le PC sera serveur.&lt;br /&gt;
&lt;br /&gt;
Pour la suite, le lien suivant peut être d&#039;une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4&lt;br /&gt;
&lt;br /&gt;
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 (&#039;&#039;&#039;éteint&#039;&#039;&#039;) au switch via un de ses ports orange (le 1 par exemple). Depuis l&#039;interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d&#039;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&#039;OpenWRT comme étant &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer &#039;&#039;Current Directory&#039;&#039; pour être le répertoire dans lequel &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; est situé. Cliquez sur &#039;&#039;Show dir&#039;&#039; pour vérifier qu&#039;il fait bien partie de la liste des fichiers présents. Ouvrez l&#039;onglet de &#039;&#039;Log&#039;&#039;. C&#039;est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d&#039;appuyer sur un bouton supplémentaire.&lt;br /&gt;
&lt;br /&gt;
Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu&#039;à ce que la LED WPS soit allumée.&lt;br /&gt;
&lt;br /&gt;
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&#039;onglet &#039;&#039;Log&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 atftp 192.168.0.66&lt;br /&gt;
 get tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Qui devrait retourner sans erreur.&lt;br /&gt;
&lt;br /&gt;
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&#039;opération, il devrait se redémarrer.&lt;br /&gt;
&lt;br /&gt;
Attention: si les LEDs clignotent périodiquement après le redémarrage, cela signifie que l&#039;installation a échoué et qu&#039;il n&#039;arrive pas à booter. Assurez-vous d&#039;avoir le bon fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; puis recommencez le transfert.&lt;br /&gt;
&lt;br /&gt;
== Hello, OpenWRT world ==&lt;br /&gt;
&lt;br /&gt;
=== Préalables ===&lt;br /&gt;
&lt;br /&gt;
==== Routeur connecté à Internet ====&lt;br /&gt;
&lt;br /&gt;
Heureusement tout n&#039;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é).&lt;br /&gt;
&lt;br /&gt;
Le routeur va avoir besoin d&#039;Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l&#039;adresse 192.168.1.1).&lt;br /&gt;
Connectez-vous alors à votre réseau dans allant dans &#039;&#039;Network&#039;&#039;, Scan et sélectionnant le bon Wifi. C&#039;est essentiel d&#039;avoir une bonne connexion, et cela peut être à l&#039;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&#039;onglet Diagnostics de la GUI.&lt;br /&gt;
&lt;br /&gt;
==== Paquet wpa-supplicant installé ====&lt;br /&gt;
&lt;br /&gt;
Connectez-vous par SSH au routeur avec :&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Sur certains modèles, il est nécessaire d&#039;utiliser la commande &amp;lt;code&amp;gt;ssh root@192.168.1.1 -oHostKeyAlgorithms=+ssh-rsa&amp;lt;/code&amp;gt;.&lt;br /&gt;
Dans un premier temps, mettez à jour les packets :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi le faire depuis le web GUI (disponible sur 192.168.1.1 mdp root) System &amp;gt; Software et Run update.&lt;br /&gt;
&lt;br /&gt;
Installer également nano si vous le souhaitez (vim est installé par défaut) :&lt;br /&gt;
&lt;br /&gt;
 opkg install nano&lt;br /&gt;
&lt;br /&gt;
On va maintenant installer le paquet qui va s&#039;occuper de nous authentifier au réseau. Il est probable qu&#039;un autre paquet (wpad-basic ou wpad-basic-wolfssl selon les modèles) est préinstallé : il va falloir le désinstaller.&lt;br /&gt;
&lt;br /&gt;
 opkg remove wpad-basic&lt;br /&gt;
 opkg install wpa-supplicant-openssl&lt;br /&gt;
&lt;br /&gt;
Points d&#039;attention:&lt;br /&gt;
* c&#039;est &#039;&#039;&#039;supplicant&#039;&#039;&#039; et pas &#039;&#039;&#039;applicant&#039;&#039;&#039;&lt;br /&gt;
* vous pouvez déterminer quelle saveur de wpad-basic est installé avec la commande &amp;lt;code&amp;gt;opkg list-installed&amp;lt;/code&amp;gt;&lt;br /&gt;
* depuis l&#039;été 2023, il faut installer wpa-supplicant-openssl et pas wpa-supplicant&lt;br /&gt;
* après avoir désinstallé wpad-basic, vous ne pourrez plus vous reconnecter à votre hotspot si vous êtes déconnecté&lt;br /&gt;
* si vous avez été déconnecté du hotspot avant de finir la configuration et que vous n&#039;avez plus de connexion à Internet, vous pouvez réinstaller le système depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Si l&#039;installation échoue pour cause d&#039;espace insufisant ====&lt;br /&gt;
&lt;br /&gt;
Si l&#039;installation de wpa-supplicant-openssl échoue par faute de place, il est possible que votre espace de stockage soit extrêmement faible, de l&#039;ordre de 1 ou 2 Mo.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez vérifier l&#039;espace de stockage avec la commande :&lt;br /&gt;
&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite regarder le volume overlayfs.&lt;br /&gt;
En octobre 2023, une installation complète a pu être faite sur un routeur avec 1.75 Mo d&#039;espace sur overlayfs, modulo quelques changements :&lt;br /&gt;
* réinitialiser le routeur depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;. (l&#039;installation avortée de wpa-supplicant-openssl laisse de lourds artéfacts qui ne sont pas nettoyés par opkg) ;&lt;br /&gt;
* 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 ;&lt;br /&gt;
* utiliser le paquet hostapd-mini au lieu de hostapd lors de la mise en place du Wifi.&lt;br /&gt;
&lt;br /&gt;
À 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&#039;est donc pas possible d&#039;installer les paquets à cet endroit.&lt;br /&gt;
&lt;br /&gt;
=== Configuration d&#039;Ethernet ===&lt;br /&gt;
&lt;br /&gt;
Ensuite configurez votre connexion en éditant :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Et en insérant le texte suivant :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;prénom.nom@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;monpassword&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=monpassword&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
En remplaçant les occurrences de &amp;lt;code&amp;gt;prénom.nom&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;monpassword&amp;lt;/code&amp;gt; (attention il apparaît deux fois) en conséquence.&lt;br /&gt;
&lt;br /&gt;
On va maintenant tenter de se connecter.&lt;br /&gt;
&lt;br /&gt;
 wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Si cela échoue,&lt;br /&gt;
* Regardez avec &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt; quel port il vaut mieux utiliser, c&#039;est peut-être eth1 chez vous.&lt;br /&gt;
* Vérifiez vos identifiants de connexion en cas d&#039;erreur de certificat&lt;br /&gt;
* Vérifiez que la date du système n&#039;est pas aberrante (une différence de quelques heures est OK)&lt;br /&gt;
* Vérifiez que vous avez bien installé &amp;lt;code&amp;gt;wpa-supplicant-openssl&amp;lt;/code&amp;gt; et pas &amp;lt;code&amp;gt;wpa-supplicant&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la commande précédente donne CTRL-EVENT-CONNECTED, c&#039;est bon vous pouvez continuer.&lt;br /&gt;
&lt;br /&gt;
=== Configuration du démarrage automatique ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant changer un autre fichier pour configurer le démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/init.d/wpa&lt;br /&gt;
&lt;br /&gt;
avec le contenu :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() { echo start wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf &amp;amp; }&lt;br /&gt;
&lt;br /&gt;
Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l&#039;étape précédente (en particulier le eth0.2)&lt;br /&gt;
&lt;br /&gt;
Rendre si besoin le fichier executable avec &amp;lt;code&amp;gt;chmod +x /etc/init.d/wpa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activation du démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa start&lt;br /&gt;
&lt;br /&gt;
Si retourne sans erreur : OK&lt;br /&gt;
&lt;br /&gt;
Puis:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa enable&lt;br /&gt;
&lt;br /&gt;
En faisant Ctrl+C si besoin.&lt;br /&gt;
&lt;br /&gt;
=== Paquet Hostapd ===&lt;br /&gt;
&lt;br /&gt;
Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe.&lt;br /&gt;
&lt;br /&gt;
Depuis un terminal en ssh, doit être :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install hostapd&lt;br /&gt;
&lt;br /&gt;
Alternativement, vous pouvez utiliser le web GUI:&lt;br /&gt;
* Aller dans System &amp;gt; Software&lt;br /&gt;
* Run Update&lt;br /&gt;
* Filter: rechercher hostapd&lt;br /&gt;
* Install&lt;br /&gt;
* Dismiss&lt;br /&gt;
&lt;br /&gt;
=== Config wifi ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant créer une nouvelle configuration Wifi :&lt;br /&gt;
&lt;br /&gt;
 uci set wireless.@wifi-device[0].disabled=0&lt;br /&gt;
 uci set wireless.@wifi-iface[0].ssid=&#039;NOM_DU_WIFI&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].encryption=&#039;psk2&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].key=&#039;MOT-DE-PASSE&#039;&lt;br /&gt;
 uci set wireless.@wifi-device[0].country=&#039;FR&#039;&lt;br /&gt;
 uci commit wireless; wifi&lt;br /&gt;
&lt;br /&gt;
En changeant &amp;lt;code&amp;gt;NOM_DU_WIFI&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT-DE-PASSE&amp;lt;/code&amp;gt; en conséquence.&lt;br /&gt;
&lt;br /&gt;
Redémarrer :&lt;br /&gt;
&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
Vous devriez maintenant avoir un réseau Wifi fonctionnel, émis par votre routeur, auquel vous pouvez vous connecter !&lt;br /&gt;
&lt;br /&gt;
=== Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED ===&lt;br /&gt;
&lt;br /&gt;
Lancer &amp;lt;code&amp;gt;wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&amp;lt;/code&amp;gt;, et depuis l&#039;interface graphique, restart eth0.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=9998</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=9998"/>
		<updated>2024-01-13T23:49:57Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Ajout d&amp;#039;un paragraphe précisant le contexte du guide&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
Ce guide a été écrit principalement pour le routeur Archer C50, mais il est entièrement transposable à tout modèle de routeur sur lequel OpenWRT peut être installé. Le détail de comment flasher OpenWRT dépend cependant du modèle, et n&#039;est pas couvert par ce guide.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget [URL] -O .config # Voir l&#039;étape correspondante pour déterminer l&#039;URL à utiliser&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT. Parmis ceux-ci se trouve notamment &amp;lt;code&amp;gt;LuCI&amp;lt;/code&amp;gt;, l&#039;interface web d&#039;administration d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Cependant, on peut utiliser comme base la configuration utilisée pour compiler les images fournies d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
Pour cela, le plus simple est de consulter la page correspondant à notre modèle sur le site d&#039;OpenWRT, par exemple le [https://openwrt.org/toh/tp-link/archer-c50 Archer C50].&lt;br /&gt;
&lt;br /&gt;
Dans la section [https://openwrt.org/toh/tp-link/archer-c50#downloads Downloads], on peut voir que le lien de téléchargement de l&#039;image d&#039;OpenWRT est [https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin].&lt;br /&gt;
&lt;br /&gt;
Ce qui nous intéresse dans cette URL est la partie entre &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt; et le nom du fichier &amp;lt;code&amp;gt;.bin&amp;lt;/code&amp;gt; : &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, et &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cette information va nous permettre de récupérer la dernière version du fichier de configuration approprié : il faut aller dans le dossier [https://downloads.openwrt.org/releases/ releases] d&#039;OpenWRT, pour trouver quelle est la dernière version d&#039;OpenWRT disponible, par exemple &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cela a été un peu long, mais nous avons enfin tous les éléments nécessaires afin de déduire l&#039;URL du fichier tant cherché : &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo&amp;lt;/code&amp;gt;. Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut enfin télécharger ce fichier et l&#039;enregistrer sous le nom &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
=== Configuration de OpenWRT ===&lt;br /&gt;
&lt;br /&gt;
La configuration par défaut téléchargée à l&#039;étape précédente est un début, mais elle n&#039;est pas complète. Il est nécessaire d&#039;entrer dans le menu de configuration de compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;. Attention, le modèle n&#039;apparaît que si la bonne &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ont été sélectionnés (ce qui est normalement le cas dans la configuration que nous avons téléchargé).&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond au fichier &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; indiqué dans le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]], qui peut ensuite être suivi dans le cas du Archer C50 afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi&amp;diff=9997</id>
		<title>Routeurs Wi-Fi</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi&amp;diff=9997"/>
		<updated>2024-01-13T23:47:07Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Ajout de la possibilité de compiler OpenWRT&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Menu tutoriels}}&lt;br /&gt;
&lt;br /&gt;
Cette page a pour vocation d&#039;aider les propriétaires d&#039;un routeur paramétré par le BR. Elle recense différents conseils et méthodes pour personnaliser son routeur et résoudre les éventuels problèmes rencontrés. Si vous désirez configurer votre routeur de A à Z, des tutoriels sont disponibles sur les pages suivantes :&lt;br /&gt;
* [[Routeurs Wi-Fi/Tutoriel]] qui explique en particulier le cas d&#039;anciens modèles avec peu de mémoire&lt;br /&gt;
* [[Routeurs Wi-Fi/Tutoriel TP-Link Archer C50]] qui explique en particulier le cas de modèles plus récents mais qui risquent d&#039;être briqués si on fournit directement l&#039;image d&#039;OpenWRT depuis l&#039;interface GUI, d&#039;où l&#039;utilisation du protocole TFTP qui y est détaillée&lt;br /&gt;
&lt;br /&gt;
== Configuration initiale ==&lt;br /&gt;
Une suggestion de Rémi Grzeczkowicz : [https://amzn.eu/d/0mpDzCh Cudy WR1300 Gigabit Routeur Wi-FI Dual Band AC1200 sans Fil 5 Ports Gigabit, 4 antennes, 2,4 GHz/5 GHz, Mode d’accès Point, 128 Mo RAM, OpenWrt, VPN]&lt;br /&gt;
&lt;br /&gt;
=== Flasher Openwrt ===&lt;br /&gt;
&lt;br /&gt;
Les firmwares disponibles pour les différents hardwares sont listés [https://openwrt.org/toh/views/toh_fwdownload ici].&lt;br /&gt;
&lt;br /&gt;
Cependant, pour certains routeurs comme le Cudy WR1300 v3 vendu sur amazon il n’existe pas de firmware compatible pour l’instant (seulement les anciennes v1 et v2 sont supportées). CEPENDANT : Cudy propose une version d’Openwrt compatible [http://www.cudytech.com/openwrt_software_download ici].&lt;br /&gt;
&lt;br /&gt;
Pour Cudy, l’adresse à laquelle se connecter est http://192.168.10.1/ ou http://cudy.net/ (cf manuel). Après avoir flashé Openwrt, l’adresse est http://192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Il est également possible de [[Compiler OpenWRT]], même s&#039;il est préférable de trouver une version pré-compilée.&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
La configuration suivante permet de se connecter en tant que client au réseau ethernet 802.1x de l’école avec le routeur, qui servira ensuite de point d’accès.&lt;br /&gt;
&lt;br /&gt;
==== Packages requis ====&lt;br /&gt;
&lt;br /&gt;
Il faut installer les packages suivants (via l’interface web, ou &amp;lt;code&amp;gt;opkg update&amp;lt;/code&amp;gt; puis &amp;lt;code&amp;gt;opkg install xxx&amp;lt;/code&amp;gt;). Pour installer wpa_supplicant, il faudra d’abord désinstaller &amp;lt;code&amp;gt;wpad-wolfssl&amp;lt;/code&amp;gt; (se fait facilement via l’interface web).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nano&amp;lt;/code&amp;gt; (dépendances: &amp;lt;code&amp;gt;terminfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libncurses6&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;wpa-supplicant-openssl&amp;lt;/code&amp;gt; (dépendance: &amp;lt;code&amp;gt;hostapd-common&amp;lt;/code&amp;gt;) (prendre la version openssl ! Depuis août 2023, wpa_supplicant de base ne fonctionne plus…)&lt;br /&gt;
* &amp;lt;code&amp;gt;dhcpcd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB : il est possible que la configuration de réseau retourne une erreur d’authentification. Dans ce cas, il faut utiliser le package wpa_supplicant_openssl.&lt;br /&gt;
&lt;br /&gt;
Si vous ne disposez pas d’une connexion filaire sans protection pour installer ces packages directement depuis le routeur, il est possible de télécharger les fichiers &amp;lt;code&amp;gt;.ipk&amp;lt;/code&amp;gt; afin de les upload depuis l’interface web (system -&amp;amp;gt; software) à l’adresse suivante:&lt;br /&gt;
&lt;br /&gt;
https://downloads.openwrt.org/releases/&amp;lt;openwrt_version&amp;gt;/packages&lt;br /&gt;
&lt;br /&gt;
Il faudra d’abord connaître l’architecture du routeur pour aller sur la page des bons packages. &amp;lt;code&amp;gt;cat /proc/cpuinfo&amp;lt;/code&amp;gt; (ligne cpu model).&lt;br /&gt;
&lt;br /&gt;
Dans le cas du routeur Cudy WR1300 v3 on obtient &amp;lt;code&amp;gt;MIPS 1004Kc V2.15&amp;lt;/code&amp;gt;, ce qui correspond à &amp;lt;code&amp;gt;mipsel_24kc&amp;lt;/code&amp;gt; à l’url précédente &#039;&#039;(testé en regardant l’url de téléchargement des packages à partir d’un point d’accès sans fil mobile)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note : quand un grand nombre de packages sont disponibles, choisir le package &amp;lt;code&amp;gt;&amp;amp;lt;nom_du_package&amp;amp;gt;_&amp;amp;lt;date&amp;amp;gt;&amp;lt;/code&amp;gt; plutôt que &amp;lt;code&amp;gt;&amp;amp;lt;nom_du_package&amp;amp;gt;-basic&amp;lt;/code&amp;gt; ou autres.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Configuration client ====&lt;br /&gt;
&lt;br /&gt;
Suivre les instructions de https://portail.polytechnique.edu/dsi/acces-internet/logements/ethernet-8021x-sur-linux, section &#039;&#039;&#039;En ligne de commande&#039;&#039;&#039; &#039;&#039;pour utilisateurs expérimentés&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Quelques remarques: * L’interface ethernet est &#039;&#039;&#039;wan&#039;&#039;&#039; et non &#039;&#039;&#039;eth0&#039;&#039;&#039; (même si cette interface existe bien). * Pour obtenir une adresse ip : utiliser &amp;lt;code&amp;gt;udhcpc -i wan&amp;lt;/code&amp;gt; et non &amp;lt;code&amp;gt;dhcpcd wan&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Tester si la connexion fonctionne bien (ping, nslookup…)&lt;br /&gt;
&lt;br /&gt;
==== Configuration au démarrage ====&lt;br /&gt;
&lt;br /&gt;
Pour que votre routeur se connecte automatiquement au démarrage, il suffit d’aller dans l’interface graphique System &amp;amp;gt; Startup &amp;amp;gt; Local startup ou en ligne de commande dans le fichier &amp;lt;code&amp;gt;/etc/rc.local&amp;lt;/code&amp;gt; et d’entrer les commande :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
service network restart&lt;br /&gt;
sleep 1&lt;br /&gt;
wpa_supplicant -c /etc/wpa_supplicant/polytechnique.conf -D wired -i NOM_DE_L&#039;INTERFACE -B&lt;br /&gt;
sleep 3&lt;br /&gt;
udhcpc -i NOM_DE_L&#039;INTERFACE&lt;br /&gt;
&lt;br /&gt;
exit 0  # Cette ligne est déjà dans le fichier&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque : * Si vous avez mis votre fichier .conf dans un autre chemin, pensez à corriger le chemin. * NOM_DE_L’INTERFACE est wan pour le routeur cudy v3, pour les routeurs openwrt, c&#039;est parfois (peut être souvent) eth0.2.&lt;br /&gt;
&lt;br /&gt;
==== Configuration point d’accès ====&lt;br /&gt;
&lt;br /&gt;
À partir de maintenant, le routeur devrait déjà fonctionner en tant que point d’accès filaire (ethernet).&lt;br /&gt;
&lt;br /&gt;
Setup du wifi depuis l’interface web:&lt;br /&gt;
&lt;br /&gt;
Network -&amp;amp;gt; Wireless Éditer l’une des deux interfaces marquées &#039;&#039;Wireless is disabled.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Interface_wifi_routeur.png]]&lt;br /&gt;
&lt;br /&gt;
Sous &#039;&#039;&#039;Interface configuration&#039;&#039;&#039; : * Dans &amp;lt;code&amp;gt;General setup&amp;lt;/code&amp;gt;, mettre un ESSID (nom du point d’accès) custom. Vous pouvez définir le point d’accès comme caché ou non selon votre envie de crâner. * Dans &amp;lt;code&amp;gt;Wireless security&amp;lt;/code&amp;gt; : choisir l’encryption &#039;&#039;WPA2-PSK (strong encryption)&#039;&#039; et mettre un mot de passe pour le point d’accès dans &#039;&#039;Key&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut &#039;&#039;&#039;Save &amp;amp;amp; Apply&#039;&#039;&#039; les modifications, puis &#039;&#039;&#039;enable&#039;&#039;&#039; l’interface qui vient d’être configurée. Le point d’accès wifi est configuré !&lt;br /&gt;
&lt;br /&gt;
=== Probl ===&lt;br /&gt;
&lt;br /&gt;
J’ai rencontré quelques problèmes par la suite, voilà une liste de solutions possibles: * débrancher / rebrancher la prise ethernet murale * &amp;lt;code&amp;gt;service network restart&amp;lt;/code&amp;gt; * Exécuter à nouveau &amp;lt;code&amp;gt;wpa_supplicant -c /etc/wpa_supplicant/polytechnique.conf -D wired -i NOM_DE_L&#039;INTERFACE -B&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;udhcpc -i wan&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pour la reconnexion automatique au reboot (pas encore testé) ====&lt;br /&gt;
&lt;br /&gt;
Cf https://forum.openwrt.org/t/connect-router-archer-c50-to-a-802-1x-eap-network/34602/20&lt;br /&gt;
&lt;br /&gt;
== Depuis l&#039;interface LuCi ==&lt;br /&gt;
Toutes les manipulations qui suivent sont relativement simples et accessibles à tous. Elles s&#039;effectuent depuis l&#039;interface web LuCi, disponible à l&#039;adresse http://192.168.1.1 lorsque l&#039;on est connecté au routeur. Elles ne nécessitent donc l&#039;installation d&#039;aucun outil externe (par exemple PuTTY sur Windows). Pour valider les changements effectués, appuyez sur le bouton &amp;quot;Save &amp;amp; Apply&amp;quot;, en bas de chaque page.&lt;br /&gt;
&lt;br /&gt;
=== Changer le mot de passe root ===&lt;br /&gt;
Avant toute chose, il est conseillé de changer le mot de passe root. Le mot de passe par défaut est « root ». Allez dans &amp;quot;System&amp;quot; -&amp;gt; &amp;quot;Administration&amp;quot; et changez le mot de passe.&lt;br /&gt;
&lt;br /&gt;
=== Changer le nom/le mot de passe du réseau Wi-Fi ===&lt;br /&gt;
{{Attention|&lt;br /&gt;
*&#039;&#039;&#039;Tous&#039;&#039;&#039; les routeurs, y compris ceux des bars d&#039;étage, &#039;&#039;&#039;doivent&#039;&#039;&#039; être protégés par un mot de passe sécurisé. &#039;&#039;&#039;Le BR interdit strictement toute utilisation de routeur dont le réseau Wi-Fi n&#039;est pas protégé par un mot de passe&#039;&#039;&#039;.&lt;br /&gt;
*En mettant un mot de passe trop simple ou trop proche de votre mot de passe LDAP/ENEX/Zimbra, vous risqueriez de compromettre sa sécurité, et donc l&#039;ensemble de vos comptes liés, qui pourraient alors être coupés par la DSI.}}&lt;br /&gt;
Le nom et le mot de passe du réseau peuvent être changé en allant dans &amp;quot;Network&amp;quot; -&amp;gt; &amp;quot;Wi-Fi&amp;quot;. Désactivez temporairement le Wi-Fi en appuyant sur le bouton &amp;quot;Disable&amp;quot;, puis cliquez sur &amp;quot;Edit&amp;quot;. Le nom du réseau est personnalisable via le champ &amp;quot;ESSID&amp;quot;, dans l&#039;onglet &amp;quot;General Setup&amp;quot;, en bas de la page. Le mot de passe est personnalisable via l&#039;onglet &amp;quot;Wireless Security&amp;quot;. &#039;&#039;&#039;Laissez bien l&#039;option &amp;quot;WPA2-PSK&amp;quot; active&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Problèmes connus ==&lt;br /&gt;
=== Le réseau coupe souvent ===&lt;br /&gt;
Au 16/10/2016, une des raisons connues est un problème dans l&#039;infrastructure de la DSI, qui touche aussi les personnes ne possédant pas de routeur. Il faut alors débrancher et brancher la prise à chaque fois que le réseau se coupe. Le routeur peut néanmoins simuler cette manipulation de lui-même à intervalles réguliers. Pour cela, ajoutez la ligne suivante dans &amp;quot;System&amp;quot; -&amp;gt; &amp;quot;Scheduled Tasks&amp;quot; (ne supprimez pas les autres lignes !) :&lt;br /&gt;
:&amp;lt;code&amp;gt;0 */1 * * * kill $(pidof wpa_supplicant) $(pidof udhcpc) &amp;amp;&amp;amp; rm -rf /tmp/run/wpa_supplicant/ &amp;amp;&amp;amp; /etc/init.d/wpa start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si le problème est antérieur au 08/10/2016, voir aussi [[Routeurs_Wi-Fi/Tutoriel#Je_dois_souvent_red.C3.A9marrer_mon_routeur|cette section du tutoriel]] ou encore [[Routeurs_Wi-Fi/Tutoriel#Probl.C3.A8me_de_date|celle-ci]].&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Tutoriels]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=9996</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=9996"/>
		<updated>2024-01-13T23:27:44Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Rectification de la mise en page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget [URL] -O .config # Voir l&#039;étape correspondante pour déterminer l&#039;URL à utiliser&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT. Parmis ceux-ci se trouve notamment &amp;lt;code&amp;gt;LuCI&amp;lt;/code&amp;gt;, l&#039;interface web d&#039;administration d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Cependant, on peut utiliser comme base la configuration utilisée pour compiler les images fournies d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
Pour cela, le plus simple est de consulter la page correspondant à notre modèle sur le site d&#039;OpenWRT, par exemple le [https://openwrt.org/toh/tp-link/archer-c50 Archer C50].&lt;br /&gt;
&lt;br /&gt;
Dans la section [https://openwrt.org/toh/tp-link/archer-c50#downloads Downloads], on peut voir que le lien de téléchargement de l&#039;image d&#039;OpenWRT est [https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin].&lt;br /&gt;
&lt;br /&gt;
Ce qui nous intéresse dans cette URL est la partie entre &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt; et le nom du fichier &amp;lt;code&amp;gt;.bin&amp;lt;/code&amp;gt; : &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, et &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cette information va nous permettre de récupérer la dernière version du fichier de configuration approprié : il faut aller dans le dossier [https://downloads.openwrt.org/releases/ releases] d&#039;OpenWRT, pour trouver quelle est la dernière version d&#039;OpenWRT disponible, par exemple &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cela a été un peu long, mais nous avons enfin tous les éléments nécessaires afin de déduire l&#039;URL du fichier tant cherché : &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo&amp;lt;/code&amp;gt;. Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut enfin télécharger ce fichier et l&#039;enregistrer sous le nom &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
=== Configuration de OpenWRT ===&lt;br /&gt;
&lt;br /&gt;
La configuration par défaut téléchargée à l&#039;étape précédente est un début, mais elle n&#039;est pas complète. Il est nécessaire d&#039;entrer dans le menu de configuration de compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;. Attention, le modèle n&#039;apparaît que si la bonne &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ont été sélectionnés (ce qui est normalement le cas dans la configuration que nous avons téléchargé).&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond au fichier &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; indiqué dans le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]], qui peut ensuite être suivi dans le cas du Archer C50 afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Compiler_OpenWRT&amp;diff=9995</id>
		<title>Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Compiler_OpenWRT&amp;diff=9995"/>
		<updated>2024-01-13T23:25:06Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Florian.chive a déplacé la page Compiler OpenWRT vers Routeurs Wi-Fi/Compiler OpenWRT : Catégoriastion dans Routeurs W-Fi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECTION [[Routeurs Wi-Fi/Compiler OpenWRT]]&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=9994</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=9994"/>
		<updated>2024-01-13T23:25:06Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Florian.chive a déplacé la page Compiler OpenWRT vers Routeurs Wi-Fi/Compiler OpenWRT : Catégoriastion dans Routeurs W-Fi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget [URL] -O .config # Voir l&#039;étape correspondante pour déterminer l&#039;URL à utiliser&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT. Parmis ceux-ci se trouve notamment &amp;lt;code&amp;gt;LuCI&amp;lt;/code&amp;gt;, l&#039;interface web d&#039;administration d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Cependant, on peut utiliser comme base la configuration utilisée pour compiler les images fournies d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
Pour cela, le plus simple est de consulter la page correspondant à notre modèle sur le site d&#039;OpenWRT, par exemple le [https://openwrt.org/toh/tp-link/archer-c50 Archer C50].&lt;br /&gt;
&lt;br /&gt;
Dans la section [https://openwrt.org/toh/tp-link/archer-c50#downloads Downloads], on peut voir que le lien de téléchargement de l&#039;image d&#039;OpenWRT est [https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin].&lt;br /&gt;
&lt;br /&gt;
Ce qui nous intéresse dans cette URL est la partie entre &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt; et le nom du fichier &amp;lt;code&amp;gt;.bin&amp;lt;/code&amp;gt; : &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, et &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cette information va nous permettre de récupérer la dernière version du fichier de configuration approprié : il faut aller dans le dossier [https://downloads.openwrt.org/releases/ releases] d&#039;OpenWRT, pour trouver quelle est la dernière version d&#039;OpenWRT disponible, par exemple &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cela a été un peu long, mais nous avons enfin tous les éléments nécessaires afin de déduire l&#039;URL du fichier tant cherché : &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo&amp;lt;/code&amp;gt;. Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne [https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo]&lt;br /&gt;
&lt;br /&gt;
On peut enfin télécharger ce fichier et l&#039;enregistrer sous le nom &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
=== Configuration de OpenWRT ===&lt;br /&gt;
&lt;br /&gt;
La configuration par défaut téléchargée à l&#039;étape précédente est un début, mais elle n&#039;est pas complète. Il est nécessaire d&#039;entrer dans le menu de configuration de compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;. Attention, le modèle n&#039;apparaît que si la bonne &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ont été sélectionnés (ce qui est normalement le cas dans la configuration que nous avons téléchargé).&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond au fichier &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; indiqué dans le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]], qui peut ensuite être suivi dans le cas du Archer C50 afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=9993</id>
		<title>Routeurs Wi-Fi/Tutoriel TP-Link Archer C50</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=9993"/>
		<updated>2024-01-13T23:23:37Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Ajout d&amp;#039;un paragraphe sur la compilation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Avertissements ==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent &#039;&#039;avant&#039;&#039; de faire quoi que ce soit. Cela vous évitera des erreurs stupides qui vous feront perdre du temps. !}}&lt;br /&gt;
&lt;br /&gt;
=== Avertissement technique ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modèle de routeur.&#039;&#039;&#039; Le système que vous vous apprêtez à installer n&#039;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 &#039;&#039;&#039;TP-Link Archer C50&#039;&#039;&#039;, &#039;&#039;&#039;TP-Link Archer AC1200&#039;&#039;&#039; ou &#039;&#039;&#039;TP-Link Archer A5&#039;&#039;&#039;, versions 4 à 6 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . &#039;&#039;D&#039;autres versions peuvent être compatibles mais n&#039;ont pas été testées.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d&#039;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&#039;openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Méthode de connexion.&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;État d&#039;esprit.&#039;&#039;&#039; La procédure est relativement longue mais elle n&#039;est pas très compliquée. Si c&#039;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.&lt;br /&gt;
&lt;br /&gt;
=== Avertissement juridique ===&lt;br /&gt;
&lt;br /&gt;
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l&#039;École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec &#039;&#039;vos identifiants&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Principe ==&lt;br /&gt;
&lt;br /&gt;
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l&#039;École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d&#039;installer un système auxiliaire (OpenWRT)  sur les routeurs, remplaçant le système d&#039;origine. Grâce à ceci on peut obtenir un routeur qui s&#039;authentifie lui-même sur le réseau de l&#039;É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.&lt;br /&gt;
&lt;br /&gt;
== Le hic ==&lt;br /&gt;
Il existe depuis l&#039;interface GUI de TP-Link un endroit où l&#039;on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d&#039;OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l&#039;on ne peut pas directement fournir l&#039;image d&#039;OpenWRT depuis cette interface car &#039;&#039;&#039;cela va très probablement briquer le routeur&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Il faut donc procéder autrement, et l&#039;on va donc utiliser le protocole TFTP [https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol] pour pouvoir fournir notre image au routeur.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, les liens suivants pourront vous être utiles en complément :&lt;br /&gt;
* Page officielle pour le modèle Archer C50 [https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions]&lt;br /&gt;
* Autre tutoriel qui a servi a l&#039;élaboration de celui ci. Certains phases sont identiques et il y a d&#039;autres compléments d&#039;informations [[Routeurs Wi-Fi/Tutoriel]]&lt;br /&gt;
&lt;br /&gt;
== Préparation ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
* 1ère possibilité: Utiliser un &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; tout fait disponible [https://stratus.binets.fr/s/q8joypmLcN9jbfD ici]. (Utilise la version OS et pense à le renommer en &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 2ème possibilité: Le faire soit même, comme ceci:&lt;br /&gt;
&lt;br /&gt;
Récupérez l&#039;image du firware TP-Link depuis le site officiel qui devra être nommé &amp;lt;code&amp;gt;tpl.bin&amp;lt;/code&amp;gt;, et celle d&#039;OpenWRT (https://firmware-selector.openwrt.org/) nommée &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; et placez les dans un répertoire commun.&lt;br /&gt;
&lt;br /&gt;
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&#039;il n&#039;existe actuellement pas de firmware OpenWRT pour le Archer A5, il faut prendre celui du Archer C50.&lt;br /&gt;
&lt;br /&gt;
Il est également possible que la version d&#039;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&#039;il n&#039;existe pas d&#039;image pré-compilée pour le routeur, il faut [[Compiler OpenWRT]]. &lt;br /&gt;
&lt;br /&gt;
Dans un terminal ouvert sur le répertoire, exécutez les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1&lt;br /&gt;
 dd if=tpl.bin of=tmp.bin bs=131584 count=1&lt;br /&gt;
 dd if=tmp.bin of=boot.bin bs=512 skip=1&lt;br /&gt;
 cat boot.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
 cat owrt.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Ce sera l&#039;image &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; qui vient d&#039;être créée qui nous intéressera par la suite. L&#039;image doit peser environ 6 Mo.&lt;br /&gt;
&lt;br /&gt;
* Si jamais à un moment ou un autre, le routeur est &#039;&#039;&#039;brické&#039;&#039;&#039; (cassé) tu peux le débloquer en utilisant le &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; disponible [https://stratus.binets.fr/s/q8joypmLcN9jbfD ici]&lt;br /&gt;
&lt;br /&gt;
== Procédure TFTP ==&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; ce qui nous indique (contrairement à ce qu&#039;on aurait pu penser) que le routeur sera client et le PC sera serveur.&lt;br /&gt;
&lt;br /&gt;
Pour la suite, le lien suivant peut être d&#039;une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4&lt;br /&gt;
&lt;br /&gt;
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 (&#039;&#039;&#039;éteint&#039;&#039;&#039;) au switch via un de ses ports orange (le 1 par exemple). Depuis l&#039;interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d&#039;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&#039;OpenWRT comme étant &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer &#039;&#039;Current Directory&#039;&#039; pour être le répertoire dans lequel &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; est situé. Cliquez sur &#039;&#039;Show dir&#039;&#039; pour vérifier qu&#039;il fait bien partie de la liste des fichiers présents. Ouvrez l&#039;onglet de &#039;&#039;Log&#039;&#039;. C&#039;est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d&#039;appuyer sur un bouton supplémentaire.&lt;br /&gt;
&lt;br /&gt;
Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu&#039;à ce que la LED WPS soit allumée.&lt;br /&gt;
&lt;br /&gt;
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&#039;onglet &#039;&#039;Log&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 atftp 192.168.0.66&lt;br /&gt;
 get tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Qui devrait retourner sans erreur.&lt;br /&gt;
&lt;br /&gt;
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&#039;opération, il devrait se redémarrer.&lt;br /&gt;
&lt;br /&gt;
Attention: si les LEDs clignotent périodiquement après le redémarrage, cela signifie que l&#039;installation a échoué et qu&#039;il n&#039;arrive pas à booter. Assurez-vous d&#039;avoir le bon fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; puis recommencez le transfert.&lt;br /&gt;
&lt;br /&gt;
== Hello, OpenWRT world ==&lt;br /&gt;
&lt;br /&gt;
=== Préalables ===&lt;br /&gt;
&lt;br /&gt;
==== Routeur connecté à Internet ====&lt;br /&gt;
&lt;br /&gt;
Heureusement tout n&#039;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é).&lt;br /&gt;
&lt;br /&gt;
Le routeur va avoir besoin d&#039;Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l&#039;adresse 192.168.1.1).&lt;br /&gt;
Connectez-vous alors à votre réseau dans allant dans &#039;&#039;Network&#039;&#039;, Scan et sélectionnant le bon Wifi. C&#039;est essentiel d&#039;avoir une bonne connexion, et cela peut être à l&#039;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&#039;onglet Diagnostics de la GUI.&lt;br /&gt;
&lt;br /&gt;
==== Paquet wpa-supplicant installé ====&lt;br /&gt;
&lt;br /&gt;
Connectez-vous par SSH au routeur avec :&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Sur certains modèles, il est nécessaire d&#039;utiliser la commande &amp;lt;code&amp;gt;ssh root@192.168.1.1 -oHostKeyAlgorithms=+ssh-rsa&amp;lt;/code&amp;gt;.&lt;br /&gt;
Dans un premier temps, mettez à jour les packets :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi le faire depuis le web GUI (disponible sur 192.168.1.1 mdp root) System &amp;gt; Software et Run update.&lt;br /&gt;
&lt;br /&gt;
Installer également nano si vous le souhaitez (vim est installé par défaut) :&lt;br /&gt;
&lt;br /&gt;
 opkg install nano&lt;br /&gt;
&lt;br /&gt;
On va maintenant installer le paquet qui va s&#039;occuper de nous authentifier au réseau. Il est probable qu&#039;un autre paquet (wpad-basic ou wpad-basic-wolfssl selon les modèles) est préinstallé : il va falloir le désinstaller.&lt;br /&gt;
&lt;br /&gt;
 opkg remove wpad-basic&lt;br /&gt;
 opkg install wpa-supplicant-openssl&lt;br /&gt;
&lt;br /&gt;
Points d&#039;attention:&lt;br /&gt;
* c&#039;est &#039;&#039;&#039;supplicant&#039;&#039;&#039; et pas &#039;&#039;&#039;applicant&#039;&#039;&#039;&lt;br /&gt;
* vous pouvez déterminer quelle saveur de wpad-basic est installé avec la commande &amp;lt;code&amp;gt;opkg list-installed&amp;lt;/code&amp;gt;&lt;br /&gt;
* depuis l&#039;été 2023, il faut installer wpa-supplicant-openssl et pas wpa-supplicant&lt;br /&gt;
* après avoir désinstallé wpad-basic, vous ne pourrez plus vous reconnecter à votre hotspot si vous êtes déconnecté&lt;br /&gt;
* si vous avez été déconnecté du hotspot avant de finir la configuration et que vous n&#039;avez plus de connexion à Internet, vous pouvez réinstaller le système depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Si l&#039;installation échoue pour cause d&#039;espace insufisant ====&lt;br /&gt;
&lt;br /&gt;
Si l&#039;installation de wpa-supplicant-openssl échoue par faute de place, il est possible que votre espace de stockage soit extrêmement faible, de l&#039;ordre de 1 ou 2 Mo.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez vérifier l&#039;espace de stockage avec la commande :&lt;br /&gt;
&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite regarder le volume overlayfs.&lt;br /&gt;
En octobre 2023, une installation complète a pu être faite sur un routeur avec 1.75 Mo d&#039;espace sur overlayfs, modulo quelques changements :&lt;br /&gt;
* réinitialiser le routeur depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;. (l&#039;installation avortée de wpa-supplicant-openssl laisse de lourds artéfacts qui ne sont pas nettoyés par opkg) ;&lt;br /&gt;
* 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 ;&lt;br /&gt;
* utiliser le paquet hostapd-mini au lieu de hostapd lors de la mise en place du Wifi.&lt;br /&gt;
&lt;br /&gt;
À 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&#039;est donc pas possible d&#039;installer les paquets à cet endroit.&lt;br /&gt;
&lt;br /&gt;
=== Configuration d&#039;Ethernet ===&lt;br /&gt;
&lt;br /&gt;
Ensuite configurez votre connexion en éditant :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Et en insérant le texte suivant :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;prénom.nom@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;monpassword&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=monpassword&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
En remplaçant les occurrences de &amp;lt;code&amp;gt;prénom.nom&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;monpassword&amp;lt;/code&amp;gt; (attention il apparaît deux fois) en conséquence.&lt;br /&gt;
&lt;br /&gt;
On va maintenant tenter de se connecter.&lt;br /&gt;
&lt;br /&gt;
 wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Si cela échoue,&lt;br /&gt;
* Regardez avec &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt; quel port il vaut mieux utiliser, c&#039;est peut-être eth1 chez vous.&lt;br /&gt;
* Vérifiez vos identifiants de connexion en cas d&#039;erreur de certificat&lt;br /&gt;
* Vérifiez que la date du système n&#039;est pas aberrante (une différence de quelques heures est OK)&lt;br /&gt;
* Vérifiez que vous avez bien installé &amp;lt;code&amp;gt;wpa-supplicant-openssl&amp;lt;/code&amp;gt; et pas &amp;lt;code&amp;gt;wpa-supplicant&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la commande précédente donne CTRL-EVENT-CONNECTED, c&#039;est bon vous pouvez continuer.&lt;br /&gt;
&lt;br /&gt;
=== Configuration du démarrage automatique ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant changer un autre fichier pour configurer le démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/init.d/wpa&lt;br /&gt;
&lt;br /&gt;
avec le contenu :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() { echo start wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf &amp;amp; }&lt;br /&gt;
&lt;br /&gt;
Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l&#039;étape précédente (en particulier le eth0.2)&lt;br /&gt;
&lt;br /&gt;
Rendre si besoin le fichier executable avec &amp;lt;code&amp;gt;chmod +x /etc/init.d/wpa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activation du démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa start&lt;br /&gt;
&lt;br /&gt;
Si retourne sans erreur : OK&lt;br /&gt;
&lt;br /&gt;
Puis:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa enable&lt;br /&gt;
&lt;br /&gt;
En faisant Ctrl+C si besoin.&lt;br /&gt;
&lt;br /&gt;
=== Paquet Hostapd ===&lt;br /&gt;
&lt;br /&gt;
Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe.&lt;br /&gt;
&lt;br /&gt;
Depuis un terminal en ssh, doit être :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install hostapd&lt;br /&gt;
&lt;br /&gt;
Alternativement, vous pouvez utiliser le web GUI:&lt;br /&gt;
* Aller dans System &amp;gt; Software&lt;br /&gt;
* Run Update&lt;br /&gt;
* Filter: rechercher hostapd&lt;br /&gt;
* Install&lt;br /&gt;
* Dismiss&lt;br /&gt;
&lt;br /&gt;
=== Config wifi ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant créer une nouvelle configuration Wifi :&lt;br /&gt;
&lt;br /&gt;
 uci set wireless.@wifi-device[0].disabled=0&lt;br /&gt;
 uci set wireless.@wifi-iface[0].ssid=&#039;NOM_DU_WIFI&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].encryption=&#039;psk2&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].key=&#039;MOT-DE-PASSE&#039;&lt;br /&gt;
 uci set wireless.@wifi-device[0].country=&#039;FR&#039;&lt;br /&gt;
 uci commit wireless; wifi&lt;br /&gt;
&lt;br /&gt;
En changeant &amp;lt;code&amp;gt;NOM_DU_WIFI&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT-DE-PASSE&amp;lt;/code&amp;gt; en conséquence.&lt;br /&gt;
&lt;br /&gt;
Redémarrer :&lt;br /&gt;
&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
Vous devriez maintenant avoir un réseau Wifi fonctionnel, émis par votre routeur, auquel vous pouvez vous connecter !&lt;br /&gt;
&lt;br /&gt;
=== Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED ===&lt;br /&gt;
&lt;br /&gt;
Lancer &amp;lt;code&amp;gt;wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&amp;lt;/code&amp;gt;, et depuis l&#039;interface graphique, restart eth0.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=9992</id>
		<title>Routeurs Wi-Fi/Compiler OpenWRT</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Compiler_OpenWRT&amp;diff=9992"/>
		<updated>2024-01-13T23:21:22Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Création de la page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Si installer OpenWRT sur votre routeur risque de le briquer, compiler OpenWRT risque de briquer votre cerveau}}&lt;br /&gt;
&lt;br /&gt;
== Pourquoi compiler OpenWRT ==&lt;br /&gt;
&lt;br /&gt;
Il est utile de compiler soi-même OpenWRT dans deux cas :&lt;br /&gt;
&lt;br /&gt;
# Il n&#039;existe pas de version officielle d&#039;OpenWRT pour votre routeur, et la version la plus proche ne fonctionne pas&lt;br /&gt;
# L&#039;image dont vous disposez est trop grosse pour le stockage de votre routeur et vous avez besoin de l&#039;alléger&lt;br /&gt;
&lt;br /&gt;
Ce guide est adapté de celui d&#039;[https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem OpenWRT]. Il n&#039;est pas exhaustif et ne cherche pas à l&#039;être, la documentation d&#039;OpenWRT étant très complète et agréable à naviguer.&lt;br /&gt;
&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
&lt;br /&gt;
* Un ordinateur tournant sous Linux (les ordis de salle info ne fonctionnent &#039;&#039;pas&#039;&#039; car une dépendance est manquante (&amp;lt;code&amp;gt;libz2.so.1.0&amp;lt;/code&amp;gt;), de préférence avec un accès &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; en cas de dépendances manquantes&lt;br /&gt;
* Beaucoup de temps (la compilation peut prendre plusieurs heures)&lt;br /&gt;
* Une brebis à sacrifier aux dieux de la compilation&lt;br /&gt;
&lt;br /&gt;
=== Installation des dépendances ===&lt;br /&gt;
&lt;br /&gt;
Les dépendances requises sont détaillées [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions ici]&lt;br /&gt;
&lt;br /&gt;
Pour Debian / Ubuntu, les dépendances peuvent être installées avec cette commande :&lt;br /&gt;
&lt;br /&gt;
 sudo apt install build-essential clang flex bison g++ gawk \&lt;br /&gt;
 gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \&lt;br /&gt;
 python3-distutils rsync unzip zlib1g-dev file wget&lt;br /&gt;
&lt;br /&gt;
Pour les autres distributions, référez-vous à la [https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#linux_gnu-linux_distributions documentation d&#039;OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
Bonne chance.&lt;br /&gt;
&lt;br /&gt;
Voici un résumé de l&#039;ensemble des commandes à exécuter, chacune étant ensuite détaillée.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
 &lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
 &lt;br /&gt;
 wget [URL] -O .config # Voir l&#039;étape correspondante pour déterminer l&#039;URL à utiliser&lt;br /&gt;
 &lt;br /&gt;
 make menuconfig&lt;br /&gt;
 &lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement du code source ===&lt;br /&gt;
&lt;br /&gt;
La première étape est de cloner le repo Git et de &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; dedans.&lt;br /&gt;
&lt;br /&gt;
 git clone https://git.openwrt.org/openwrt/openwrt.git&lt;br /&gt;
 cd openwrt&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement des paquets disponibles ===&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite télécharger, puis installer les différentes listes de paquets pouvant être ajoutés à OpenWRT. Parmis ceux-ci se trouve notamment &amp;lt;code&amp;gt;LuCI&amp;lt;/code&amp;gt;, l&#039;interface web d&#039;administration d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
 ./scripts/feeds update -a&lt;br /&gt;
 ./scripts/feeds install -a&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement d&#039;une configuration de référence ===&lt;br /&gt;
&lt;br /&gt;
La compilation d&#039;OpenWRT est un processus complexe, avec de nombreuses options assez cryptiques. Cependant, on peut utiliser comme base la configuration utilisée pour compiler les images fournies d&#039;OpenWRT.&lt;br /&gt;
&lt;br /&gt;
Pour cela, le plus simple est de consulter la page correspondant à notre modèle sur le site d&#039;OpenWRT, par exemple le [https://openwrt.org/toh/tp-link/archer-c50 Archer C50].&lt;br /&gt;
&lt;br /&gt;
Dans la section [https://openwrt.org/toh/tp-link/archer-c50#downloads Downloads], on peut voir que le lien de téléchargement de l&#039;image d&#039;OpenWRT est [https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7620/openwrt-22.03.0-ramips-mt7620-tplink_archer-c50-v1-squashfs-factory-eu.bin].&lt;br /&gt;
&lt;br /&gt;
Ce qui nous intéresse dans cette URL est la partie entre &amp;lt;code&amp;gt;/targets/&amp;lt;/code&amp;gt; et le nom du fichier &amp;lt;code&amp;gt;.bin&amp;lt;/code&amp;gt; : &amp;lt;code&amp;gt;ramips&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt;, et &amp;lt;code&amp;gt;mt7620&amp;lt;/code&amp;gt;, la &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cette information va nous permettre de récupérer la dernière version du fichier de configuration approprié : il faut aller dans le dossier [https://downloads.openwrt.org/releases/ releases] d&#039;OpenWRT, pour trouver quelle est la dernière version d&#039;OpenWRT disponible, par exemple &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Cela a été un peu long, mais nous avons enfin tous les éléments nécessaires afin de déduire l&#039;URL du fichier tant cherché : &amp;lt;code&amp;gt;https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo&amp;lt;/code&amp;gt;. Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne [https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo]&lt;br /&gt;
&lt;br /&gt;
On peut enfin télécharger ce fichier et l&#039;enregistrer sous le nom &amp;lt;code&amp;gt;.config&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/&amp;lt;version&amp;gt;/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
Pour le Archer C50 avec la version &amp;lt;code&amp;gt;23.05.2&amp;lt;/code&amp;gt;, cela donne :&lt;br /&gt;
&lt;br /&gt;
 wget https://downloads.openwrt.org/releases/23.05.2/targets/ramips/mt7620/config.buildinfo -O .config&lt;br /&gt;
&lt;br /&gt;
=== Configuration de OpenWRT ===&lt;br /&gt;
&lt;br /&gt;
La configuration par défaut téléchargée à l&#039;étape précédente est un début, mais elle n&#039;est pas complète. Il est nécessaire d&#039;entrer dans le menu de configuration de compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
 make menuconfig&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de renseigner le modèle exact dans &amp;lt;code&amp;gt;Target Profile&amp;lt;/code&amp;gt;. Attention, le modèle n&#039;apparaît que si la bonne &amp;lt;code&amp;gt;target&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;subtarget&amp;lt;/code&amp;gt; ont été sélectionnés (ce qui est normalement le cas dans la configuration que nous avons téléchargé).&lt;br /&gt;
&lt;br /&gt;
=== Compilation ===&lt;br /&gt;
&lt;br /&gt;
Il est enfin l&#039;heure lancer la compilation avec la commande :&lt;br /&gt;
&lt;br /&gt;
Attention, durant la compilation des archives sont téléchargées, il est donc nécessaire d&#039;avoir une connexion Internet.&lt;br /&gt;
&lt;br /&gt;
 make -j1 V=s&lt;br /&gt;
&lt;br /&gt;
Les options passées permettent d&#039;augmenter le niveau de verbosité, ce qui permet d&#039;avoir des détails en cas d&#039;erreur.&lt;br /&gt;
&lt;br /&gt;
Cela permet aussi d&#039;apprécier les nombreux avertissements émis pour diverses raisons, mais qui peuvent être ignorés.&lt;br /&gt;
&lt;br /&gt;
Si tout c&#039;est bien passé sans erreur, les fichiers générés se trouvent dans le dossier &amp;lt;code&amp;gt;bin/targets/&amp;lt;target&amp;gt;/&amp;lt;subtarget&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le fichier recherché se nomme normalement &amp;lt;code&amp;gt;openwrt-snapshot-[quelque chose]-[target]-[subtarget]-[modèle]-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;. Par exemple, pour le Archer C50 v6 un nom possible est &amp;lt;code&amp;gt;openwrt-snapshot-r24801-b7f9742da8-ramips-mt76x8-tplink_archer-c50-v6-squashfs-sysupgrade.bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ce fichier correspond au fichier &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; indiqué dans le guide [[Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50#Préparation]], qui peut ensuite être suivi dans le cas du Archer C50 afin d&#039;obtenir le fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
	<entry>
		<id>https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=9991</id>
		<title>Routeurs Wi-Fi/Tutoriel TP-Link Archer C50</title>
		<link rel="alternate" type="text/html" href="https://wiki-br.binets.fr/index.php?title=Routeurs_Wi-Fi/Tutoriel_TP-Link_Archer_C50&amp;diff=9991"/>
		<updated>2024-01-12T17:48:52Z</updated>

		<summary type="html">&lt;p&gt;Florian.chive : Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Avertissements ==&lt;br /&gt;
&lt;br /&gt;
{{Attention|Pour commencer, il est recommandé de lire toutes les parties qui vous intéressent &#039;&#039;avant&#039;&#039; de faire quoi que ce soit. Cela vous évitera des erreurs stupides qui vous feront perdre du temps. !}}&lt;br /&gt;
&lt;br /&gt;
=== Avertissement technique ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Modèle de routeur.&#039;&#039;&#039; Le système que vous vous apprêtez à installer n&#039;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 &#039;&#039;&#039;TP-Link Archer C50&#039;&#039;&#039;, &#039;&#039;&#039;TP-Link Archer AC1200&#039;&#039;&#039; ou &#039;&#039;&#039;TP-Link Archer A5&#039;&#039;&#039;, versions 4 à 6 (La version est écrite sur une étiquette du routeur et sur la boîte près du code barre.) . &#039;&#039;D&#039;autres versions peuvent être compatibles mais n&#039;ont pas été testées.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez tout de même utiliser un autre modèle, il faudra vous référer au site web d&#039;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&#039;openwrt (le plus récent le mieux pour des questions de sécurité, mais au minimum openwrt 20.0).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Méthode de connexion.&#039;&#039;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;État d&#039;esprit.&#039;&#039;&#039; La procédure est relativement longue mais elle n&#039;est pas très compliquée. Si c&#039;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.&lt;br /&gt;
&lt;br /&gt;
=== Avertissement juridique ===&lt;br /&gt;
&lt;br /&gt;
Si vous configurez ce routeur pour fonctionner avec 802.1X (dans les caserts de l&#039;École polytechnique en général), cela signifie que votre routeur sera connecté au réseau avec &#039;&#039;vos identifiants&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
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é.&lt;br /&gt;
&lt;br /&gt;
== Principe ==&lt;br /&gt;
&lt;br /&gt;
Les routeurs du commerce ne gèrent pas les systèmes de sécurité utilisés à l&#039;École polytechnique pour votre connexion internet. Pour compenser ce problème, une solution est d&#039;installer un système auxiliaire (OpenWRT)  sur les routeurs, remplaçant le système d&#039;origine. Grâce à ceci on peut obtenir un routeur qui s&#039;authentifie lui-même sur le réseau de l&#039;É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.&lt;br /&gt;
&lt;br /&gt;
== Le hic ==&lt;br /&gt;
Il existe depuis l&#039;interface GUI de TP-Link un endroit où l&#039;on peut téléverser une mise-à-jour du microgiciel (firmware), et donc potentiellement fournir celui d&#039;OpenWRT. Le problème qui va occuper une bonne partie de ce tutoriel, est que l&#039;on ne peut pas directement fournir l&#039;image d&#039;OpenWRT depuis cette interface car &#039;&#039;&#039;cela va très probablement briquer le routeur&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Il faut donc procéder autrement, et l&#039;on va donc utiliser le protocole TFTP [https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol] pour pouvoir fournir notre image au routeur.&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, les liens suivants pourront vous être utiles en complément :&lt;br /&gt;
* Page officielle pour le modèle Archer C50 [https://openwrt.org/toh/tp-link/archer-c50#v4_and_v5_instructions]&lt;br /&gt;
* Autre tutoriel qui a servi a l&#039;élaboration de celui ci. Certains phases sont identiques et il y a d&#039;autres compléments d&#039;informations [[Routeurs Wi-Fi/Tutoriel]]&lt;br /&gt;
&lt;br /&gt;
== Préparation ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
* 1ère possibilité: Utiliser un &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; tout fait disponible [https://stratus.binets.fr/s/q8joypmLcN9jbfD ici]. (Utilise la version OS et pense à le renommer en &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 2ème possibilité: Le faire soit même, comme ceci:&lt;br /&gt;
&lt;br /&gt;
Récupérez l&#039;image du firware TP-Link depuis le site officiel qui devra être nommé &amp;lt;code&amp;gt;tpl.bin&amp;lt;/code&amp;gt;, et celle d&#039;OpenWRT (https://firmware-selector.openwrt.org/) nommée &amp;lt;code&amp;gt;owrt.bin&amp;lt;/code&amp;gt; et placez les dans un répertoire commun.&lt;br /&gt;
&lt;br /&gt;
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&#039;il n&#039;existe actuellement pas de firmware OpenWRT pour le Archer A5, il faut prendre celui du Archer C50.&lt;br /&gt;
&lt;br /&gt;
Dans un terminal ouvert sur le répertoire, exécutez les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/zero of=tp_recovery.bin bs=196608 count=1&lt;br /&gt;
 dd if=tpl.bin of=tmp.bin bs=131584 count=1&lt;br /&gt;
 dd if=tmp.bin of=boot.bin bs=512 skip=1&lt;br /&gt;
 cat boot.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
 cat owrt.bin &amp;gt;&amp;gt; tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Ce sera l&#039;image &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; qui vient d&#039;être créée qui nous intéressera par la suite. L&#039;image doit peser environ 6 Mo.&lt;br /&gt;
&lt;br /&gt;
* Si jamais à un moment ou un autre, le routeur est &#039;&#039;&#039;brické&#039;&#039;&#039; (cassé) tu peux le débloquer en utilisant le &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; disponible [https://stratus.binets.fr/s/q8joypmLcN9jbfD ici]&lt;br /&gt;
&lt;br /&gt;
== Procédure TFTP ==&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; ce qui nous indique (contrairement à ce qu&#039;on aurait pu penser) que le routeur sera client et le PC sera serveur.&lt;br /&gt;
&lt;br /&gt;
Pour la suite, le lien suivant peut être d&#039;une certaine utilité : https://www.youtube.com/watch?v=bL8wKx8qaZ4&lt;br /&gt;
&lt;br /&gt;
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 (&#039;&#039;&#039;éteint&#039;&#039;&#039;) au switch via un de ses ports orange (le 1 par exemple). Depuis l&#039;interface de configuration réseau de Windows, aller dans les paramètres de votre connexion Ethernet. Vérifier tout d&#039;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&#039;OpenWRT comme étant &#039;&#039;Bootloader tftp server IPv4 address&#039;&#039; (dans notre cas 192.168.0.66) avec un masque 255.255.255.0. Lancer TFTPD64 et changer &#039;&#039;Current Directory&#039;&#039; pour être le répertoire dans lequel &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; est situé. Cliquez sur &#039;&#039;Show dir&#039;&#039; pour vérifier qu&#039;il fait bien partie de la liste des fichiers présents. Ouvrez l&#039;onglet de &#039;&#039;Log&#039;&#039;. C&#039;est assez contre-intuitif mais le serveur est bien mis en route à partir de ce moment, sans avoir besoin d&#039;appuyer sur un bouton supplémentaire.&lt;br /&gt;
&lt;br /&gt;
Maintenez maintenant le bouton reset avec le routeur éteint, et allumez le routeur. Attendez env. 10 secondes en maintenant le bouton reset, ou jusqu&#039;à ce que la LED WPS soit allumée.&lt;br /&gt;
&lt;br /&gt;
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&#039;onglet &#039;&#039;Log&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Remarque : si vous voulez tester votre serveur avant, connectez un autre ordi au switch, et lancez la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 atftp 192.168.0.66&lt;br /&gt;
 get tp_recovery.bin&lt;br /&gt;
&lt;br /&gt;
Qui devrait retourner sans erreur.&lt;br /&gt;
&lt;br /&gt;
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&#039;opération, il devrait se redémarrer.&lt;br /&gt;
&lt;br /&gt;
Attention: si les LEDs clignotent périodiquement après le redémarrage, cela signifie que l&#039;installation a échoué et qu&#039;il n&#039;arrive pas à booter. Assurez-vous d&#039;avoir le bon fichier &amp;lt;code&amp;gt;tp_recovery.bin&amp;lt;/code&amp;gt; puis recommencez le transfert.&lt;br /&gt;
&lt;br /&gt;
== Hello, OpenWRT world ==&lt;br /&gt;
&lt;br /&gt;
=== Préalables ===&lt;br /&gt;
&lt;br /&gt;
==== Routeur connecté à Internet ====&lt;br /&gt;
&lt;br /&gt;
Heureusement tout n&#039;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é).&lt;br /&gt;
&lt;br /&gt;
Le routeur va avoir besoin d&#039;Internet pour installer des paquets. Activez votre partage de co, et connectez vous depuis votre PC sur la GUI web de OpenWRT (à l&#039;adresse 192.168.1.1).&lt;br /&gt;
Connectez-vous alors à votre réseau dans allant dans &#039;&#039;Network&#039;&#039;, Scan et sélectionnant le bon Wifi. C&#039;est essentiel d&#039;avoir une bonne connexion, et cela peut être à l&#039;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&#039;onglet Diagnostics de la GUI.&lt;br /&gt;
&lt;br /&gt;
==== Paquet wpa-supplicant installé ====&lt;br /&gt;
&lt;br /&gt;
Connectez-vous par SSH au routeur avec :&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Sur certains modèles, il est nécessaire d&#039;utiliser la commande &amp;lt;code&amp;gt;ssh root@192.168.1.1 -oHostKeyAlgorithms=+ssh-rsa&amp;lt;/code&amp;gt;.&lt;br /&gt;
Dans un premier temps, mettez à jour les packets :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi le faire depuis le web GUI (disponible sur 192.168.1.1 mdp root) System &amp;gt; Software et Run update.&lt;br /&gt;
&lt;br /&gt;
Installer également nano si vous le souhaitez (vim est installé par défaut) :&lt;br /&gt;
&lt;br /&gt;
 opkg install nano&lt;br /&gt;
&lt;br /&gt;
On va maintenant installer le paquet qui va s&#039;occuper de nous authentifier au réseau. Il est probable qu&#039;un autre paquet (wpad-basic ou wpad-basic-wolfssl selon les modèles) est préinstallé : il va falloir le désinstaller.&lt;br /&gt;
&lt;br /&gt;
 opkg remove wpad-basic&lt;br /&gt;
 opkg install wpa-supplicant-openssl&lt;br /&gt;
&lt;br /&gt;
Points d&#039;attention:&lt;br /&gt;
* c&#039;est &#039;&#039;&#039;supplicant&#039;&#039;&#039; et pas &#039;&#039;&#039;applicant&#039;&#039;&#039;&lt;br /&gt;
* vous pouvez déterminer quelle saveur de wpad-basic est installé avec la commande &amp;lt;code&amp;gt;opkg list-installed&amp;lt;/code&amp;gt;&lt;br /&gt;
* depuis l&#039;été 2023, il faut installer wpa-supplicant-openssl et pas wpa-supplicant&lt;br /&gt;
* après avoir désinstallé wpad-basic, vous ne pourrez plus vous reconnecter à votre hotspot si vous êtes déconnecté&lt;br /&gt;
* si vous avez été déconnecté du hotspot avant de finir la configuration et que vous n&#039;avez plus de connexion à Internet, vous pouvez réinstaller le système depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Si l&#039;installation échoue pour cause d&#039;espace insufisant ====&lt;br /&gt;
&lt;br /&gt;
Si l&#039;installation de wpa-supplicant-openssl échoue par faute de place, il est possible que votre espace de stockage soit extrêmement faible, de l&#039;ordre de 1 ou 2 Mo.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez vérifier l&#039;espace de stockage avec la commande :&lt;br /&gt;
&lt;br /&gt;
 df -h&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite regarder le volume overlayfs.&lt;br /&gt;
En octobre 2023, une installation complète a pu être faite sur un routeur avec 1.75 Mo d&#039;espace sur overlayfs, modulo quelques changements :&lt;br /&gt;
* réinitialiser le routeur depuis le web GUI pour reprendre à la section &amp;quot;Hello, OpenWRT world&amp;quot;. (l&#039;installation avortée de wpa-supplicant-openssl laisse de lourds artéfacts qui ne sont pas nettoyés par opkg) ;&lt;br /&gt;
* 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 ;&lt;br /&gt;
* utiliser le paquet hostapd-mini au lieu de hostapd lors de la mise en place du Wifi.&lt;br /&gt;
&lt;br /&gt;
À 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&#039;est donc pas possible d&#039;installer les paquets à cet endroit.&lt;br /&gt;
&lt;br /&gt;
=== Configuration d&#039;Ethernet ===&lt;br /&gt;
&lt;br /&gt;
Ensuite configurez votre connexion en éditant :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Et en insérant le texte suivant :&lt;br /&gt;
&lt;br /&gt;
 ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
 ctrl_interface_group=0&lt;br /&gt;
 eapol_version=2&lt;br /&gt;
 ap_scan=0&lt;br /&gt;
 network={&lt;br /&gt;
   key_mgmt=IEEE8021X&lt;br /&gt;
   eap=TTLS&lt;br /&gt;
   identity=&amp;quot;prénom.nom@polytechnique.fr&amp;quot;&lt;br /&gt;
   anonymous_identity=&amp;quot;anonymous@polytechnique.fr&amp;quot;&lt;br /&gt;
   password=&amp;quot;monpassword&amp;quot;&lt;br /&gt;
   phase1=&amp;quot;auth=TTLS&amp;quot;&lt;br /&gt;
   phase2=&amp;quot;auth=PAP password=monpassword&amp;quot;&lt;br /&gt;
   eapol_flags=0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
En remplaçant les occurrences de &amp;lt;code&amp;gt;prénom.nom&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;monpassword&amp;lt;/code&amp;gt; (attention il apparaît deux fois) en conséquence.&lt;br /&gt;
&lt;br /&gt;
On va maintenant tenter de se connecter.&lt;br /&gt;
&lt;br /&gt;
 wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf&lt;br /&gt;
&lt;br /&gt;
Si cela échoue,&lt;br /&gt;
* Regardez avec &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt; quel port il vaut mieux utiliser, c&#039;est peut-être eth1 chez vous.&lt;br /&gt;
* Vérifiez vos identifiants de connexion en cas d&#039;erreur de certificat&lt;br /&gt;
* Vérifiez que la date du système n&#039;est pas aberrante (une différence de quelques heures est OK)&lt;br /&gt;
* Vérifiez que vous avez bien installé &amp;lt;code&amp;gt;wpa-supplicant-openssl&amp;lt;/code&amp;gt; et pas &amp;lt;code&amp;gt;wpa-supplicant&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la commande précédente donne CTRL-EVENT-CONNECTED, c&#039;est bon vous pouvez continuer.&lt;br /&gt;
&lt;br /&gt;
=== Configuration du démarrage automatique ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant changer un autre fichier pour configurer le démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 nano /etc/init.d/wpa&lt;br /&gt;
&lt;br /&gt;
avec le contenu :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh /etc/rc.common&lt;br /&gt;
 # Copyright (C) 2007 OpenWrt.org&lt;br /&gt;
 START=99&lt;br /&gt;
 start() { echo start wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf &amp;amp; }&lt;br /&gt;
&lt;br /&gt;
Changez la dernière ligne en fonction de la commande qui a fonctionné pour vous à l&#039;étape précédente (en particulier le eth0.2)&lt;br /&gt;
&lt;br /&gt;
Rendre si besoin le fichier executable avec &amp;lt;code&amp;gt;chmod +x /etc/init.d/wpa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Activation du démarrage auto :&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa start&lt;br /&gt;
&lt;br /&gt;
Si retourne sans erreur : OK&lt;br /&gt;
&lt;br /&gt;
Puis:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/wpa enable&lt;br /&gt;
&lt;br /&gt;
En faisant Ctrl+C si besoin.&lt;br /&gt;
&lt;br /&gt;
=== Paquet Hostapd ===&lt;br /&gt;
&lt;br /&gt;
Installer maintenant le paquet hostapd, qui sera indispensable pour pouvoir sécuriser votre réseau avec un mot de passe.&lt;br /&gt;
&lt;br /&gt;
Depuis un terminal en ssh, doit être :&lt;br /&gt;
&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install hostapd&lt;br /&gt;
&lt;br /&gt;
Alternativement, vous pouvez utiliser le web GUI:&lt;br /&gt;
* Aller dans System &amp;gt; Software&lt;br /&gt;
* Run Update&lt;br /&gt;
* Filter: rechercher hostapd&lt;br /&gt;
* Install&lt;br /&gt;
* Dismiss&lt;br /&gt;
&lt;br /&gt;
=== Config wifi ===&lt;br /&gt;
&lt;br /&gt;
On va maintenant créer une nouvelle configuration Wifi :&lt;br /&gt;
&lt;br /&gt;
 uci set wireless.@wifi-device[0].disabled=0&lt;br /&gt;
 uci set wireless.@wifi-iface[0].ssid=&#039;NOM_DU_WIFI&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].encryption=&#039;psk2&#039;&lt;br /&gt;
 uci set wireless.@wifi-iface[0].key=&#039;MOT-DE-PASSE&#039;&lt;br /&gt;
 uci set wireless.@wifi-device[0].country=&#039;FR&#039;&lt;br /&gt;
 uci commit wireless; wifi&lt;br /&gt;
&lt;br /&gt;
En changeant &amp;lt;code&amp;gt;NOM_DU_WIFI&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;MOT-DE-PASSE&amp;lt;/code&amp;gt; en conséquence.&lt;br /&gt;
&lt;br /&gt;
Redémarrer :&lt;br /&gt;
&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
Vous devriez maintenant avoir un réseau Wifi fonctionnel, émis par votre routeur, auquel vous pouvez vous connecter !&lt;br /&gt;
&lt;br /&gt;
=== Si ne fonctionne pas et que wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf renvoie bien CTRL-EVENT-CONNECTED ===&lt;br /&gt;
&lt;br /&gt;
Lancer &amp;lt;code&amp;gt;wpa_supplicant -D wired -i eth0.2 -c /etc/config/wpa.conf -B&amp;lt;/code&amp;gt;, et depuis l&#039;interface graphique, restart eth0.&lt;/div&gt;</summary>
		<author><name>Florian.chive</name></author>
	</entry>
</feed>