Home > Tutorials > USB Surfstick am Raspberry Pi verwenden – Mobiles Internet

USB Surfstick am Raspberry Pi verwenden – Mobiles Internet

In meinem Hardware-Fundus sind mir zwei ältere USB Surfsticks in die Hände gefallen ein Huawei e1550 (O2) und ein ZTE 4505 (Vodafone), anhand eines Surfsticks kann der Raspberry Pi 2 auch ohne WLAN oder LAN Verbindung eine Verbindung ins Internet aufbauen. Meinem Huawei e1550 USB-Surfstick arbeitet nach 3G (Dritte Generation) und ist damit, je nach Datentarif der SIM-Karte, in der Lage einen Zugang zu UMTS oder noch besser sogar mit HSDPA aufzubauen.

Von der Theorie schafft so ein 3G Surfstick, abhängig vom Standort und dem Mobilfunknetz, folgende Übertragungsraten was für die Anwendung mit einem Raspberry Pi mehr als ausreichend sein dürfte:

UMTS:
Download: 384 Kbit/s
Upload: 384 Kbit/s

HSPA ( HSDPA / HSUPA):

Download: 7,2 Mbit/s
Upload: 1,4 Mbit/s
Mein Raspberry Pi UMTS Test-Setup

In meinem Test-Setup verwende ich:

vodafone-k4505-z o2-surfstick

Leider gibt es die genannten Modell nicht, oder nur noch selten zu kaufen, daher habe ich euch weitere unterstützte UMTS-Sticks hier aufgelistet. Abhängig vom Stromverbrauch des Sticks und vom verwendeten Raspberry Pi Netzteil kann es passieren das ein zusätzlicher aktiver USB-Hub benötigt wird um den Stick mit ausreichend Strom zu versorgen. Bei meinen Test-Sticks war kein Hub notwendig.

Surfsticks für den Raspberry Pi

Die USB Dongels für 3G/4G von der Firma Huawei sind weit verbreitet und so mancher Mobilfunkanbieter klebt einfach nur sein Logo auf solch einen Stick. Da ich nicht alle Geräte testen kann habe ich euch eine kleine Liste von Huawei Modems (Quelle eLinux) zusammengestellt:

Wer plant den Pi in gebieten mit schlechter Netzabdeckung oder in “geschlossenen Räumen”  zu verwenden sollte überlegen einen Stick mit der Option für eine externe 3G Antenne zu beschaffen. Der E303 soll laut diversen Berichten mit dem aktuellen Raspbian problemlos funktionieren, hat allerdings keinen Anschluss für eine externe Antenne. Als Alternative dazu hat der E353 einen Antennenanschluss und Unterstützt HSDPA mit bis zu 21Mbit Download, preislich liegt der Stick m.E. auch noch im Rahmen. Alternativ könnt ihr das Auktionshaus eures Vertrauens nach gebrauchten Geräten durchsuchen (achtet auf SIM- / Net-Lock freie Geräte um eine eigene SIM verwenden zu können).

Surfstick am Raspberry Pi einrichten

Als Vorbereitung empfiehlt es sich die PIN Prüfung für die Karte zu deaktivieren, das erledigt ihr entweder via Software eures Mobilfunkanbieters an eurem normalen Windows Rechner oder ihr steckt die SIM in ein Smartphone und deaktiviert die Abfrage dort.

Als erstes stecken wir den Surfstick an den USB Port und prüfen mit lsusb ob dieser erkannt wird. Abhängig vom Stick müssen noch Einstellungen vorgenommen werden (so auch bei mir).

zte-surfstick

Bei manchen USB Sticks, die einen internen SD-Speicher haben, erkennt raspbian leider nur die SD-Karte, dann ist es notwendig das Tool usb-modeswitch zu installieren und den Pi einmal neu zu starten (sudo apt-get install usb-modeswitch). Raspbian sollte dann hoffentlich euer Gerät als Modem erkennen. Falls nicht müsst ihr unter Umständen eine Konfiguration erstellen, eine recht gute Anleitung gibt es im Ubuntu Wiki.

ZTE Surfstick Einrichtung

Bei meinem ZTE4505-E war es recht problemlos, ein einfaches “ifconfig -a” nach dem Anstecken zeigt mir direkt einen neuen Adapter mit dem Namen wwan0, hier habe ich nichts weiter bezüglich der Einrichtung des Sticks zu tun.

zte-surfstick-ifconfig

zte-stick

Huawei Surfstick Einrichtung

Bei meinem Huawei wurde leider nicht direkt ein Modem eingebunden und ich musst vorher noch usb-modeswitch installieren da die SD-Karte erkannt wurde anstelle des Modem.

Nach einem reboot zeigt lsusb auch hier den Stick sauber an.

o2-surfstick-lsusb

huawei-stick

Internetverbindung einrichten

Um nun eine Internetverbindung über die UMTS bzw. Surfsticks herstellen zu können installieren wir noch das Tool wvdial und ppp

Wir benötigen den Pfad, unter welchem sich das Modem unseres USB Sticks registriert hat, das könnt ihr via dmesg, wie oben zu sehen, einsehen. Falls ihr die Informatione nicht direkt findet steckt euren USB Stick vom Pi ab, wartet einige Sekunden und Steckt ihn dann wieder an, wartet erneut einige Sekunden. Durch Eingabe von dmesg können wir dann nachvollziehen unter welchem Gerät sich das Modem registriert hat.

Als erstes lasse ich wvdailconf laufen um die Standardwerte für meinen Stick ermitteln zu lassen.

Wird editieren nun die Konfiguration unter /etc/wvdial.conf mit dem Editor nano

Ich füge folgendes ans Ende der Datei an, den APN, Benutzername und Passwort müsst ihr ggf. auf den eures Providers anpassen.

Speichert mit STRG+X, Y und Enter. Den APN, also den Zugangspunkt des Mobilfunk Providers, habe ich auf deren Homepage gefunden:

Das Problem ist das bei der Verwendung von wvdail mit einem UMTS-Stick ist das der Raspberry Pi nicht weiß wohin er den die Daten in Richtung Internet versenden soll. Zusätzlich wollen wir ja neben dem UMTS Stick ja eventuell noch ein WLAN oder eine lokale LAN Verbindung aktiv haben.

Um zu erreichen das Daten an Netzwerke (also das Internet), die nicht direkt am Raspberry Pi angeschlossen sind, grundsätzlich via UMTS-Stick versendet bzw. empfangen werden wenn eine Verbindung aufgebaut ist konfigurieren wir folgendes:

Ans Ende der Datei hängen wir folgende Zeilen:

Gespeichert wird wie immer bei Nano mit STRG+X, Y und ENTER.

Internetverbindung Testen

Zum Testen unseres Modem bzw. der Verbindung zum Provider können wir manuell verbinden. Wir rufen wvdail mit dem konfigurierten Dailer auf (bei mir war das [Dialer o2Loop]), also o2loop.

Wenn alles glatt geht wird direkt eine Verbindung aufgebaut.

o2-verbindung

Durch drücken der Enter Taste landet ihr wieder auf der Shell und könnt nun im Internet surfen.

Zum Beenden der Verbindung müssen wir den wvdial Prozess “killen”, um ihn überhaupt zu finden geben wir folgendes auf der Kommandozeile ein

Bei mir findet er mehrere Prozesse, einer ist mein “Grep” Prozess und die anderen von wvdial. Ich will den “Mutter Prozess” beenden, also beende ich den an erster Stelle mit der niedrigsten Prozess ID. Die Prozess ID steht an zweiter Stelle, bei mir momentan 2901.

Wir killen also den Prozess 2901 um die Verbindung zu beenden.

Sobald auf der Kommandozeile “–> Disconnecting at Wed Apr 29 19:14:06 2015   …. Exit” erscheint wurde die Verbindung beendet.

Viel Spaß!

Weitere Pläne

Das Problem beim Datentransfer via UMTS ist, vor allem dann wenn ihr euch mit eurem Pi bewegen wollt (zum Beispiel im Auto), das je nach Funkzelle die Verfügbarkeit von mobilem Internet variieren kann und unter Umständen beim Sprung zwischen zwei Zellen die Internetverbindung verloren geht. Zusätzlich wäre es ganz gut wenn der RasPi sich auch automatisch ins Internet verbindet und dieses via WLAN Stick im Hotspot Modus an Smartphones, Computer, Laptops etc (Quasi als Internet Router) weitergeben kann.

Diese Probleme / Themen werde ich in weiteren Tutorials aufarbeiten und hier zur Verfügung stellen.

 

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (2 votes, durchschnittlich: 4,50 von 5)
Loading...

Über raspberry.tips

8 Kommentare

  1. Tolle Seite. Hier hab ich viel Stoff, um mal mehr aus meinem Raspi rauszuholen als ihn mit OpenElec zu bestücken. :)

    Evtl. bin ich einfach noch zu noobig, aber diese Zeile versteh ich nicht:

    “Wir killen also den Prozess 2715 um die Verbindung zu beenden.”
    Warum >> 2715 << ?

    • In dem Fall war ich etwas nachlässig bei der Kontrolle des Artikels, da hat sich ein Tippfehler eingeschlichen. Es muss natürlich die PID 2901 sein, die passt dann auch zur Ausgabe der aktuellen Prozesse von “ps auxwww”.

      Danke für den Hinweiß!

  2. Ernst Lingenberg

    Hallo, ja, der Beitrag hat mich bei meinem Projektvorhaben sehr unterstützt. Ich möchte mobil im Internet mit dem RASPI über ein PYTHON Programm e-mails senden. (Um Daten, wie Temperatur, GPS, etc.; zu senden). Das Senden von e-mail selbst, funktioniert schon beim mir im W-Lan. Jetzt möchte ich aber unabhängig von Lan und W-Lan Daten mobil senden.

    Ich habe noch eine Fragen:

    Reicht es als aus, wenn ich mir eine SIM-Card mit reiner Surf-Flat (ohne SMS und Telefonfunktion) beschaffe ? Als Stick würde ich dann den Huawei E353 verwenden.

    Der Stick wäre dann der mobile Ersatz für meine bisheriges W-Lan.

    Vielen Dank für einhe Antwort.

  3. killall wvdial … nix suchen nach Prozessen ;-)

  4. Und wenn man nicht immer die “Enter” Taste drücken will .. Stupid mode = 1

  5. Lars Jürgensen

    Mein Pi läuft momentan schon an einer Autobatterie und den UMTS Stick habe ich erfolgreich einrichten können. Das Ziel ist das kleine Teil im Schrebergarten ohne Strom und Wlan zu deponieren und Temperaturen, Fotos usw. zu speichern bzw. mir aufs Smartphone zu senden. Nun habe ich die Vermutung, dass ich wegen des UMTS keinen Fernzugriff haben werde wegen der geNATteten-IP vom UMTS Provider oder?
    Als bisher einzige Idee habe ich, den Telegram-Bot für den Pi einzurichten, darüber befehle zu senden und der Pi schickt mir dann was ich brauche/anfordere
    Schöner wäre natürlich, wenn ich auch Scripte auf dem Pi von daheim aus ändern könnte, gibts dazu gute Ideen?

  6. Peter Demharter

    Hi,

    Installation hat gut geklappt. Solange ich auf dem Raspi bin funktioniert Internet. Wenn der Raspi aber im LAN ist (gleiches Subnetz 192.168.178.0/24) bekomme ich keine Internetverbindung (trotz defaultroute und replacedefaultroute).
    CONNECT
    –> Carrier detected. Waiting for prompt.
    –> Don’t know what to do! Starting pppd and hoping for the best.
    –> Starting pppd at Wed May 25 13:22:53 2016
    –> Pid of pppd: 1063
    –> Using interface ppp0
    –> local IP address 100.74.102.160
    –> remote IP address 10.64.64.64
    –> primary DNS address 139.7.30.126
    –> secondary DNS address 139.7.30.125

    pi@raspi_umts:~ $ netstat -rn
    Kernel-IP-Routentabelle
    Ziel Router Genmask Flags MSS Fenster irtt Iface
    0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
    10.64.64.64 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
    169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
    169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wwan0
    192.168.178.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

    pi@raspi_umts:~ $ ifconfig
    eth0 Link encap:Ethernet Hardware Adresse b8:27:eb:a8:6f:f4
    inet Adresse:192.168.178.10 Bcast:192.168.178.255 Maske:255.255.255.0
    inet6-Adresse: fe80::6cdd:1063:c1a9:82ad/64 Gültigkeitsbereich:Verbindung
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
    RX packets:133 errors:0 dropped:0 overruns:0 frame:0
    TX packets:314 errors:0 dropped:0 overruns:0 carrier:0
    Kollisionen:0 Sendewarteschlangenlänge:1000
    RX bytes:11428 (11.1 KiB) TX bytes:38901 (37.9 KiB)

    lo Link encap:Lokale Schleife
    inet Adresse:127.0.0.1 Maske:255.0.0.0
    inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
    UP LOOPBACK RUNNING MTU:65536 Metrik:1
    RX packets:108 errors:0 dropped:0 overruns:0 frame:0
    TX packets:108 errors:0 dropped:0 overruns:0 carrier:0
    Kollisionen:0 Sendewarteschlangenlänge:0
    RX bytes:10582 (10.3 KiB) TX bytes:10582 (10.3 KiB)

    ppp0 Link encap:Punkt-zu-Punkt-Verbindung
    inet Adresse:100.74.102.160 P-z-P:10.64.64.64 Maske:255.255.255.255
    UP PUNKTZUPUNKT RUNNING NOARP MULTICAST MTU:1500 Metrik:1
    RX packets:70 errors:0 dropped:0 overruns:0 frame:0
    TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
    Kollisionen:0 Sendewarteschlangenlänge:3
    RX bytes:5388 (5.2 KiB) TX bytes:4973 (4.8 KiB)

    wwan0 Link encap:Ethernet Hardware Adresse 02:50:f3:00:00:00
    inet Adresse:169.254.12.135 Bcast:169.254.255.255 Maske:255.255.0.0
    inet6-Adresse: fe80::edd:24ae:b709:88d8/64 Gültigkeitsbereich:Verbindung
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
    Kollisionen:0 Sendewarteschlangenlänge:1000
    RX bytes:0 (0.0 B) TX bytes:13169 (12.8 KiB)

    Die Clients im LAN haben 192.168.178.x Adressen und als Default GW die Raspi 192.168.168.10er Adresse.
    Wie oben gesagt, der Raspi soll als UMTS Internet Router fungieren.

    Danke schon mal im Voraus für Tipps, Lösungen ….

    Gruss

    Peter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.