[LINUX] Verwenden Sie Rasppie, um das Problem einer unzureichenden mobilen Wi-Fi-Verbindung zu lösen

Überblick

Durch die Verbindung von Raspai als Wi-Fi-Repeater mit mobilem Wi-Fi mit einer begrenzten Anzahl von Verbindungen und das Hinzufügen eines neuen Wi-Fi-Netzwerks wurde der Mangel an Wi-Fi-Verbindungen zu Hause behoben. Während der Einstellung ist ein Problem aufgetreten, bei dem die feste IP-Adresse nicht festgelegt werden konnte. Daher werde ich Ihnen die Lösung zeigen.

Einführung

Kürzlich habe ich meine Internetumgebung zu Hause auf mobiles WLAN umgestellt. Die Kommunikationsgeschwindigkeit ist angemessen und Sie können Amazon Video bequem ansehen. Die maximale Anzahl von Verbindungen beträgt jedoch 5 und ist klein. Es ist kein Problem, wenn Sie nur ein Smartphone und einen PC verwenden. Es reicht jedoch nicht aus, wenn Sie eine Verbindung zu Google Home usw. herstellen. Es ist eine Verschwendung, einen neuen Wi-Fi-Repeater zu kaufen. Die Auswahl eines Repeaters dauert einige Zeit. Zusätzliche Wi-Fi-Verbindungen gelten für Google Home, Nature Remo und Drucker. Die Kommunikationsentfernung kann in einem Raum geliefert werden. In Bezug auf die Kommunikationsgeschwindigkeit können Sie Musik hören. In Anbetracht des Standorts und der Kommunikationsgeschwindigkeit bei der drahtlosen Verwendung von Raspeye scheint es kein Problem zu geben.

Also habe ich versucht, Razpai zu einem Wi-Fi-Repeater zu machen. (Hier wird "Repeater" als Hinzufügen eines neuen drahtlosen Netzwerks beschrieben, ohne die Kommunikationsentfernung innerhalb desselben Netzwerks zu vergrößern.)

Umgebung

Raspberry Pi 4 Model B Raspbian Buster

Wi-Fi-Dongle PLANEX GW-USNano2

Umfrage

Früher, als ich dasselbe versuchte, schlug es fehl, und ich überprüfte mehrere Websites, um sie bis zu einem gewissen Grad zu verstehen.

Raspberry Pi 3 + USB-WLAN-Dongle, WLAN-Repeater - Qiita [Hinweis] WLAN-Zugangspunktrouter mit Raspberry Pi 3 --Qiita Raspberry Pi verwendet Mitmproxy, um Pakete über WLAN weiterzuleiten und Pakete zu erfassen | Maple Rices Blog So erstellen Sie einen lokalen WLAN-Server mit Himbeerkuchen - Qiita WLAN-Zugangspunkt mit Raspberry Pi - Greenleaf Verwandeln Sie Rasppie in einen WiFi-Zugangspunkt! [Raspberry Pi 3 Modell B WLAN-zu-WLAN-Zugangspunkt zum WLAN-Router hostapd + bridge-utils Edition (Einstellen der Kommunikationsumgebung mithilfe des in Raspberry 3 integrierten WLANs als WLAN-Zugangspunkt)](http: / /www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_3_wifi_wireless_access_point/) Verwandeln Sie WiFi von Raspberry Pi 3 in einen WLAN-Zugangspunkt mit Werbeblockerfunktion hostapd + dnsmasq edition. ) Access Point | goozenlab

Es gibt viele Informationen, aber auch alte Informationen sind verwirrt. Sie müssen auch nach der Raspbian-Version (Buster) suchen. Auf den ersten Blick sind die in jedem Artikel vorgestellten Funktionen die folgenden vier Punkte.

--hostapd Zugangspunkt --isc-dhcp-server DHCP-Server --dnsmasq DNS-Server und DHCP-Server --bridge-utils Bridge-Einstellungen

Diesmal ist die Anzahl der ursprünglichen mobilen Wi-Fi-Verbindungen begrenzt, sodass die Routing-Funktion nicht verwendet werden kann. Um die Anzahl der Verbindungen zu erhöhen, habe ich beschlossen, mit Raspeye ein neues Netzwerk zu erstellen und es weiterzuleiten. Das heißt, es überbrückt nicht. Ich bin außerdem der Meinung, dass Google Home DHCP benötigt, sodass DHCP benötigt wird. Ich halte DNS auch nicht für besonders notwendig.

Die erforderlichen Funktionen wurden mit den folgenden zwei Punkten bewertet.

Als ich Buster einsetzte und erneut suchte, fand ich jemanden, der bereits das tat, was ich versuchte. Vielen Dank. Ich entschied mich für isc-dhcp-server anstelle von dnsmasq und bezog mich auf die folgende Site.

hawksnowlog: Erstellen Sie RaspberryPi als erweiterten Zugriffspunkt für mobile Router

Ich habe auch auf die folgende Seite verwiesen. Vielen Dank. Verwandeln Sie Rasppie in einen WiFi-Zugangspunkt!

Was ich getan habe

Bestätigung des Wi-Fi-Dongles

Stellen Sie zunächst sicher, dass der Wi-Fi-Dongle aktiviert ist. Ich konnte bestätigen, dass ich es erkannte, indem ich es nur zeigte.

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
...

wlan1 (USB Dongle) Verbindungseinstellungen

Nur wlan1 ist so eingestellt, dass automatisch eine Verbindung zum mobilen WLAN hergestellt wird. Wenn ich nichts eingestellt habe, waren beide mit mobilem WLAN verbunden, mit dem ich bereits eine Verbindung hergestellt hatte. Ich stelle es hier ein. Wovon ich beim Einsetzen von zwei Wi-Fi-Adaptern mit Raspberry Pi-Qiita süchtig war

Hostapd Installation und Konfiguration

In diesem Abschnitt wurde es mit Bezug auf die folgende Site ausgeführt. Ich wollte wlan0 und wlan1 wechseln und einstellen, also habe ich darauf geachtet und dasselbe ausgeführt. hawksnowlog: Erstellen Sie RaspberryPi als erweiterten Zugriffspunkt für mobile Router

Ich habe es wie angewiesen gemacht. Es wurde kein Fehler angezeigt.

Routing-Einstellungen

Ich habe es wie angewiesen gemacht. Es wurde kein Fehler angezeigt.

Installation und Konfiguration des DHCP-Servers

Installation und Einstellungen werden fehlerfrei abgeschlossen.

Beim Starten des DHCP-Servers ist ein Fehler aufgetreten. Es ist unten gezeigt.

$ 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

Der Befehl wurde gemäß der Nachricht ausgeführt. Als ich "systemctl status isc-dhcp-server.service" ausführte, bemerkte ich nichts Besonderes.

Als nächstes wurde ein Fehler angezeigt, als ich den folgenden Befehl ausführte.

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

Ich habe die Einstellungen überprüft, aber es hat sich nicht verbessert. Ich habe hier einige Websites überprüft, konnte jedoch keine nützlichen Informationen erhalten. Selbst mit "ifconfig" erinnerte ich mich daran, dass die IP nicht zugewiesen wurde, und nahm an, dass dies ein Problem war, und bestätigte einige. Ich war mir nicht sicher, wie ich die feste IP einstellen und die Einstellungen für die beiden Wlans separat schreiben sollte. Daher habe ich die Einstellungen beim Überprüfen einiger Websites überprüft, konnte sie jedoch nicht lösen. Ich habe versucht, die IP-Spezifikationsmethode zu ändern und zu überprüfen, also habe ich die feste IP-Einstellung in "/ etc / network / interface" anstelle von "/ etc / dhcpcd.conf" geschrieben und neu gestartet. Bei der erneuten Bestätigung mit "ifconfig" wurde die IP zugewiesen.

Wieder in diesem Zustand

sudo systemctl start isc-dhcp-server

Dann konnte ich es fehlerfrei ausführen. Ich konnte eine Verbindung zum Internet herstellen, indem ich von einem anderen Terminal aus eine Verbindung zur angegebenen SSID herstellte. Ich konnte bestätigen, dass ich auch nach dem Neustart eine Verbindung von einem anderen Terminal aus herstellen konnte. Es war nicht erforderlich, den obigen Befehl beim Neustart auszuführen.

Es scheint, dass es nicht empfohlen wird, vor einigen Jahren eine feste IP-Einstellung in die Schnittstelle von Raspbian zu schreiben, daher ist dies keine sehr saubere Lösung, aber ich konnte den Vorgang bestätigen, daher werde ich ihn vorerst betreiben. Da es in interfaces.d einen Link gibt, ist es vielleicht besser, ihn in dieses Verzeichnis zu schreiben, aber ich habe nicht den Vorteil gefunden, Zeit zu verbringen, also habe ich vergessen zu antworten. Die feste IP + α-Einstellungsdatei wird unten als Referenz gezeigt.

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

Funktionsprüfung

Als ich über Raspai eine Verbindung zum Internet herstellte und einen Geschwindigkeitstest durchführte, war es ungefähr 1/5. Es scheint, dass es sich abhängig von der Tageszeit und der Situation anderer angeschlossener Terminals ändern wird, aber es wird beurteilt, dass es kein besonderes Problem gibt, da die Geschwindigkeit jetzt hoch genug ist. Wenn es ein Problem gibt, werden wir uns erneut darum kümmern.

Kanalwechsel und Bestätigung (Ergänzung: 29.02.2020)

Ich habe den 2,4-GHz-Bandkanal überprüft und beschlossen, ihn an einen Ort zu ändern, an dem er zu sein scheint. Wenn möglich, würde ich gerne das 5-GHz-Band verwenden, das viel Platz bietet, aber ich erinnere mich, dass Google Home nur 2,4 GHz unterstützt, also habe ich das getan. Es kann eine Möglichkeit geben, beide zu verwenden, diese wird jedoch angehalten. Überlegen Sie, wann die Leistung nicht ausreicht.

Zuerst haben wir die Software ausgewählt, mit der der Kanal überprüft wird. Ich habe beschlossen, eine Android-App auf mein Chromebook zu setzen. Nachdem ich einige Bewertungen und das Erscheinungsbild überprüft hatte, entschied ich mich für WiFi Analyzer (Open Source). Der Grund für die Auswahl ist, dass dort "Open Source" steht. Zu beurteilen, dass es eine hohe Wahrscheinlichkeit gibt, dass es keine Werbung gibt. image.png

Als ich den Kanal überprüfte, sah es so aus. Es ist ersichtlich, dass sich der mobile Wi-Fi-Kanal und der Rasp-Pie-Kanal überlappen. image.png

Ich entschied mich für Kanal 1, wo die Signalleistung anderer Wi-Fi relativ schwach ist.

Schreiben Sie hostapd.conf gemäß dem unter Referenzierte Site beschriebenen Verfahren neu und führen Sie den folgenden Befehl aus. Ich habe es ausgeführt.

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

Ich habe noch einmal nachgesehen. Sie können sehen, dass sich der Kanal bewegt hat. image.png

von jetzt an

Folgendes möchte ich in Zukunft tun.

--Überprüfen Sie den Kanal (Abgeschlossen: 29.02.2020)

abschließend

Obwohl es einige Teile gibt, die zum Betrieb gezwungen zu sein scheinen, wurde bestätigt, dass sie sicher funktionieren. Es ist nicht auf diese Einstellung beschränkt, aber es ist schwierig zu debuggen. Sie können durch Suchen herausfinden, welche Funktion in welcher Konfigurationsdatei funktioniert, aber Sie können den optimalen Debug-Ablauf nicht ermitteln, wenn ein Fehler auftritt. Diese Fehlermeldung war nicht direkt, daher dauerte es länger. Eine Lösung scheint in der Lage gewesen zu sein, ein wenig schneller zu debuggen, indem sie das Verhalten von DHCP und AP verstanden hat. In Zukunft möchte ich mich bemühen, die Debugging-Zeit zu verkürzen und die Anwendungsleistung zu verbessern, indem ich mehr Zeit damit verbringe, die zu verwendenden Funktionen zu verstehen. Es ist jedoch möglicherweise nicht die ultimative Lösung, da wir jedes Mal das Gleiche denken. Ich würde gerne überlegen, wie ich debuggen soll, wenn ich eine Technologie verwende, die ich nicht kenne.

Blinddarm

Mit den aktuellen Einstellungen (fcitx-mozc) wechselt Strg-Leertaste zwischen englischer und japanischer Eingabe. Razzpai verwendet eine japanische Tastatur. Wenn Sie Emacs verwenden, ist dies ein Problem. Deaktivieren Sie es daher. Es kann durch Einstellen gemäß der folgenden Site deaktiviert werden.

Deaktivieren der Eingangsumschaltung bei Verwendung von Strg-Leertaste in Raspeye 63. Raspbian Stretch und japanische Konvertierung (fcitx-mozc) | Device Plus --Devapla

Ich habe auch rc.local überprüft. Die folgende Seite war hilfreich. rc.local - Raspberry Pi Documentation Einstellen des Befehls (Programms), der automatisch ausgeführt wird, wenn Linux gestartet wird - Qiita

Recommended Posts

Verwenden Sie Rasppie, um das Problem einer unzureichenden mobilen Wi-Fi-Verbindung zu lösen
Verwendung von Raspeye Relay Module Python
Ich möchte über die Verbindungsumgebung benachrichtigt werden, wenn RaspberryPi eine Verbindung zum Netzwerk herstellt
Ich habe die Daten von Raspberry Pi an GCP gesendet (kostenlos)
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Versuchen Sie, das N Queen-Problem mit SA von PyQUBO zu lösen
Verwenden Sie Python auf Raspberry Pi 3, um die LED zu beleuchten (Hello World)
So lösen Sie das Problem beim Verpacken des Behälters
Verwenden Sie den Grove-Sensor mit Raspberry Pi
Ein Memo zur einfachen Verwendung des Beleuchtungsstärkesensors TSL2561 mit Raspberry Pi 2
Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten!
Stellen Sie eine Verbindung zur Raspberry PI-Konsole her und zeigen Sie lokale IP- und SD-Informationen an
Versuchen Sie, das Problem der Python-Klassenvererbung zu lösen
Verwendung von Raspeye Pie Camera Python
[Bei Coder] Lösen Sie das Problem der Dichotomie
So erstellen Sie einen Raspberry Pi, der die Tweets eines bestimmten Benutzers spricht
Versuchen Sie, die 4-Kern-CPU des Raspberry Pi 2 mit Parallel Python zu verbrauchen
Beim 15. Offline-Echtzeitversuch habe ich versucht, das Problem des Schreibens mit Python zu lösen
Versuchen Sie, die Probleme des "Matrix-Programmierers" zu lösen (Kapitel 1).
Stellen wir uns den Raum mit Raspeltorte vor, Teil 1
Versuchen Sie, das Problem der Zuweisung von Schulungsärzten mit Python zu lösen
Nehmen Sie den Wert des SwitchBot-Thermo-Hygrometers mit Raspberry Pi
Umschalten der Bot-Thermo-Hygrometer-Werte mit Raspberry Pi
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe versucht, das Problem von F02 zu lösen, wie man mit Python offline in Echtzeit schreibt
Notieren Sie sich, was Sie in Zukunft mit Razpai machen möchten
Verwenden Sie das Problem beim Packen von Behältern, um die Cloud-Nutzungsgebühren zu senken
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Versuchen Sie, die Probleme / Probleme des "Matrix-Programmierers" zu lösen (Kapitel 0-Funktion)
Das Problem wird je nach Formulierungsmethode leichter zu lösen
Ändern Sie die Meldung, die beim Anmelden bei Raspberry Pi angezeigt wird
Gibt es ein Geheimnis in der Häufigkeit der Umfangszahlen?
Eine Geschichte, in der der Algorithmus zu einem lächerlichen Ergebnis kam, als er versuchte, das Problem der reisenden Verkäufer richtig zu lösen
Über den Fehler, den ich beim Versuch, Adafruit_DHT von Python auf Raspberry Pi zu verwenden, festgestellt habe
Lösen Sie das Monty Hall-Problem
Verwendung des Generators
Ich habe mit Raspberry Pi gesprochen
Einführung von PyMySQL in Himbeer-Pi3
Wie benutzt man den Dekorateur?
Verwenden Sie NeoPixel mit Himbeerkuchen
Lösen Sie das Problem der fehlenden libcudart in Ubuntu 16.04 + CUDA 8.0 + Tensorflow-Umgebung
Lesen Sie mit Raspberry Pi Ihre Schulregistrierungsnummer aus Ihrem Studentenausweis
Ich möchte Python GUI ausführen, wenn Raspberry Pi startet
Verwenden Sie PyCaret, um den Preis von Gebrauchtwohnungen in Tokio vorherzusagen!
Verwendung von Jupyter am Frontend von Spacon ITO
Ich wollte das ABC164 A ~ D-Problem mit Python lösen
Lösung des Anfangswertproblems gewöhnlicher Differentialgleichungen mit JModelica
Wie nutzt man maschinelles Lernen für die Arbeit? 01_ Den Zweck des maschinellen Lernens verstehen
Raspberry Pi --1 - Zum ersten Mal (Schließen Sie einen Temperatursensor an, um die Temperatur anzuzeigen)
Ich habe versucht, das Schichtplanungsproblem mit verschiedenen Methoden zu lösen
Protokollieren Sie die Omron-Umgebungssensorwerte regelmäßig mit Raspberry Pi
Versuchen Sie, das Problem der Funktionsminimierung mithilfe der Partikelgruppenoptimierung zu lösen
Ich möchte das Problem des Speicherverlusts bei der Ausgabe einer großen Anzahl von Bildern mit Matplotlib lösen
Ich habe ein npm-Paket erstellt, um die ID der IC-Karte mit Raspberry Pi und PaSoRi zu erhalten
Lesen Sie die Daten des NFC-Lesegeräts, das mit Python an Raspberry Pi 3 angeschlossen ist, und senden Sie sie mit OSC an openFrameworks