Pberndt V4

Direkt zum Inhalt springen


Huawei-Modem von O2 und Linux

Huawei-Modem von O2 und Linux (03.04.2010)

Huawei E1550 Ich habe von Alice einen netten Brief bekommen, dass sie mir einen Surfstick von O2 schenken. Das ist natürlich sehr nett, habe ich mir gleich abgeholt. Es handelt sich um einen HUAWEI E1550 Stick, der von Linux als serielles USB-Modem erkannt wird und daher ohne weiteres funktioniert. Im Network-Manager von Ubuntu ist allerdings ein falscher APN voreingestellt (es geht auch mit dem, der voreingestellt ist, aber das kann dann natürlich mehr kosten) - der richtige ist pinternet.interkom.de.

Dummerweise gibt es für Linux keine mitgelieferte Software, die das Aufladen der Prepaid-Karte erlauben würde. Überhaupt: Das einzige Softwareprojekt, das in die Richtung geht, heißt ixconn, ist aber nicht Open-Source (aber Freeware) und mir daher suspekt ;-) Die Windowssoftware funktioniert in VirtualBox leider nur willkürlich - meistens eher nicht - mit nicht nachvollziehbarem Grund für das Verweigern der Aktivität.

Ich wusste noch von meinem alten Handy, dass das Aufladen meist über eine Service-Nummer funktioniert. Das muss doch auch irgendwie per serieller Konsole gehen... die Windows-Software, VirtualBox und WireShark (das kann mittlerweile USB mitschneiden, sehr nett) haben zusammen ergeben, dass es um AT+CUSD-Befehle geht. Das Huawei-Modem kodiert die Nummern in einem bestimmten Code, PDU genannt, zu dem ich nach einiger Zeit eine tolle Anleitung gefunden habe.

Daraus und mithilfe von einer ausführlichen Liste von Befehlen habe ich ein kleines Programm geschrieben, dass per CUSD den Kontostand abfragen und aufladen kann. Dank einer Hilfe auf Developershome.com kann das Programm auch empfangene SMS lesen.

Wie (fast) immer bei meinen Scripts braucht man zur Ausführung Python, PyGTK und diesmal auch PySerial. Zum Download geht es hier.

Damit macht unterwegs surfen nun richtig Spaß :-) Danke an Alice und O2 für das nette Geschenk. Und an die Ersteller der verlinkten Seiten für das Abnehmen von viel Arbeit beim Reverse Engineering.