Cette page vous explique les différentes manières pour installer un firmware sur une borne wifi et la configuration finale.
Trois méthodes sont envisageables:
Celle-ci est utilisée en priorité pour flasher les nouvelles Bornes.
- factory: Depuis le bootloader, en uploadant l'image par tftp
2 autres méthodes sont disponibles :
sysupgrade: Depuis un OpenWrt déjà fonctionnel, en téléchargeant l'image
- fwupdate: Depuis le système linux initialement présent sur les bornes Ubiquiti
Prérequis
- Une borne wifi
- Un firmware compilé Cr@ns (fichier .bin ou .trx correspondant à la méthode choisie)
Pour la méthode factory, il faut en plus
- Un client tftp
- Un petit stylo pour appuyer sur reset
- Un switch (facultatif), qui permettra d'éviter à l'ordinateur de perdre le lien réseau
- Wireshark/tcpdump pour voir ce qu'il se passe (facultatif)
- Les câbles réseaux qui vont avec
Depuis le bootloader
Au démarrage, on va placer la borne dans un état où elle sera en attente de réception.
|
Linksys |
Ubiquiti (Nano|Pico)Station |
Ubiquiti UniFi |
IP borne |
192.168.1.1 |
192.168.1.20 |
192.168.1.20 |
IP du pc |
192.168.1.X (X≠1) |
192.168.1.X (X≠20) |
192.168.1.X (X≠20) |
Sous-réseau |
/24 |
/24 |
/24 |
Nom de l'image |
[laisser vide] |
flash_update |
N/A |
MAC (sur le boîtier) |
$X |
$X |
$g$X (où $g est du garbage à 5 caractères) |
MAC ethernet |
$X |
$X + 00:00:00:01:00:00 |
$X |
MAC (1er BSSID) WiFi |
$X + 00:00:00:00:00:02 |
$X |
$X + 00:00:00:01:00:00 |
Avant de commencer
Puisque vous choisissez de flasher l'image via le bootloader, c'est qu'il s'agit a priori d'une borne neuve, qui doit être enregistrée sur le réseau Cr@ns. Il faut donc lui donner un nom et enregistrer son adresse mac filaire dans la base, voire sa prise. Le dhcp et les dns de gordon mettant un certain temps à se mettre à jour, il est conseillé de commencer par cette étape "administrative". Plus d'infos ici pour les conventions de nommage.
Réglage IP
Il faudra configurer son ordinateur pour prendre une adresse IP particulière afin de communiquer avec le bootloader. On peut réaliser cette configuration avec l'outil ifconfig:
sudo ifconfig eth0 192.168.1.2/24
Cependant, cette commande possède l'inconvénient de (possiblement) rentrer en conflit avec votre gestionnaire réseau (mais vous pouvez le désactiver) et/ou d'être perdue à chaque redémarrage de l'interface réseau (lorsque vous allez redémarrer la borne), ce qui oblige à souvent relancer la commande ifconfig .
Il se peut aussi que votre connexion à la borne ne soit pas par eth0 (exemple : connexion ethernet-usb), dans ce cas, faire un ifconfig et remplacer eth0 par l'interface adaptée.
Il est donc plus judicieux de créer un profil de connexion dans votre gestionnaire réseau favoris (network manager etc). Celui-ci va appliquer les bons réglages à chaque fois que cela nécessaire (à chaque redémarrage de l'interface réseau).
Sinon on peut faire une sous-interface avec sudo ifconfig eth0:0 192.168.1.2/24 et garder son adresse ip habituelle sur eth0. En particulier si on ne veut pas perdre son accès au wiki et au site d'OpenWrt pendant le flashage. -- WikiHarry 2012-12-12 15:41:29
Linksys
Procédure:
- Éteindre la borne
- Allumer la borne
Attendre que la LED "DMZ" s'allume
- Appuyer sur le bouton reset jusqu'a ce que la LED "DMZ" clignote (2 à 5 secondes environ)
- pinger l'adresse IP de la borne (192.168.1.1)
- (Facultatif) Vérifier (et corriger) la configuration IP du pc (192.168.1.2)
- Commencer le flash
Ubiquiti (Nano|Pico)Station
Procédure:
- Éteindre la borne
- Maintenir le bouton reset enfoncé (sans forcer, il est fragile)
- Attendre 10 secondes, le temps que les Leds se mettent à clignoter
- pinger l'adresse IP de la borne
- (Facultatif) Vérifier (et corriger) la configuration IP du pc
- Commencer le flash
Ubiquiti UniFi
The soft way
- Débrancher la borne.
- Maintenir appuyé sur le bouton reset.
- Rebrancher le câble tout en maintenant le bouton reset.
- Lorsque que la borne clignote orange et vert relâcher le bouton.
- La borne attend maintenant une requête tftp à l'IP 192.168.1.20 !
The hard way
Appuyer sur le bouton reset ne suffira pas. À moins que la borne ne soit briquée, je vous conseille d'utiliser la méthode SSH utilisant l'OS original (si premier flash) ou sysupgrade si l'on a toujours accès à OpenWrt.
Il faut se connecter sur le port série pour lancer l'écoute du serveur tftp. On relie les pins RX, TX, et GND présents sur la carte (laisser le VCC de côté, ça pose plus de problèmes qu'autre chose). Utiliser un adaptateur série 3.3V, ne pas utiliser les adaptateurs séries(pc)<->usb, ils utilisent des niveaux de tension différents. En revanche, le port série d'une Raspberry Pi, ou d'une autre borne fonctionnelle font très bien l'affaire !
Régler la console série en 115200-8N1
- Mettre la borne sous tension
- Une fois dans le menu U-boot, appuyer sur une touche lorsque "Hit any key to stop autoboot: 0" apparaît
ar7240> urescue
- Un menu indique alors l'attente en écoute sur 192.168.1.20
- Suivre les étapes de flash via tftp (partie "Upload" ci-dessous)
Upload
tftp [ip borne] tftp> bin tftp> put [image.bin] [Nom de l'image] Sent 1965199 bytes in 28.8 seconds tftp> quit
Pendant le transfert, les LEDs se mettent à clignoter pour signifier un transfert. Une fois le transfert fini, ne PAS éteindre la borne : elle commence à écrire le fichier reçu dans sa mémoire flash et cette opération ne doit pas être interrompue. Au bout d'un moment (< 5 min), le clignotement de la borne change: sur les ubiquiti, les LEDs se remettent à clignoter dans l'ordre.
Depuis OpenWrt
On commence par télécharger l'image en mémoire vive à l'aide de wget, scp, ou autre. On choisira donc un repertoire monté en tmpfs (par exemple /tmp/).
Une fois l'image téléchargée, on vérifie son intégrité (md5sum), puis:
# sysupgrade -n /tmp/monimage-sysupgrade.bin
L'option -n spécifie que les fichiers de configuration précédents ne doivent pas être conservés. C'est en général l'option voulue (toute la configuration spécifique au crans est soit dans l'image, soit générée au premier démarrage).
Quand est-ce-qu'on a besoin d'utiliser un .trx ? -- WikiHarry 2012-12-12 15:41:29
Un script dans /usr/scripts/wifi_new/upgradebb.sh est disponible. Il a été utilisé pour migrer les bornes vers Barrier Breaker. À modifier (changer le chemin vers le .bin), et à réutiliser.
Depuis l'OS originel Ubiquity
Se brancher en ethernet directement à la borne, et prendre une IP sur 192.168.1.0/24 (autre que 192.168.1.20). Démarrer la borne et attendre que 192.168.1.20 soit joinable. Attention: la borne ne doit pas avoir récupéré d'IP via dhcp (sinon, utiliser celle-ci).
À l'instar de la méthode précédente, faire un scp de l'image dans /tmp/, les identifiants ssh de la borne sont ubnt/ubnt (facile !)
Se connecter ensuite en ssh sur la borne et lancer la commande fwupdate.real :
# fwupdate.real -m /tmp/mon_image.bin -d
Tester !
Si la borne est correctement flashée, elle va se mettre à demander son adresse IP. On peut alors la débrancher sans danger, la brancher sur un réseau contenant le vlan 3 (le 2B est parfait pour cela) et essayer de la pinger (utiliser l'adresse ip enregistrée dans la bdd si le dns ne s'est pas propagé ou si une erreur est restée en cache.)
On peut vérifier que la borne est bien flashée en écoutant à l'aide de tcpdump :
sudo tcpdump -i eth0 -n
Liens