Silmor . de
Site Links:
Impressum / Publisher

UMTS mit USB-Modem und E-Plus

Sehr viele UMTS-Provider stellen inzwischen auf USB-basierte Modems um, was meine alte Anleitung nahezu nutzlos macht...

Üblicherweise identifizieren sich diese Geräte zunächst als Speichermedium. Man findet darauf die Treiber für Windows und manchmal MacOS/X. Richtige Betriebssysteme (Linux, *BSD) brauchen halt keine Treiber...

Leider sind einige Geräte so gebaut, dass man erst eine obskure USB-Sequenz schicken muss, damit sich das Modem aktiviert. Nicht so beim XSPlugP3 von 4G Systems. Man drückt hier einfach den Knopf und los geht es...
modem.jpg

Dieses spezielle Modem benutzt zwei USB-Stecker. Das USB-Protokoll an sich funktioniert über jeden der beiden auch allein, aber es werden zwei eingesetzt um sicherzugehen, dass genug Strom vorhanden ist, falls die Sendeleistung auf Maximum geschaltet werden muss.

Da es inzwischen auch bezahlbare echte Flatrates (z.B. Base von EPlus) gibt habe ich ein zweites Experiment gewagt...

Modem einrichten

Zunächst muss die SIM-Karte eingesteckt werden. Das braucht ein wenig Geduld und lange Fingernägel - ein klares Minus für nervöse Geeks!

Das Modem meldet sich als ACM-Device (Abstract Control Model), eine Geräteklasse, die z.B. auch für ISDN-Modems benutzt wird. Die Schnittstelle ist also (Linux) /dev/ttyACM0.

Zunächst muss die Karte auf den Provider initialisiert werden: am einfachsten borgt man sich einen Windows- oder MacOS-Rechner und wählt sich dort einmal kurz ein. Danach sind alle notwendigen Daten auf der Karte gespeichert. Leider war es mir noch nicht möglich herauszufinden was exakt dabei eingerichtet wird, um es mit Minicom nachstellen zu können. (Tipps sind willkommen.)

Die SIM-Karten sind ab Werk so konfiguriert, dass man erst eine PIN eingeben muss, um sie zu aktivieren. Das kann man mit Minicom oder einem Script machen (Device=/dev/ttyACM0, Geschwindigkeit=460800) oder man schaltet die PIN-Abfrage ab.

Mit Minicom kann man diese Befehle nutzen:

AT+CPIN? Abfrage, ob PIN nötig ist
AT+CPIN="1234" PIN eingeben (1234 durch eigene PIN ersetzen)
AT+CLCK="SC",0,"1234" PIN-Abfrage abschalten (1234 ersetzen)

Alternativ zur AT-Sequenz legt man die Karte einfach in ein Handy und schaltet dort die PIN ab oder man benutzt nochmal kurz (widerwillig) Windows und schaltet die PIN-Abfrage in der mitgelieferten Software ab.

Eine weitere Schwierigkeit die auftreten kann ist, dass es manchmal 1-2 Tage dauern kann bis die Karte auf Providerseite wirklich aktiviert wird. In dem Fall startet der PPP-Daemon, aber das Modem legt auf sobald die Verbindungsparameter ausgehandelt sind.

PPP einrichten

Es müssen 2 Dateien eingerichtet werden und eine muss angepasst werden:

PPP Script

Die Datei /etc/ppp/peers/EPLUS enthält bei mir das PPP Einwahlscript:

hide-password 
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/EPLUS"
debug
/dev/ttyACM0
460800
defaultroute
noipdefault 
user "eplus"
mtu 1500
mru 1500
idle 300
nobsdcomp
noccp
ipcp-accept-local
ipcp-accept-remote
noipdefault
novj
novjccomp 
nomagic
usepeerdns

hide-password das Passwort wird nicht im Log angezeigt
noauth die andere Seite muss sich nicht authentifizieren
connect ... das Script, um das Modem zu aktivieren
debug alle Details mitloggen, wichtig für Diagnosen
/dev/ttyACM0 Modemdevice
460800 Pseudo-Baud-Rate, die funktioniert ;-)
defaultroute allen Internettraffic über diese Verbindung
noipdefault wir wissen die IP-Adresse noch nicht
user "eplus" Nutzername für Authentifikation
mtu, mru Paketgrößen
idle 300 maximal 5 Minuten Pause, dann auflegen
nobsdcomp, noccp keine Datenkompression
novj, novjccomp keine Headerkompression
ipcp-accept-* akzeptiere die IP-Adressen, die vorgeschlagen werden
nomagic keine Magic-Numbers benutzen
usepeerdns DNS Server übernehmen

Wie man sieht benutzt UMTS (bes. bei EPlus) eine recht rudimentäre Implementation von PPP - es werden sehr viele Features abgeschaltet.

Chat-Script

Dieses Script (/etc/chatscripts/EPLUS) stellt eine Verbindung her und versetzt das Modem in einen kommunikativen Zustand:

TIMEOUT 240
ABORT BUSY 
ABORT 'NO CARRIER' 
ABORT VOICE 
ABORT 'NO DIALTONE' 
ABORT 'NO DIAL TONE' 
ABORT 'NO ANSWER' 
ABORT DELAYED
ABORT ERROR
# modeminit
'' ATZ
OK "ATE0V1"
# ispnumber
OK "ATD*99#"
# ispconnect
"CONNECT" ""

TIMEOUT bestimmt wie lange auf eine Antwort vom Modem gewartet wird
ABORT gibt alle Meldungen an, die als Fehler behandelt werden
'' ATZ initialisiert das Modem
OK ATE... wartet auf ein OK und versetzt das Modem in einen Standardmodus
OK ATD... wählt die (Pseudo-)Nummer des UMTS-Providers
CONNECT "" wartet auf die "CONNECT"-Zeichenkette und übergibt an pppd

Wenn man die PIN nicht deaktivieren will muss diese Zeile vor "OK ATD" eingefügt werden:

OK "AT+CPIN=\"1234\""

mit "1234" durch die richtige PIN ersetzt.

PAP-Secret

Jetzt muss noch der "User" in /etc/ppp/pap-secrets hinterlegt werden:

eplus * eplus

Dies ist ein Pseudonutzer für diesen Provider. Die Abrechnung wird über die Kennung der SIM-Karte gemacht.

Los geht's!

Ein beherztes pon EPLUS sollte uns jetzt verbinden (der Verbindungsaufbau kann ein paar Sekunden dauern).

Vorher sollte man sich natürlich noch ein paar Gedanken über eine Firewall machen...


Webmaster: webmaster AT silmor DOT de