Orange Pi Zero : relais WiFi-Ethernet

Permalink | Publié le 28 janvier 2018, dernière modification le 8 avril 2018.
Tags :

Dernièrement, j’ai fait l’acquisition d’un produit concurrent au populaire Raspberry Pi : Orange Pi. Si vous comptez débarquer sur le marché, prenez le nom anglais d’un fruit et rajoutez « Pi » à la fin, ça ferra l’affaire. Par contre oubliez Banana Pi, ça existe déjà !

Orange Pi est un concurrent chinois et l’achat des cartes ne se fait que via le site marchand AliExpress. Comptez 2 à 4 semaines pour que votre colis arrive jusque dans votre boîte aux lettres. Les caractéristiques des cartes et le prix qui y est associé sont très compétitifs. J’ai acheté le modèle Orange Pi Zero v1.4 à 9.36€, frais de port inclus.

1. Comparatif

Du côté de RPi (Raspberry Pi), il existe 3 modèles « Zero » : le Zero (2015), le Zero W (2017) et le Zero WH (2018). Par rapport au premier modèle, le W a le Wifi et le Bluetooth. Le WH lui dispose en plus des connecteurs GPIO déjà soudés, ce qui n’est pas le cas sur les premiers modèles.

Du côté d’OPi (Orange Pi), il y a également 3 modèles « Zero » : le Zero, le Zero Plus et le Zero Plus2. Il existe 19 modèles différents chez OPi, chacun ayant un intérêt selon les usages souhaités. Je ne pense même pas que l’on puisse comparer les Zero de RPi et d’OPi entre eux, car ils sont sensiblement différents. Chez OPi Zero il n’y a pas de sortie HDMI et chez RPi Zero il n’y a pas de connectivité Ethernet par exemple, ce qui aurait été plus compliqué si vous avez lu le titre de cet article 🙂

2. Caractéristiques

Voici les caractéristiques du OPi Zero v1.4 (qui n’est donc ni le Zero Plus, ni le Zero Plus2) :
– CPU : H2 Quad-core Cortex-A7 H.265/HEVC 1080P
– GPU : Mali400MP2 GPU @600MHz
– RAM : 256MB/512MB DDR3 SDRAM (j’ai la version 256 MB)
Ensuite il y a donc Wifi, Ethernet, 1 port USB, 26 ports GPIO compatibles avec le RPi B+, 13 autres GPIO pour rajouter de l’audio, de l’USB & co. La description complète est disponible sur la page de description officielle du Orange Pi Zero.

3. Problématique

Je suis en résidence universitaire, avec un réseau WiFi « SmartCampus » fournit par WiFirst. C’est donc l’équivalent d’un réseau WiFi public, avec les dangers et contraintes que ça impose : devoir se reconnecter chaque fois sur le portail captif avec tous les périphériques utilisés (smartphone, PC, etc.), heureusement bien aidé par quelques scripts personnels. Et pas de connexion Ethernet possible !

Je ne peux donc pas :
– Relier mon imprimante au réseau : je dois faire en liaison directe en me déconnectant d’Internet, pas pratique.
– Contrôler la musique du PC depuis le téléphone : oui, avec 25m² vous imaginez bien qu’avant d’atteindre mon PC, la playlist est déjà passée à la musique suivante :-p
– Communiquer entre périphériques : obligé d’avoir le Raspberry B relié en liaison Ethernet à mon PC à chaque fois que je veux bidouiller.
– Diffuser la musique à distance : le câble audio de mon PC à ma chaîne HiFi traverse l’appartement en plein milieu…

4. Solution

J’aurais pu prendre un abonnement Internet chez un FAI, mais je change d’appartement dans quelques mois et le WiFi du CROUS/WiFirst est déjà inclus dans mes charges.
Par contre, je possède un routeur WiFi + Ethernet qui fonctionne très bien mais qui ne peut pas recevoir Internet. L’idée est de se servir du OPi Zero pour capter le réseau WiFi et de le transmettre au routeur via Ethernet.

4.1 Téléchargement de Armbian

Prérequis : 1 carte microSD, avec adaptateur SD et lecteur sur le PC.
Plutôt que de télécharger sur le site d’Orange Pi, j’ai opté pour la distribution Armbian, spécialisée dans des images légères de Debian et Ubuntu pour les architectures ARM.

4.2 Préparation de la carte SD

On commence par décompresser l’image :

p7zip -d Armbian_5.35_Orangepizero_Ubuntu_xenial_default_3.4.113.7z

Ensuite pour créer la carte SD bootable, j’ai utilisé le logiciel Etcher (open-source) qui permet de faire ça très simplement, sous toutes les plateformes. On choisit l’image à copier, le périphérique (carte SD ou USB) et on démarre.

4.3 Préparation de la liaison Ethernet

Pour commencer la configuration de l’OS sur l’OPi, il faut s’y connecter par Ethernet. Dans mon cas je suis donc obligé de le connecter en liaison directe, pour cela il faut partager la connexion, opération que je configure via l’interface graphique :

Il est parfois nécessaire de redémarrer le network-manager pour que les modifications soient prises en compte :

sudo systemctl restart network-manager

4.4 Démarrage de Armbian

On peut maintenant insérer la carte microSD précédemment préparée dans le OPi Zero, le relier en Ethernet au PC et brancher sur une source d’alimentation. Il est conseillé d’utiliser un adaptateur plutôt que de l’alimenter depuis le port USB d’un PC.

Plutôt que d’effectuer un scan réseau avec nmap pour connaître l’IP de l’OPi Zéro, une autre solution existe en cherchant les adresses attribuées par DNSMasq, qui est utilisé dans notre cas comme serveur DHCP par le PC.

cat /var/lib/misc/dnsmasq.leases

Cela permet d’obtenir l’adresse MAC, l’IP et le nom du périphérique. Ici, seule l’adresse IP nous intéresse. On peut maintenant se connecter en SSH avec root (mot de passe : 1234). Lors de la première connexion il est demandé de définir un nouveau mot de passe qui ne soit pas trop simple (azerty ne fonctionnera pas, par exemple) puis de créer un nouvel utilisateur. Il faut également redémarrer dès que possible le système pour terminer l’ajustement de la partition système.

ssh root@10.42.0.1
(out)[Mot de passe 1234]
(out)[Changement du mot de passe]
(out)[Création nouvel utilisateur]
sudo reboot

4.5 Connexion au WiFi

Voici la commande pour se connecter au réseau WiFi de son choix :

nmtui-connect

Pour commencer, il est nécessaire de se connecter d’abord à un réseau WiFi non-restrictif, par exemple un smartphone en mode point d’accès. Ensuite, on se déconnecte du SSH, et on connecte le PC au même WiFi. Cette fois, il est nécessaire d’utiliser nmap pour trouver l’IP :

sudo apt install nmap
ifconfig
(out)[Récupérer l'@ IP du PC sur la carte réseau et le masque]
nmap -T4 -sP 192.168.42.56/24

4.6 Partage de la connexion

On se reconnecte en SSH sur l’Orange Pi, mais cette fois en passant par le réseau WiFi. On peut d’ailleurs débrancher la liaison filaire entre le PC et l’Orange Pi.

ssh root@192.168.43.138

Ensuite on va transformer la connexion Ethernet en une connexion partagée. C’est très simple, avec la commande suivante :

nmtui

Ensuite on choisi d’éditer une connexion (Edit a connection), on se positionne sur « Wired connection 1 » dans la partie « Ethernet », on appuie sur la touche tab pour atteindre le bouton « Edit… ». Dans la fenêtre qui s’ouvre, dans la partie « IPv4 Configuration » on sélectionne « Shared » et c’est terminé : on valide.

J’ai ensuite relié l’OPi à mon routeur via Ethernet et lorsque je ping l’IP du routeur (pour trouver l’IP du routeur, voir la commande à l’étape démarrage de Armbian), la LED clignote. J’ai ensuite relié un second PC à mon routeur et Internet fonctionne.

4.7 Changer de WiFi

Maintenant, il faut changer de réseau WiFi pour se connecter à celui du Crous. Pour rappel, on gère l’Orange Pi Zero via la connexion WiFi à laquelle il est relié, c’est à dire que dès lors que l’on va changer, la connexion SSH va se stopper.

On refait donc simplement l’opération ci-dessous en choisissant le WiFi souhaité :

nmtui-connect

5. Gérer l’Orange Pi Zero dans le futur

Maintenant, l’Orange Pi Zero n’est accessible que via le routeur. Il faut tout de même pouvoir y accéder pour mettre à jour, sécuriser et tout simplement administrer l’appareil. La solution est plutôt simple : on effectue depuis un PC la commande suivante pour tracer un paquet, en l’installant avant si nécessaire :

sudo apt install traceroute
traceroute qwant.com

On obtient alors l’IP de l’OPi Zero sur l’interface Ethernet et on peut s’y connecter en SSH sans soucis.

6. Conclusion

La connexion fournie par le Crous n’est pas sensationnelle, je ne penses pas que le passage supplémentaire vers l’Orange Pi sera nocif pour le débit, ça le sera sûrement pour le ping mais ça ne me dérange pas plus que ça. Je mettrais à jour cet article une fois la solution éprouvée.

Commentaires

4 avis sur "Orange Pi Zero : relais WiFi-Ethernet"

  • tagore dit :

    excellent

  • bazooka07 dit :

    Je me suis retrouvé dans le cas que toi pendant un an ou je passais la semaine loin de chez moi pour le boulot . J’avais pas trop envie de payer un 2eme abonnement ADSL et je logeais pès d’un hot-spot wifi.
    Pour résoudre le problème j’ai acheté un routeur WIFI qu’on peut reflasher avec OpenWrt. C’est un TP-Link TL-WR841 – version 10 en vent à 17,50€ chez Amazon. Déjà cela coute moins cher que ton plan si on ajoute les prix du Raspi, son boitier, son alim, la carte micro-SD et le switch. A ce prix là, tu as 2 vraies antennes qui ne sont pas rikiki, donc plus de sensibilité pour la réception. Ensuite on flashe une mémoire et pas une carte SD. Et OpenWrt est optimisé pour etre en réseau.
    https://www.amazon.fr/TP-Link-Routeur-Wi-Fi-Ethernet-TL-WR841N/dp/B001FWYGJS/
    https://dev.openwrt.org/changeset/47263

    • jgachelin dit :

      Effectivement cette solution est intéressante, merci du partage !

      Pour ce qui est de l’investissement je n’ai eu qu’à payer l’Orange Pi Zero nu. J’avais déjà la carte micro SD, l’alimentation et bien évidemment le routeur, sinon je n’aurais probablement pas choisi cette option. C’était surtout histoire de ré-utiliser un maximum de matériel existant.

  • eljondy dit :

    L’investissement en Orange pi n’est pas vraiment une perte par rapport a l’achat du modem tp link compatible Open WRT . certainement c’est plus simple. mais orangepi est plus extensible selon besoin . ce qui n’est pas le cas avec le modem tp link. aussi, il existe une image Open WRT pour OPi . Très bon blog . Merci pour le partage

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *