[LINUX] Utilisez Rasppie pour résoudre le problème de connexion Wi-Fi mobile insuffisante

Aperçu

En connectant Raspai en tant que répéteur Wi-Fi au Wi-Fi mobile, qui dispose d'un nombre limité de connexions, et en ajoutant un nouveau réseau Wi-Fi, la pénurie de connexions Wi-Fi dans la maison a été résolue. Lors de la configuration, j'ai rencontré un problème selon lequel l'adresse IP fixe n'a pas pu être définie, je vais donc vous montrer la solution.

introduction

Récemment, j'ai changé mon environnement Internet domestique en Wi-Fi mobile. La vitesse de communication est raisonnable et vous pouvez regarder Amazon Video confortablement. Cependant, le nombre maximum de connexions est de 5 et il est petit. Il n'y a pas de problème si vous utilisez uniquement un smartphone et un PC, mais ce n'est pas suffisant si vous connectez Google Home, etc. C'est du gaspillage d'acheter un nouveau répéteur Wi-Fi. La sélection d'un répéteur prend un certain temps. Les connexions Wi-Fi supplémentaires sont pour Google Home, Nature Remo et les imprimantes. La distance de communication peut être fournie dans une pièce. Quant à la vitesse de communication, vous pouvez écouter de la musique. Compte tenu de l'emplacement et de la vitesse de communication lors de l'utilisation sans fil de Raspeye, il semble qu'il n'y ait pas de problème.

J'ai donc essayé de faire de Razpai un répéteur Wi-Fi. (Ici, le terme «répéteur» est décrit comme l'ajout d'un nouveau réseau sans fil, sans augmenter la distance de communication au sein du même réseau.)

environnement

Raspberry Pi 4 Model B Raspbian Buster

Dongle Wi-Fi PLANEX GW-USNano2

Enquête

Plus tôt, lorsque j'ai essayé la même chose, cela a échoué, alors j'ai vérifié plusieurs sites pour comprendre dans une certaine mesure.

Raspberry Pi 3 + dongle WiFi USB, répéteur Wi-Fi - Qiita [Note] Routeur de point d'accès Wi-Fi avec Raspberry Pi 3 - Qiita Raspberry Pi utilise mitmproxy pour relayer les paquets via un LAN sans fil et capturer des paquets | Blog de Maple Rice Comment créer un serveur local WiFi à l'aide de la tarte aux framboises --Qiita Point d'accès LAN sans fil avec Raspberry Pi - Greenleaf Transformez Rasppie en un point d'accès WiFi! [Raspberry Pi 3 Modèle B WiFi au point d'accès LAN sans fil au routeur WiFi édition hostapd + bridge-utils (Comment définir l'environnement de communication en utilisant le WiFi intégré au Raspberry Pi 3 comme point d'accès LAN sans fil)](http: / /www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_3_wifi_wireless_access_point/) Faire du WiFi de Raspberry Pi 3 un point d'accès LAN sans fil avec fonction de blocage des publicités édition hostapd + dnsmasq (Comment faire du WiFi intégré à Raspberry Pi 3 un routeur haute performance avec fonction de blocage des publicités (avec publicité + fraude + fonction de blocage des adultes) ) Point d'accès | goozenlab

Il y a beaucoup d'informations, mais les anciennes informations sont également confuses. Vous devez également rechercher la version Raspbian (Buster). À première vue, les fonctions présentées dans chaque article sont les quatre points suivants.

Cette fois, il y a une limite au nombre de connexions Wi-Fi mobiles d'origine, de sorte que la fonction de routage ne peut pas être utilisée. Afin d'augmenter le nombre de connexions, j'ai décidé de créer un nouveau réseau avec Raspeye et de le router. Autrement dit, il ne fait pas de pont. De plus, je pense que Google Home avait besoin de DHCP, donc DHCP est nécessaire. De plus, je ne pense pas que le DNS soit particulièrement nécessaire.

Les fonctions requises ont été jugées comme étant les deux points suivants.

Quand j'ai mis Buster et que j'ai cherché à nouveau, j'ai trouvé quelqu'un qui faisait déjà ce que j'essayais de faire. Merci. J'ai décidé d'utiliser isc-dhcp-server au lieu de dnsmasq, en me référant au site suivant.

hawksnowlog: Construisez RaspberryPi comme point d'accès étendu pour les routeurs mobiles

J'ai également fait référence au site suivant. Merci. Transformez Rasppie en un point d'accès WiFi!

Ce que j'ai fait

Confirmation du dongle Wi-Fi

Tout d'abord, assurez-vous que le dongle Wi-Fi est activé. Juste en pointant, j'ai pu confirmer que je reconnaissais.

pi@raspberrypi:~ $ ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
...
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
...
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500、
...
wlan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
...

Paramètres de connexion wlan1 (clé USB)

Seul wlan1 est configuré pour se connecter automatiquement au Wi-Fi mobile. Si je ne définissais rien, les deux étaient connectés au Wi-Fi mobile auquel je m'étais déjà connecté. Je l'ai mis en référence ici. Ce à quoi j'étais accro lors de l'insertion de deux adaptateurs Wi-Fi avec Raspberry Pi-Qiita

installation et configuration de hostapd

À partir de cette section, il a été exécuté en référence au site suivant. Je voulais changer wlan0 et wlan1 et les définir, donc j'ai fait attention à cela et exécuté la même chose. hawksnowlog: Construisez RaspberryPi comme point d'accès étendu pour les routeurs mobiles

Je l'ai fait comme indiqué. Aucune erreur n'a été affichée.

Paramètres de routage

Je l'ai fait comme indiqué. Aucune erreur n'a été affichée.

installation et configuration du serveur DHCP

L'installation et les réglages sont terminés sans aucune erreur.

Une erreur s'est produite lors du démarrage du serveur DHCP. Il est montré ci-dessous.

$ sudo systemctl start isc-dhcp-server
Job for isc-dhcp-server.service failed. See 'systemctl status isc-dhcp-server.service' and 'journalctl -xn' for details

La commande a été exécutée conformément au message. Quand j'ai lancé systemctl status isc-dhcp-server.service, il n'y avait rien qui m'intéressait.

Ensuite, lorsque j'ai exécuté la commande suivante, une erreur s'est affichée.

$ journalctl -xn
...
no subnet declaration for wlan0 (no ipv4 addresses)
...

J'ai examiné les paramètres, mais cela ne s'est pas amélioré. J'ai vérifié certains sites ici, mais je n'ai pas pu obtenir d'informations utiles. ʻIfconfig, je me suis souvenu que l'adresse IP n'avait pas été attribuée, et j'ai supposé que c'était un problème, et j'en ai confirmé certains. Je n'étais pas sûr de savoir comment définir l'adresse IP fixe et comment écrire les paramètres des deux wlans séparément, j'ai donc examiné les paramètres en vérifiant certains sites, mais je n'ai pas pu le résoudre. J'ai décidé de changer la méthode de spécification de l'adresse IP et de la vérifier, j'ai donc écrit le paramètre IP fixe dans / etc / network / interface au lieu de / etc / dhcpcd.conf et redémarré. Quand j'ai reconfirmé avec ʻifconfig, l'adresse IP a été attribuée.

Dans cet état, encore

sudo systemctl start isc-dhcp-server

Ensuite, j'ai pu l'exécuter sans aucune erreur. J'ai pu me connecter à Internet en me connectant au SSID spécifié à partir d'un autre terminal. J'ai pu confirmer que je pouvais me connecter à partir d'un autre terminal même après le redémarrage. Il n'était pas nécessaire d'exécuter la commande ci-dessus lors du redémarrage.

Il semble qu'il n'est pas recommandé d'écrire un paramètre IP fixe dans l'interface de Raspbian il y a quelques années, donc ce n'est pas une solution très propre, mais j'ai pu confirmer l'opération, donc je vais l'exploiter pour le moment. De plus, comme il y a un lien dans interfaces.d, il vaut peut-être mieux l'écrire dans ce répertoire, mais je n'ai pas trouvé le mérite de prendre le temps, j'ai donc oublié de répondre. Le fichier de réglage IP + α fixe est illustré ci-dessous pour référence.

interfaces


# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
      address 192.168.130.1/24
      netmask 255.255.255.0
      gateway 192.168.130.1
# iface wlan0 inet manual
#       wpa-conf /etc/wpa_supplicant/wpa_supplicant_wlan0.conf

auto wlan1
allow-hotplug wlan1
iface wlan1 inet dhcp
      wpa-conf /etc/wpa_supplicant/wpa_supplicant_wlan1.conf

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

Contrôle de fonctionnement

Lorsque je me suis connecté à Internet via Raspai et que j'ai fait un test de vitesse, il était d'environ 1/5. Il semble que cela changera en fonction de l'heure et de la situation des autres terminaux connectés, mais on juge qu'il n'y a pas de problème particulier car la vitesse est maintenant suffisante. S'il y a un problème, nous le traiterons à nouveau.

Changement de chaîne et confirmation (ajout: 29/02/2020)

J'ai vérifié le canal de la bande 2,4 GHz et j'ai décidé de le changer pour un endroit où il semble se trouver. Si possible, j'aimerais utiliser la bande 5 GHz, qui a beaucoup d'espace, mais je me souviens que Google Home ne prenait en charge que 2,4 GHz, alors je l'ai fait. Il existe peut-être un moyen d'utiliser les deux, mais c'est en attente. Considérez quand les performances sont insuffisantes.

Tout d'abord, nous avons sélectionné le logiciel utilisé pour vérifier la chaîne. J'ai décidé de mettre une application Android sur mon Chromebook. Après avoir vérifié quelques critiques et l'apparence, j'ai décidé d'utiliser WiFi Analyzer (open-source). La raison de la sélection est qu'elle dit «open-source». Juger qu'il y a une forte possibilité qu'il n'y ait pas de publicité. image.png

Quand j'ai vérifié la chaîne, ça ressemblait à ça. On peut voir que le canal Wi-Fi mobile et le canal de tarte à la râpe se chevauchent. image.png

J'ai décidé de passer au canal 1 où la puissance du signal des autres Wi-Fi est relativement faible.

Suivez la procédure décrite dans Site référencé, réécrivez hostapd.conf et exécutez la commande suivante. Je l'ai couru.

sudo systemctl restart hostapd
sudo /etc/init.d/isc-dhcp-server restart

J'ai vérifié à nouveau. Vous pouvez voir que la chaîne a bougé. image.png

à partir de maintenant

Voici ce que je veux faire à l'avenir.

en conclusion

Bien que certaines pièces semblent obligées de fonctionner, il a été confirmé qu'elles fonctionnent en toute sécurité. Ce n'est pas limité à ce paramètre, mais il est difficile à déboguer. Vous pouvez trouver quelle fonction fonctionne dans quel fichier de configuration en effectuant une recherche, mais vous ne pouvez pas déterminer le flux de débogage optimal lorsqu'une erreur se produit. Ce message d'erreur n'était pas direct, il a donc fallu plus de temps. Une solution semble avoir été en mesure de déboguer un peu plus rapidement en comprenant le comportement de DHCP et AP. À l'avenir, j'aimerais essayer de raccourcir le temps de débogage et d'améliorer la puissance de l'application en passant plus de temps à comprendre les fonctions à utiliser. Cependant, ce n'est peut-être pas la solution ultime car nous pensons la même chose à chaque fois. Je voudrais réfléchir à la façon de déboguer lors de l'utilisation d'une technologie que je ne connais pas.

appendice

Avec les paramètres actuels (fcitx-mozc), Ctrl-Space bascule entre l'entrée anglaise et japonaise. Razzpai utilise un clavier japonais. Si vous utilisez Emacs, ce sera un problème, alors désactivez-le. Il pourrait être désactivé en définissant selon le site suivant.

Comment désactiver la commutation d'entrée lors de l'utilisation de Ctrl-Space dans Raspeye 63ème conversion Raspbian Stretch et japonais (fcitx-mozc) | Device Plus --Devapla

J'ai également vérifié rc.local. Le site suivant a été utile. rc.local - Raspberry Pi Documentation Définition de la commande (programme) à exécuter automatiquement au démarrage de Linux-Qiita

Recommended Posts

Utilisez Rasppie pour résoudre le problème de connexion Wi-Fi mobile insuffisante
Comment utiliser Raspeye Relay Module Python
Je souhaite être informé de l'environnement de connexion lorsque RaspberryPi se connecte au réseau
J'ai envoyé les données de Raspberry Pi à GCP (gratuit)
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
Essayez de résoudre le problème N Queen avec SA de PyQUBO
Utilisez python sur Raspberry Pi 3 pour éclairer la LED (Hello World)
Comment résoudre le problème d'emballage du bac
Utiliser le capteur Grove avec Raspberry Pi
Un mémo pour utiliser simplement le capteur d'éclairement TSL2561 avec Raspberry Pi 2
Utilisez python sur Raspberry Pi 3 pour éclairer la LED avec le contrôle du commutateur!
Connectez-vous à la console Raspberry PI et affichez les informations IP et SD locales
Essayez de résoudre le problème de l'héritage de classe Python
Comment utiliser Raspeye Pie Camera Python
[Chez Coder] Résoudre le problème de la dichotomie
Comment faire un Raspberry Pi qui parle les tweets d'un utilisateur spécifié
Essayez d'utiliser le processeur à 4 cœurs du Raspberry Pi 2 avec Parallel Python
Le 15e temps réel hors ligne, j'ai essayé de résoudre le problème de l'écriture avec python
Essayez de résoudre les problèmes / problèmes du "programmeur matriciel" (Chapitre 1)
Visualisons la pièce avec tarte aux râpes, partie 1
Essayez de résoudre le problème d'affectation du médecin de formation avec Python
Prenez la valeur du thermo-hygromètre SwitchBot avec Raspberry Pi
Changer les valeurs du thermo-hygromètre Bot avec Raspberry Pi
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé de résoudre le problème de F02 comment écrire en temps réel hors ligne avec Python
Notez ce que vous voulez faire à l'avenir avec Razpai
Utilisez le problème d'emballage des bacs pour réduire les frais d'utilisation du cloud
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
Essayez de résoudre les problèmes / problèmes du "programmeur matriciel" (fonction du chapitre 0)
Le problème devient plus facile à résoudre en fonction de la méthode de formulation
Changer le message affiché lors de la connexion à Raspberry Pi
Y a-t-il un secret dans la fréquence des nombres de rapport de circonférence?
Une histoire dans laquelle l'algorithme est arrivé à une conclusion ridicule en essayant de résoudre correctement le problème du voyageur de commerce
À propos de l'erreur que j'ai rencontrée en essayant d'utiliser Adafruit_DHT à partir de Python sur Raspberry Pi
Résolvez le problème de Monty Hall
Comment utiliser le générateur
J'ai parlé à Raspberry Pi
Présentation de PyMySQL à Raspberry pi3
Comment utiliser le décorateur
Utilisez NeoPixel avec la tarte aux framboises
Résoudre le problème de la libcudart manquante dans Ubuntu 16.04 + CUDA 8.0 + environnement Tensorflow
Lisez votre numéro d'inscription scolaire à partir de votre carte d'étudiant avec Raspberry Pi
Je veux exécuter l'interface graphique Python au démarrage de Raspberry Pi
Utilisez PyCaret pour prédire le prix des appartements d'occasion à Tokyo!
Comment utiliser Jupyter sur le frontal de Spacon ITO
Je voulais résoudre le problème ABC164 A ~ D avec Python
Résolution du problème de la valeur initiale des équations différentielles ordinaires avec JModelica
Comment utiliser l'apprentissage automatique pour le travail? 01_ Comprendre l'objectif de l'apprentissage automatique
Raspberry Pi --1 --Première fois (Connectez un capteur de température pour afficher la température)
J'ai essayé de résoudre le problème de planification des équipes par diverses méthodes
Consigner périodiquement les valeurs des capteurs d'environnement Omron avec Raspberry Pi
Essayez de résoudre le problème de minimisation des fonctions en utilisant l'optimisation des groupes de particules
Je souhaite résoudre le problème de fuite de mémoire lors de la sortie d'un grand nombre d'images avec Matplotlib
J'ai fait un package npm pour obtenir l'ID de la carte IC avec Raspberry Pi et PaSoRi
Lisez les données du lecteur NFC connecté à Raspberry Pi 3 avec Python et envoyez-les à openFrameworks avec OSC