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...
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...
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.
Es müssen 2 Dateien eingerichtet werden und eine muss angepasst werden:
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.
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.
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.
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...