RaspAP : switcher entre hotspot et client  [RESOLU]

Paramétrer le Raspberry Pi B/B+ pour se connecter via Ethernet ou une clé WiFi USB

Modérateurs : Francois, maxty01

cbalo

RaspAP : switcher entre hotspot et client

Message par cbalo » ven. 30 août 2019 22:09

Bonjour,
Depuis un moment j'utilise RaspAP pour faire d'un Pi-Zéro, un access point (au passage, très bon outil et très bon tuto, bravo et merci au rédacteur).

Mon PI Zéro est inaccessible physiquement (bouton power déporter)
Je m'y connecte en wifi grâce à son hotspot quand j'en ai besoin pour récupérer des données et c'est parfait.

Mais de temps en temps, j'aimerai le mettre en mode client pour qu'il dispose d'une connexion internet (ex : si je veux lui installer un nouveau paquet par exemple)

Mais si j'active le mode client dans l'interface web de RaspAP, plus rien ne fonctionne, il n'est plus ni client, ni hot spot, je suis obligé de le rebooter à la barbare et il redevient hotspot

Existe-t-il un moyen (une ligne de commande par exemple), pour le faire switcher proprement de l'un à l'autre ? (j'ai le bon SSID et le bon mot de passe pour le mode client et le hotspot est à portée)
Ou est-ce un bug dans RaspAP ? ou une fonctionnalité manquante ?

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: RaspAP : switcher entre hotspot et client

Message par Artemus24 » sam. 31 août 2019 23:30

Salut cbalo.

Pour ma part, je n'utilise pas RaspAP qui est trop basique. J'utilise hostapd + dnsmasq !
Ma raspberry est configurée en tant que routeur !

Comprenez que si je me connecte en tant que client à mon raspberry routeur, j'utilise le SSID avec un mot de passe.

Je possède une adresse ip qui est spécifique à l'adresse MAC de ma raspberry.
Cette adresse ip est définie dans ma box sfr et c'est avec putty que je me connecte.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

cbalo

Re: RaspAP : switcher entre hotspot et client

Message par cbalo » dim. 1 sept. 2019 06:55

Ah, curieux car RaspAp utilise aussi hostapd et dnsmask (https://github.com/billz/raspap-webgui/ ... /README.md)

Est-ce que votre classe d'ip est la même dans le cas où le Raspi est client wifi que lorsqu'il est HotSpot (voir carrément la même ip ?)? Si oui, et si le mode client et hotspot fonctionne simultanément chez vous ça voudrait juste dire qu'il n'est pas possible de faire autrement.

Dans mon cas, ce n'est pas la même classe d'ip car je ne le désire pas (je ne souhaite pas que le raspi soit visible sur le réseau des autres, je souhaite seulement switcher du monde hotspot au mode client de temps à autre pour raison de maintenance)

Sinon, juste comme ça, je n'ai aucun soucis à configurer et me connecter en ligne de commande (via putty) avec n'importe quel linux, toute distribution confondu que ce soit via un réseau filaire ou wifi, On peut dire que ça fait 20 ans que je fais ça presque quotidiennement.

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: RaspAP : switcher entre hotspot et client

Message par Artemus24 » dim. 1 sept. 2019 18:54

Salut cbalo.
cbalo a écrit :Est-ce que votre classe d'ip est la même dans le cas où le Raspi est client wifi que lorsqu'il est HotSpot
Il va de soi que ce ne sont pas les mêmes adresses IP lorsque je me connecte au routeur, donc au SSID avec mot de passe et à la raspberry via putty.
D'ailleurs votre remarque me laisse perplexe sur l'usage que vous faites de votre RaspAP.
cbalo a écrit :je ne souhaite pas que le raspi soit visible sur le réseau des autres, je souhaite seulement switcher du monde hotspot au mode client de temps à autre pour raison de maintenance
La visibilité de votre réseau se fait par l'intermédiaire de votre SSID. On peut rendre celui-ci invisible et de ce fait personne ne le verra.
En utilisant hostapd + dnsmasq, il n'y a pas une fonctionnalité qui permet de basculer du hostspot au mode client. C'est propre à RaspAP.

L'adresse IP dont je vous parle est celle qui est reconnu dans votre box lorsque votre RaspAP est connectée.
Il faut bien que votre RaspAP puisse se connecter à internet au travers de votre box.
C'est par cette adresse IP que vous devez utiliser pour vous connecter avec putty pour accéder à votre RaspAP.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

cbalo

Re: RaspAP : switcher entre hotspot et client

Message par cbalo » dim. 1 sept. 2019 19:11

Bonjour,
Je replace le contexte :

1) le raspi est, la plupart du temps, éloigné de tout wifi.
2) je peux m'y connecte pour récupérer des données car il est serveur wifi (raspapd)
3) je n'ai pas accès au raspbi physiquement (il est intégré à un tableau de bord, il faudrait tout démonter pour y accéder physiquement)

Il m'a arrive d'avoir un de mes hotspot wifi classique (ma box) à à portée du raspberry
Et à ce moment là, je souhaite switcher mon raspi en mode client wifi pour qu'il se connecte à ma box mais de manière temporaire (et le remettre ensuite en mode hotspot)

Je pourrai (je sais faire) : péter la config à ma main mais ce serait idiot.
RaspAP possède un bouton qui est supposé activer le mode client mais ça ne fonctionne pas, si je l'active, je pers non seulement le mode hotspot (ça c'est logique) mais je n'ai pas de connexion en mode client (pas logique) et ça finit en hard reboot.

Voilà le contexte : simple.

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: RaspAP : switcher entre hotspot et client

Message par Artemus24 » dim. 1 sept. 2019 20:26

Salut cbalo.

Avez-vous lu l'article de M. francois Mocq ?
--> https://www.framboise314.fr/raspap-cree ... n-express/

Si vous utilisez HostAP, votre raspberry devient un point d'accès wifi.
Pour que votre point d'accès wifi fonctionne normalement, vous avez le choix entre le pont (bridge) et le routeur (router).
En utilisant dnsmasq, vous transformez votre raspberry en routeur.
Un routeur gère en interne un DHCP, ainsi que l'association adresse MAC / adresse IP.

Pour fonctionner normalement, votre RaspAP doit être connecté à votre box pour avoir accès à internet par l'intermédiaire d'un câble éthernet.
Une personne qui désire avoir accès à internet doit se connecter en wifi en utilisant le SSId avec son mot de passe qui lui est associé.
cbalo a écrit :1) le raspi est, la plupart du temps, éloigné de tout wifi.
Et en quoi cela pose problème ? Votre RaspAP est un point d'accès wifi !
cbalo a écrit :2) je peux m'y connecte pour récupérer des données car il est serveur wifi (raspapd)
Je suppose que vous avez fait un faute de frappe. Dois-je lire "par" à la place de car" ?
Je dois comprendre que vous vous connectez en wifi en utilisant le SSID avec son mot de passe.
C'est son mode de fonctionnement normal.
cbalo a écrit :3) je n'ai pas accès au raspbi physiquement (il est intégré à un tableau de bord, il faudrait tout démonter pour y accéder physiquement)
A partir du moment où votre RaspAP est connecté à la box par un câble Ethernet, on n'a pas besoin d'y accéder physiquement.

Quand j'utilise mon raspberry en tant que routeur, il est branché par un câble Ethernet à ma box.
J'accède à l'internet depuis mon ordinateur windows, en me connectant au wifi de ma raspberry routeur par l'intermédiaire de son SSID.

Par le SSID de ma raspberry routeur, j'ai une adresse IP du genre 192.168.137.x. Cette adresse est inconnue dans ma box.
Dans l'exemple de M. Francois Mocq, c'est une adresse du genre 10.3.141.0.

Si maintenant, je désire bidouiller dans ma raspberry routeur, j'accède par une autre adresse ip, du genre 192.168.50.y, en utilisant putty.
Cette adresse, par contre, est connue dans ma box, puisque j'y accède en wifi par mon ordinateur windows.
cbalo a écrit :Et à ce moment là, je souhaite switcher mon raspi en mode client wifi pour qu'il se connecte à ma box mais de manière temporaire (et le remettre ensuite en mode hotspot)
Votre RaspAP n'est pas connecté en permanence à votre box. Mais ce que je ne comprends pas, c'est que vous le faites en wifi ???
Chez moi, il est connecté par l'intermédiaire d'un câble Ethernet et c'est normal qu'il le soit ainsi.

Vous devez comprendre que le wifi de votre raspberry est soit en AP (access point) soit en accès normal.
Il ne peut pas être les deux à la fois. De ce fait, il faut un autre accès pour avoir l'internet, d'où le câble Ethernet.
Et dans la raspberry, vous faites en sorte de rediriger le flux entrant wifi vers la sorte Ethernet.

A bien vous comprendre, vous vous servez de votre RaspAP juste comme un point de connexion pour un réseau local qui n'est pas connecté à internet.

Dans ma raspberry routeur (hostap + dnsmasq), je n'ai pas de bouton pour switcher quoi que ce soit.
Je n'accède pas à un mode de configuration mais au système d'exploitation raspbian en passant par l'adresse IP de ma raspberry qui est connecté à ma box.
D'ailleurs dans un vrai routeur, ce bouton n'existe pas, non plus.

Pour accéder à la configuration interne de votre RaspAP, et non au système d'exploitation, vous devez utilisez :
--> un adresse spécifique qui dans l'exemple de M. francois Mocq est 10.3.141.1.
--> un compte qui est "admin".
--> un mot de passe qui dans son exemple est "secret".
cbalo a écrit :RaspAP possède un bouton qui est supposé activer le mode client mais ça ne fonctionne pas,
Je ne connais pas RaspAP, car j'ai préféré utilisé une configuration routeur où je paramètre par moi-même des fichiers.
cbalo a écrit :si je l'active, je pers non seulement le mode hotspot (ça c'est logique) mais je n'ai pas de connexion en mode client (pas logique) et ça finit en hard reboot.
A priori, votre RaspAp est mal configuré. RaspAp est destiné à des débutants.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

cbalo

Re: RaspAP : switcher entre hotspot et client

Message par cbalo » dim. 1 sept. 2019 22:53

Oui,
J'ai lu l'article et même félicité son auteur (c'était la 1ère étape)
- je sais ce qu'est un routeur, je sais même en développer
- je sais ce qu'est un point d'accès wifi et j'utilise RaspAp justement pour que mon Raspberry le soit : ce n'est pas un problème mais une solution.
- je sais ce qu'est un client wifi.

Ce que je voudrai c'est de temps faire que mon raspberry quitte le mode point d'accès pour passer en mode client et vice-versa, c'est dans le titre du sujet.
Exactement comme un smatphone peut-être soit client wifi (la plupart du temps, si la box est accessible) soit hotspot wifi (pratique pour avoir du wifi sur le PC portable quand on est loin de sa box) mais jamais les 2 en même temps (le coup du PC portable, c'est un exemple; ce n'est pas du tout mais alors pas du tout le but de la manoeuvre).

RaspAp n'est pas mal configuré car il est impossible de faire ces 2 tâches en même temps (j'entends par là qu'il est impossible d'être à la fois client wifi et hot spot wifi sur la même interface réseau). La doc parle de ce cas mais il y est écrit qu'on utilise alors 2 interfaces ( wlan0 et wlan1 ou wlan0 et eth0)
Je ne souhaite pas que RaspAp passe en mode répétiteur : ce n'est pas du tout le but de la manoeuvre.

Je fais finir par analyser le code de raspapd pour ça, j'espèrai juste que quelqu'un savait avant d'y passer une demi-journée.
Faut juste identifier quels services et fichiers raspap flingue sur le Raspi, quels services (liste exhaustive) il lance et comment il a modifié les fichiers wpa_supplicant.conf et faire 2 scripts : un pour chaque sens et tester tout ça à 100% pour être sur que ça fonctionne parfaitement.

dyox
Raspinaute
Messages : 969
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: RaspAP : switcher entre hotspot et client

Message par dyox » lun. 2 sept. 2019 15:50

Bonjour,

Je n'ai pas tout relu...

Je partirai sur une comparaison : lister les services actif lors de AP et ceux en mode client.
Déjà en AP, il doit avoir dhcpcd, dnsmasq et hostapd.

Pour le mode client, faire un essai, si possible, sur une fresh install et comparer les services.

Dans tout les cas, ne pas oublier de relancer la pile réseau.

Et ma grande inconnue, comment se comporte wpa_supplicant.conf avec plusieurs réseaux wifi dedans ? En mode client, il perd son temps à chercher le ssid AP ou alors il se connecte séquentiellement jusqu'à trouver une connection ?

domos
Messages : 75
Enregistré le : lun. 9 mars 2015 19:17

Re: RaspAP : switcher entre hotspot et client

Message par domos » mar. 3 sept. 2019 17:03

Bonjour,

Juste pour comprendre:

Comme il s'agit d'un Pi Zero, il n'y a que le wifi pour interface ?
Pas d'ethernet en USB par exemple ?

Dans ce cas quel est l'usage du mode AP wifi si il ne peut accéder à internet ?
C'est juste pour servir de stockage en mode wifi ?

Si RaspAP permet de switcher entre les 2 modes, il y a peut-être une config. à affiner.

Pour debugger , un adaptateur série/sub connecté à la console du Pi Zero pourrait permettre d'analyser l’état quand il passe en mode client pour voir les erreurs rencontrés.

cbalo

Re: RaspAP : switcher entre hotspot et client

Message par cbalo » mer. 4 sept. 2019 21:09

Bon j'ai compris :
1) mon rasap (installé via git comme conseillé) a des problèmes de droits : l'interface cherche à faire des actions réservées à root et au sudoers.
hors lighthttp utilise le user "users" (bizarre) qui n'a pas les droits. Après donner des droits élevés à une interface web c'est comment dire..... hum hum
Du coup, certaines modifs que je demande n'étaient pas prises en compte par la console web.

2) après avoir donné les droits qui vont bien et réservé l'accès à l'interface web de raspap au seul réseau local, je constate que c'est un peu strange comme mécanique :
(quand la liste box de l'interface web montre toujours que l'AP est sur l'interface lo alors que ce n'est pas vrai....... c'est pas clair du tout).

3) donc j'ai fini par mettre le nez dans le cambouis.
Et là, ou là là il y en a partout.
ça finit par créer une interface virtuelle uap0 qui a une ip statique et son serveur dhcp (raspap refuse d'ailleurs de changer l'enveloppe d'ip du service dhcp, et sans message d'erreur)
Faut comprendre que dès qu'on change ça, il faut aller dans rc.local pour changer aussi la règle iptable de masquerade
Que wlan0 reste client de l'éventuel hotspot wifi, avec son ip (qui ne sera pas du tout de la même classe que celle de uap0)
Que les infos de paramétrage sont un peu disséminées partout dans 4 fichiers conf et qu'ils se recoupent sur certaines informations.
Qu'il ne faut surtout plus utiliser le fichier interface.
Que les infos client wifi restent dans le fichier wpa_supplicant.

Une fois pigé ça, ça fonctionne. Par contre, l'interface web ne permet pas proprement de changer des paramètres avancés.
(Ex alors que tout fonctionne : j'affiche la page hotspot, il me dit que mon hotspot est l'interface lo, je modifie (c'est uap0), j'enregistre, c'est ok. Je vais sur une autre page, je reviens c'est toujours ok, je ferme la page, j'y retourne, c'est de nouveau lo et si je change les ip du services dhcp via l'interface web, ça ne change rien).

J'ai essayé sur un autre rapsi, installe toute propre, ça fait pareil : l'interface web de raspap semble toute buggée.
Bon c'est pas grave, maintenant que j'ai pigé comment ça fonctionne, je fais tout ça à la main.

Répondre

Retourner vers « Le réseau sur le Raspberry Pï »