Sunrise Take-Away und Ubuntu

Mit den neuen Mobile Daten-Abos von Sunrise, Swisscom und Orange können unterwegs Download-Geschwindigkeiten von bis zu 3.6 Mbit/s erreicht werden. Ist nicht gratis, aber mit CHF 10.00 monatlich und CHF 3.50 für jeweils 24h ohne Begrenzung der Datenmenge liegt das noch im bezahlbaren Rahmen für einen Breitband-Anschluss der sich auch unterwegs nutzen lässt. Benötigt wird er eh nur dort wo keine WLAN oder LAN Anschluss zu finden ist.

Novatel USB Modem MC950dDie Verbindung wird über das in einem USB-Stick integerierte Modem Novatel Ovation MC950D hergestellt. Ausser ein- oder aus stecken kann man nicht viel machen damit. Es hat eine Status-LED welche jeweils blinkt oder bei aktiver Verbindung konstant leuchtet.

Rot: Probleme
Grün: EDGE/GPRS (50 bis max. 200 Kbps)
Blau: UMTS (max. 384 Kbps)
Gelb: HSDPA (max. 3.6 Mbits)

Als Provider wurde Sunrise (Take-Away) gewählt.

Airprime USB Modem Treiber

Ubuntu 8.04.1 erkennt zwar ein USB-Modem und es kann auch verwendet werden, allerdings werden mit diesem Standard-Treiber nur UMTS/GPRS Verbindungen mit max. 384 Kbit/s realisiert.

Das Problem liegt an einem veralteten Treiber airprime, der von Hand aktualisiert werden muss.

Dazu einiges an Werkzeug und Source-Code zur Linux Kernel-Programmierung installieren:

$ sudo apt-get install linux-headers-`uname -r` linux-source-2.6.24 build-essential gcc

Den Source-Code auspacken:

$ cd /usr/src
$ tar -jxvf linux-source-2.6.22.tar.bz2
$ cd linux-source-2.6.22/drivers/usb/serial

Nun die Datei airprime.c anpassen:

$ gksudo gedit airprime.c

Es gibt dort einen Bereich der etwa so aussieht:

static struct usb_device_id id_table [] = {
{ USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */
{ USB_DEVICE(0x413c, 0x8115) }, /* Dell Wireless HSDPA 5500 */
{ USB_DEVICE(0x0930, 0x1303) }, /* Toshiba (Novatel Wireless) HSDPA for M400 */
{ USB_DEVICE(0x106c, 0x3702) }, /* Sprint Pantech PX-500 DGE */
{ },
};

Diesen Bereich ändern, damit er dann so aussieht:

static struct usb_device_id id_table [] = {
{ USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */
{ USB_DEVICE(0x413c, 0x8115) }, /* Dell Wireless HSDPA 5500 */
{ USB_DEVICE(0x0930, 0x1303) }, /* Toshiba (Novatel Wireless) HSDPA for M400 */
{ USB_DEVICE(0x106c, 0x3702) }, /* Sprint Pantech PX-500 DGE */
{ USB_DEVICE(0xf3d0, 0x0112) }, /* AirPrime 5220 */
{ USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless Aircard 580 */
{ USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
{ USB_DEVICE(0x1199, 0x0018) }, /* Sierra Wireless MC5720 */
{ USB_DEVICE(0x1410, 0x1110) }, /* Novatel Wireless S620 */
{ USB_DEVICE(0x1410, 0x1130) }, /* Novatel Wireless S720 */
{ USB_DEVICE(0x1410, 0x2110) }, /* Novatel Wireless U720 */
{ USB_DEVICE(0x1410, 0x1430) }, /* Novatel Merlin XU870 */
{ USB_DEVICE(0x1410, 0x1100) }, /* ExpressCard34 Qualcomm 3G CDMA */
{ USB_DEVICE(0x1410, 0x4400) }, /* Novatel MC950D */
{ USB_DEVICE(0x106c, 0x3701) }, /* Audiovox PC5740 */
{ },
};

Die Datei speichern und schliessen, dann die Kernel-Module neu kompilieren:

$ sudo make -C /lib/modules/`uname -r`/build M=`pwd`
$ sudo depmod -a

Nun muss das System dazu gebracht werden den neuen Treiber beim einstecken des Mode-Sticks zu laden.

Dazu erstellen wir ein kleines Skript:

$ gksudo gedit/usr/local/bin/start_umts_stick.sh
#!/bin/sh
# Sicherheitshalber alle Module entladen, die faelschlicherweise geladen worden sein koennten.
# usb-storage automatisch und immer zu entfernen kann in manchen Faellen auch eine schlechte
# Idee sein.. ;)
modprobe -r usbserial
modprobe -r usb-storage
# Kurz warten
sleep 5
# Richtiges Modul laden
modprobe airprime

Das Skript ausführbar machen:

$ sudo chmod +x /usr/local/bin/start_umts_stick.sh

Als nächstes dem System eine Regel für dieses Gerät hinzufügen (udev), welches das obige Skript ausführt, sobald es angeschlossen und erkannt wurde:

$ gksudo gedit /etc/udev/10-umtsstick.rules

Die Geräte-Regel enthält eine einzige Zeile:

SUBSYSTEM=="usb", ATTR{idProduct}=="4400", ATTR{idVendor}=="1410", RUN+="/usr/local/bin/start_umts_stick.sh"

Damit haben wir den Treiber und die dazugehörende Systemkonfiguration abgeschlossen. Nach einem Neustart des Systems, können wir die eigentliche Datenverbindung an die Hand nehmen.

UMTSmon

UMTSmon ist ein Werkzeug um Mobile-Netzwerk Karten (GPRS, EDGE, WCDMA, UMTS, HSDPA) in einem Laptop unter Linux zu steuern und überwachen zu können. Es verwaltet PIN-Codes, Operator-Auswahl (Roaming), Signal Stärke und Netzwerk-Statistiken, sowie senden und empfangen von SMS. Aktuell ist die Version 0.8.

UMTSmon 0.8

Leider ist UMTSmon noch nicht als installierbares Paket in Ubuntu 8.04.1 vorhanden, weshalb es von Hand heruntergeladen und installiert werden muss.

Download:

$ wget http://switch.dl.sourceforge.net/sourceforge/umtsmon/umtsmon-0.8.i386.tar.gz

Entpacken:

$ tar xzf umtsmon-0.8.i386.tar.gz

In Programmordner kopieren:

$ sudo cp umtsmon-0.8/umtsmon /usr/local/bin/
$ sudo cp umtsmon-0.8/i18n/* /usr/share/umtsmon/translations/
$ sudo cp umtsmon-0.8/umtsmon-128x128.png /usr/share/icons/hicolor/128x128/apps/umtsmon.png

Berechtigung zum ausführen als Programm setzen:

$ sudo chmod 755 /usr/local/bin/umtsmon

Nun kann man das Programm mit dem Befehl umtsmon direkt starten, aber es empfiehlt sich ein Eintrag im Startmenü anzulegen.

UMTSmon Starter

Links und Quellen:

Novatel Wireless Ovation MC950D USB HSPA Modem auf DevHardware

Novatel MC950D UMTS/HSDPA-Stick und Linux auf stimpyrama.org

Sunrise “Take-Away” (Ovation MC950D) + Linux auf cablemodem.ch forum

HSDPA – High Speed Downlink Packet Access auf Elektronik Kompendium

UMTS/HSDPA Modem Befehle auf shapeshifter.se

2 thoughts on “Sunrise Take-Away und Ubuntu

  1. Ahoi! Hab Deinen Backlink in meinen stats gefunden.. (stimpyrama.org)
    Du scheinst also ein Leidensgenosse zu sein.. ;)
    Ich habe seit ich das (wirklich minimal) gepatchte airprime-modul verwende das Problem, dass manchmal, wenn die Verbindung wegbricht (nicht jedes Mal..) der ganze Rechner mit einem kernel-panic aussteigt..
    Hast Du das auch schon beobachtet?

  2. Pingback: Sierra Wireless umts stick funktioniert in ubuntu 9.10 manchmal und manchmal nicht - Linux: Linux-Forum

Hinterlasse eine Antwort

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

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>