Internet auf dem Stick: MC950D und T@ke Away von Sunrise unter Linux

Internet zum mitnehmen

MC950DDank dem Asus eee Schnucklteil wäre ich eigentlich mobil. Die Tatsache, dass ich ziemlich oft im Zug unterwegs bin musste als Ausrede herhalten meinen Ogo zu kündigen und mir stattdessen T@ke Away von Sunrise zu kaufen.
T@keAway kostet zuerst mal CHF 10 Grundpauschale. Man erhält ein Modem – wahlweise ein Novatel Ovation MC950D (der Stick) oder ein Huawei E220 – mit dem man dann mobil UMTS/EDGE mässig ins Internet kann. Pro Tag kostet es jeweils noch CHF 3.50, aber ohne Transferbeschränkung.

Swisscom hat ein Konkurrenzangebot (Internet Mobile Unlimited). Es kostet auch 10 CHF Grundpauschale, aber 4.50 CHF und somit 1 CHF mehr pro online-Tag. Der Vorteil ist die Upgrademöglichkeit zu einer volumenabhängigen Flatrate.

Das Einkaufen war problemlos. Ein sehr netter Verkäufer im Sunriseshop hat mich sehr speditiv und freundlich bedient. Ganz überrascht ob so viel Freundlichkeit – man hatte das Gefühl, sein Job macht ihm Spass – habe ich glatt für ein paar Minuten vergessen den Miesepeter rauszuhängen und wollte aus Freude fast noch etwas kaufen. Die Stühle standen aber nicht zum Verkauf und so habe ich meine Dinge getakeawayt und bin zügig nach Hause um den Stick in Betrieb zu nehmen.

Das MC950D Modem

Aussehen tut das MC950D Modem wie ein geschwollener Memorystick. Die SIM Karte kann vorne reingeschoben werden. Für zerstreute Hektiker wie mich ist der Deckel etwas problematisch, da er einen gewissen Fluchtreflex besitzt und gerne verloren gehen möchte.

Hier noch eine kleine Anleitung, wie ich die fröhlichen Lichtsignale der LED auf dem Stick interpretiere:

Rot: CD-Modus
Rot blinkend: Kein UMTS, aber ein EDGE wäre möglich
Violet: Verbunden über Edge
Blau blinkend: UMTS ist in der Luft
Blau blinkend: Verbunden über UMTS

Der Wechsel zwischen EDGE und UMTS passiert jeweils selbständig und automatisch.

Installation

Unter eeeXubuntu/Ubuntu

Dies ist eine kompakte Anleitung, ohne all die verlockenden Irrwege die ich beschritten habe. Nur soviel: Falscher Treiber und man hat das Gefühl, es sei eine Schnecke Inside, bzw ein Vogel ins UMTS-Wirelesskabel geflogen. Ausgetestet funktionieren tut es wunderbar für eeeXubuntu und Debian.

Zum Päckli hinzu bekommt man auch eine SIM-Karte (noch ein paar Wenige mehr und ich hab ein ganzes Kartenspiel zusammen 🙂 ). Obwohl es Anleitungen gibt, wie man die Karten-PIN bei Benutzung automatisch eingibt, wollte ich dieser Hürde komplett aus dem Weg gehen. Dies funktioniert ziemlich einfach indem man das Kärtsche ins Phone würgt und dort drin die PIN deaktiviert.

Kernel

Als Nächstes muss man den Linux Kernel auf den Stick vorbereiten. Er denkt zwar, er könne schon, aber er täuscht sich. Im Moment kriegt er nur die obengenannte Schnarchverbindung zustande. Das Zauberwort heisst Airprime, doch das denkt, es könne nicht, und wir müssen den Treiber etwas verändern. Eine Anleitung gibt es bei Stimpyrama. In einer teuflischen Fiesheit haben sie dort auf der Website in den Codesnippets einige Zeichen durch fast gleichaussehende Andere zu ersetzt, wahrscheinlich um die Anwender in den Wahnsinn zu treiben und so die Weltherrschaft an sich zu reissen. Hier die korrigierte Version.

Wohlgemut:

# Treiberquellen und Werkzeuge herunterladen
apt-get install linux-headers-`uname -r` linux-source-`uname -r | cut -d"-" -f1` build-essential gcc
# Entpacken
cd /usr/src
tar xvfj linux-source-`uname -r | cut -d"-" -f1`.tar.bz2
cd linux-source-`uname -r | cut -d"-" -f1`/drivers/usb/serial

Nun muss man die Datei airprime.c anpassen. Eine Zeile, die in 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 */
        { },
};

muss man um Folgendes ergänzen:

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 */
        { },
};

Fröhlich kompiliert das Ganze:

make -C /lib/modules/`uname -r`/build M=`pwd`

Und alles ans richtige Ort kopiert:

cp airprime.ko /lib/modules/`uname -r`/kernel/drivers/usb/serial/
depmod -a

Und nun eventuell rebooten.

Original Xandros

Mit dem Originallinux habe ich leider keine direkten Erfahrungen. In der Schweiz wird von einem Telekomanbieter aber der eee direkt mit dem Stick im Kombi angeboten. Es müsste also gehen. Wenn wirklich eine Kernelrekompilierung notwendig sein sollte, dann gibt es die bei UltraMobileGeek.

Verbindungsuafnahme

Für die Verbindungsaufnahme muss wvdial installiert sein. Wie bei Linuxmint erwähnt füge ich die Daten für Sunrise zu der Datei /etc/wvdial.conf hinzu:

[Dialer Sunrise]
Modem = /dev/ttyUSB0
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0&C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = USB Modem
Phone = *99#
Username = ''
Password = ''
Carrier Check = no
Stupid Mode = yes

Ein kleines Bash Script /usr/bin/sunrise.sh übernimmt die Aufgabe, die CD auszuwerfen, für die sich der Stick hält (keine Angst, er fliegt nicht durch die Gegend). Nach dem Auswurf benimmt er sich wie ein UMTS-Modem und ist bereit für Daten.

#! /bin/bash
ifdown eth0
eject /dev/sr0
sleep 3
wvdial Sunrise

Huh, bin ich schon drin oder was?

Troubleshooting

Problem: Kein /dev/ttyUSB0

Sollte das Modul Airprime nicht automatisch geladen werden und /dev/ttyUSB0 nicht erscheinen, könnte folgende Zeile in der Datei /etc/udev/rules.d/10-umtsstick.rules notwendig sein:

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

Das Script /usr/local/bin/start_umts_stick.sh könnte so aussehen:

#!/bin/sh

# Remove Module
modprobe -r usbserial
# modprobe -r usb-storage

# Let the kernel calm down
sleep 3

# Load the booster
modproble airprime

Weisheiten zum Schluss

Eine weitere gute Quelle ist Vodafone, die sogar einen eigenen Linuxtreiber für das Teil herausgegeben haben. Leider hatte ich keine Zeit mehr dafür.
Das Ganze ist die nächsten 3 Monate noch gratis, und das werde ich ausnutzen wie wild… Dieses Posting wurde auch unterwegs mit dem Modem geschrieben. Der Asus eee plus mobiles Internet gibt mir das Gefühl, im Jahr 2008 angekommen zu sein.

Nachtrag 15.10.2008: Switchconf kann Probleme machen (unter Debian), er findet dann die /etc/resolv.conf nicht, kann keine Nameserver hineinschreiben und man hat zwar Internet, aber die URLs können nicht aufgelöst werden. Ein möglicher Hack ist es, die Datei /etc/ppp/ip-up.d/0000usepeerdns folgenderweise abzuändern:

# follow any symlink to find the real file
#REALRESOLVCONF=$(readlink --canonicalize /etc/resolv.conf)
REALRESOLVCONF="/etc/resolv.conf"

Update 13.11.2008: Nun geht es auch noch einfacher (vielen Dank Case). Das Ganze kann in Ubuntu über den ultrakomfortablen Networkmanager abgehandelt werden, wenn man vorgeht wie im Forum beschrieben:

  1. udev Regel erstellen wie im Linuxmint Forum beschrieben: Datei /etc/udev/rules.d/80-umts_stick.rules erstellen mit: SUBSYSTEM=="block",ATTRS{vendor}=="Novatel",ACTION=="add",RUN+="/usr/bin/eject %k".
  2. Moduloptionen übergeben. In Datei /etc/modprobe.d/options die Zeile options usbserial vendor=0x1410 product=0x4400 ergänzen.
  3. Der Networkmanager sollte nun weiterwissen. Sonst hilft auch die Originalanleitung.

5 Gedanken zu “Internet auf dem Stick: MC950D und T@ke Away von Sunrise unter Linux

  1. Hey skaldrom!

    Vielen Dank für deine Anleitung… Leider kann ich damit nichts anfangen (ich bin mit Windows verzogen worden … 🙁 ).

    Ich habe auch einen Sunrise Novatel USB-Stick und einen Asus eee … Würdest du mir, selbstverständlich gegen Bezahlung, diese Anpassung vornehmen, damit ich sunrise mobile auf dem Asus nützen kann? Ich wohne in Zürich.

    Beste Grüsse

  2. bei mir funktioniert es gar nicht mit dem eee pc. Ich kann schon gar kein airprime herunterladen,da das System sagt dass es keinen passenden kernel gibt mit apt-get und 2.6.21.4 und kernel mit 2.6.21.4-eeepc.
    Ich bastle schon länger an diesem Problem herum.Hat jemand irgend eine Idee?

  3. Hi!

    Danke für Deine Anleitung/Bestätigung; auch bei mir klappt’s 🙂

    Nur eine Kleinigkeit noch: Wie bekommt man’s wohl hin, das die /etc/resolv.conf aktualisiert wird?

    Tschö,
    Alexander

Schreibe einen Kommentar

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