UMTS Stick konfigurieren
Für die UMTS Anbindung habe ich mich für einen Huawei E303 entschieden.
Der Stick ist recht leicht und ein weiterer Vorteil ist, dass der Stick als neue Netzwerkschnittstelle erkannt wird.
Die Konfiguration schaut so aus ...
StratoPi-Secondary konfigurieren
Wir bringen den pi auf den neusten Stand.
sudo apt-get update
sudo apt-get upgrade
Huawai E303 in den Pi einstecken. Überprüfen ob der Stick erkannt wird
lsusb
Überprüfen ob der Stick als Interface erkannt wurde.
Der Stick taucht dort als neue Netzwerkkarte „eth1“ auf. Jetzt können wir auf den Stick zugreifen.
http://192.168.1.1 im Webbrowser aufrufen.
Jetzt schalten wir die Pinabfrage ab und stellen den Autoreconnect ein. Dazu müssen wir auf Einstellungen klicken.
Für den Autoreconnect habe ich hier erstmal alles angeklickt. Auch die Roamingdaten. Man weiß ja nicht wo der StratoPi mal landet ;-)
Ich habe zusätzlich ein neues Profil für den StratoPi angelegt. Das ist aber nicht zwingend notwendig.
Wir schalten den PIN im Folgenden ab. Hierzu PIN-Funkltionen Deaktivieren und den PIN eingeben. Wenn alles so auschaut ist der PIN deaktiviert.
Jetzt zurück auf die Startseite und auf Verbinden Klicken.
Der Stick sollte sich jetzt in Internet einwählen. Zum Testen ob alles funktioniert ruft einfach einen Internetseite auf.
Weiterhin könnt ihr testen ob der Autoreconnect funktioniert. Trennt den Stick vom Pi und steckt ihn wieder ein. An der LED ab Stick könnt ihr sehen ob eine Verbindung aufgebaut wird. Erst blinkt sie Grün und sollte dann Türkis werden. Erst dann hat der Stick erfolgreich eine Verbindung aufgebaut. Das war die erste Hürde. Es gibt wohl mehrer Sticks die am Pi funktionieren. ich habe mich bewusst für den E303 entschieden, weil er den Pi entlastet und sehr einfach zu konfigurieren ist. Ein weiterer Vorteil ist, dass der Stick die Funktion des DHCP Server übernimmt. das brauche wir später noch.
Netztwerk konfigurieren
Auf meinem Secondary benutze ich 2 Interfaces. Einmal des gerade eingestellte eth1 und die RJ45 Schnittstelle eth0. Das WLAN Interface schalte ich ab. Verbraucht bloß Stom und ist zu langsam.
Ich möchte auch mit meinem Primary Pi ins Internet. Dazu ist es notwendig auf dem Secondary eine Bridge einzurichten. Der E303 hat standartmäßig die 192.168.1.1 (wird später auch das Gateway werden) und vergibt über DHCP Adressen ab 192.168.1.100 aufwärts. Ich wollte aber den Pis statische Adressen zuordnen. Aber zurück zu Bridge. Dazu brauchen wir ein neues Tool. Bridge-utls.
sudo apt-get install bridge-utils
Dann legen wir eine neue Bridge an. Dazu editieren wir die /etc/network/interfaces
sudo nano /etc/network/interfaces
Dort tragen wir ans Ende folgende Zeilen ein:
auto br0
iface br0 inet manual
bridge_ports eth0 eth1
STRG + O << Speichern
STRG + X << Beenden
Da unsere Bridge noch eine IP Adresse brauche konfigurieren wir diese in der /etc/dhcpcd.conf
sudo nano /etc/dhcpcd.conf
Dort tragen wir ans Ende fogende Zeilen:
interface br0
inform 192.168.1.12
STRG + O << Speichern
STRG + X << Beenden
Zu guter Letzt sagen wir dem System noch, dass es alles was über die Bridge läuft geroutet und weitergeleitet werden soll. Dazu editieren wir die /etc/sysctl.conf.
sudo nano /etc/sysctl.conf
Sucht nach der Zeile mit dem ipv4 forward und löscht die Raute weg. Die Zeile schaut dann so aus:
net.ipv4.ip_forward=1
STRG + O << Speichern
STRG + X << Beenden
Dann starten wir das System neu.
sudo reboot
Nach dem Neustart überprüfen wir unsere Interfaces mit:
ifconfig
Sie Ausgabe sollte so ausschauen:
An dieser Stelle überprüfen wir auch gleich unsere Route mit:
route
Die sollten so ausschauen.
Über default wird alles Unbekannte geroutet. Also alles ins Internet über den hi.link UMTS Stick. Und das Netzwerk 192.168.1.0 findet er über die Bridge. Passt also alle. Ihr könnt an dieser Stelle die Schnittstellen-IPs durchpingen. Auch der Ping ins Internet, z.B.
ping www.google.de
sollte erfolgreich sein.
StratoPi-Primary konfigurieren
Wir bringen den Pi auf den neusten Stand.
sudo apt-get update
sudo apt-get upgrade
Auch auf dem Primary nutze ich 2 Netzwerkschnittstellen. Zum Einen die RJ45 Buchse für die Verbindung zum Secondary und somit ins Internet. Und zum Anderen die WLAN Schnittstelle für den Accesspoint. Da ich auch übers WLAN auf beide Pis zugreifen will muss ich hier auch eine Brücke installieren. Also das Paket nachinstallieren.
sudo apt-get install bridge-utils
Dann legen wir eine neue Bridge an. Dazu editieren wir die /etc/network/interfaces
sudo nano /etc/network/interfaces
Dort tragen wir ans Ende folgende Zeilen ein:
auto br0
iface br0 inet manual
bridge_ports eth0 wlan0
STRG + O << Speichern
STRG + X << Beenden
Da unsere Bridge noch eine IP Adresse braucht konfigurieren wir diese in der /etc/dhcpcd.conf. Hier tragen wir auch gleich unser Gateway mit ein. Damit wir unsere WLAN Schnittstelle später als Hotspot betreiben können müssen wir noch den nohook Befehl eintragen.
sudo nano /etc/dhcpcd.conf
Dort tragen wir ans Ende fogende Zeilen:
interface wlan0
nohook wpa_supplicant
interface br0
inform 192.168.1.11
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
static domain_search=8.8.8.8
STRG + O << Speichern
STRG + X << Beenden
Zu guter Letzt sagen wir dem System auch hier noch, dass es alles was über die Bridge läuft geroutet und weitergeleitet werden soll. Dazu editieren wir wieder die /etc/sysctl.conf.
sudo nano /etc/sysctl.conf
Sucht wieder nach der Zeile mit dem ipv4 forward und löscht die Raute weg. Die Zeile schaut dann so aus:
net.ipv4.ip_forward=1
STRG + O << Speichern
STRG + X << Beenden
Dann starten wir das System neu.
sudo reboot
Zum Testen könnt ihr hier wieder alle Schnittstellen pingen. Also die Bridge mit der 192.168.1.11. Ihr könnt nun die Secondary Bridge pingen, also die 192.168.1.12. Auch das Gateway sollte erreichbar sein. Pingt dazu den UMTS Stick mit der IP 192.168.1.1. Wenn das alles funktioniert, testet einen Ping ins Internet, z.B. ping www.google.de.
Wenn das alles klappt sind wir wieder einen großen Schritt weiter.
UPDATE
Ich habe festgestellt, dass der Stick nach ein paar Stunden automatisch die Verbindung trennt. Das ist natürlich mega ungünstig, wenn die Sonde wieder auf der Erde ist und genau dann die Verbindung weg ist. Also habe ich ein kleines Skript geschrieben, welches die Verbindung ins Internet prüft und ggf. einen Reconnect einleitet. Das ganze kann man bei dem E303 über die API regeln.
Als erstes eine neue Datei anlegen:
touch reconnect.sh
Danach das Skript öffnen:
nano reconnect.sh
Die folgende Zeilen einfügen:
#! /bin/bash
if
ping -c 1 8.8.8.8 &> /dev/null
then
echo
else
curl http://192.168.1.1/api/dialup/dial -d '<?xml version="1.0" encoding="UTF-8"?><request><Action>1</Action></request>' > /dev/null 2>&1
fi
STRG + O << Speichern
STRG + X << Beenden
Dann noch ausführbar machen:
sudo chmod +x reconnect.sh
Ich lasse das Skript jede Minute ausführen. Das macht ein Cronjob für mich. Dazu müssen wir einen neuen Cronjob anlegen:
crontab -e
Und in die letzte Zeile einfach folgendes eintragen:
* * * * * /pfad/zum/script/reconnect.sh > /dev/null 2>&1
STRG + O << Speichern
STRG + X << Beenden
Nach einem Neustart wird das Skrippt minütlich ausgeführt. Thats it!!