INHALT
MEDIONmobile web stick S4001 - ALDI-Talk - USSD
Unter MS Windows wird laut Anleitung beim ersten Einstecken der Surfstick zunächst als CD erkannt und eine Software installiert mit der man zwischen Prepaid, einer Tagesflatrate und der 30-Tage-Flatrate wählen kann. Erst nach der Installation identifiziert sich der Surfstick als UMTS-modem.
Der Surfstick der sich bei genauerem Hinschauen (Stichwort: lsusb) als Huawei E220 HSDPA Modem entpuppt kann zwar unter Linux ohne große Probleme in Betrieb genommen werden (bei mir funktionierte er out-of-the-box) allerdings steht einem die Software und damit die Auswahl zwischen den verschiedenen Bezahloptionen nicht unmittelbar zur Verfügung.
Die Tagesflatrate und den Prepaid-Modus kann man über den APN einstellen:
APN: tagesflat.eplus.de (Tagesflatrate)
APN: internet.eplus.de (Prepaid & 30-Tage-Flatrate)
Jetzt stellt sich nur noch die Frage wie man zum Prepaid noch die 30-Tage-Flatrate dazu bucht. Denn offensichtlich verwenden beide den selben APN.
Laut einschlägigen Foren gibt es bei ALDI-Talk folgende USSD-Codes:
*104*16StelligerCode# |
Aufladen des Guthabends |
*100# |
Guthabensabfrage |
*121*004# |
30-Tage-Flatrate buchen |
*122# |
Kündigung der gewählten Option |
*123# |
Statusabfrage |
http://www.prepaid-wiki.de/index.php5?title=ALDI_TALK#30-Tage-Internet-Flatrate
Man könnte die SIM-Karte auch in den SIM-Slot eines Handys legen, und damit das Guthaben abfragen, die 30-Tage-Flatrate buchen usw. Aber schöner ist es natürlich wenn diese Funktionen auch ohne ständiges hin- und her wechseln der SIM-Karte verfügbar sind. Da USSD-codes an ein UMTS-modem zu senden kein großes Hexenwerk ist (Stichwort: minicom, GtkTerm & echo) habe ich das natürlich sofort umgesetzt.
Allerdings schlugen zunächst alle Versuche USSD-codes an das UMTS-modem zu senden fehl. Bis ich den folgenden Foreneintrag fand:
http://www.eeepc.de/thread.php?threadid=7500&page=4
Offensichtlich sind die USSD-Codes bei diesem UMTS-modem PDU-formatiert (7 Bit pro Byte). Daher haben die folgenden Befehl auch prompt funktioniert und mir mein aktuelles Guthaben ausgegeben:
cat /dev/ttyUSB0 &
cat /dev/ttyUSB1 &
echo 'AT+CUSD=1,AA180C3602,15' > /dev/ttyUSB0
Die Ausgabe war natürlich auch wieder PDU-formatiert und damit zunächst einmal unlesbar.
Auf folgender Webseite habe ich dann C-Funktionen zum konvertieren von ascii zu PDU und anders herum gefunden:
http://www.nerdlabs.org/tools/pdu.php
Da vom Modem ja ein PDU-formatierter String kommt und kein echtes PDU musste die main-Funktion noch angepasst werden. Das Ergebniss könnt ihr euch hier herunter laden (im Archiv sind binaries und source-codes enthalten): PDUconv
Für folgende Funktionen habe ich Shellscripte gebastelt (die ersten Beiden in oben genanntem Forenthread gefunden):
- Guthaben abfragen
- Signalstärke abfragen
- Guthaben aufladen
- 30-Tage Flatrate buchen / kündigen
- Status abfrage (Flatrate gebucht?)
Viel Spaß damit!