Qualcomm Gobi 2000 unter Linux installieren
Einleitung
Dieser Artikel beschreibt die Einrichtung der Gobi-2000-WWAN-Karte unter Linux.
Die Karte muß bei jedem Systemstart mit der passenden proprietären Firmware geladen werden; das erledigt unter Linux der gobi-loader. Außerdem muß ein Kernel mit den notwendigen Treibern verwendet werden.
Hinweis andere Fabrikate: diese Anleitung ist (einschließlich der Paketquelle und des tp-Kernels) auch für Notebooks anderer Fabrikate in denen die Gobi-2000-Karte verbaut ist verwendbar. Bitte die Hinweise zu Abweichungen beachten.
Firmware installieren
Wichtig: die proprietäre Firmware für die Karte ist derzeit in keiner Linux-Distribution enthalten. Daher ist dieser Schritt für alle hier beschriebenen Linux-Distributionen und -Versionen durchzuführen.
Firmware beschaffen
Die Firmware kopiert man sich am einfachsten aus der vorhandenen Windows-Werksinstallation.
Benötigt werden diese Dateien:
- amss.mbn
- apps.mbn
- UQCN.mbn
Sie finden sich in den Unterverzeichnissen von C:\Program Files (x86)\QUALCOMM\Images\Lenovo\:
Unterverzeichnis | Firmwaredateien | Provider |
UMTS | amss.mbn, apps.mbn | gemeinsame Firmwaredateien |
0 | UQCN.mbn | Vodafone |
1 | amss.mbn, apps.mbn, UQCN.mbn | Verizon (spezielle Firmware) |
2 | UQCN.mbn | AT&T |
3 | amss.mbn, apps.mbn, UQCN.mbn | Sprint (spezielle Firmware) |
4 | UQCN.mbn | T-Mobile |
6 | UQCN.mbn | generisch |
7 | UQCN.mbn | Telefonica, O2 |
8 | UQCN.mbn | Telecom Italia |
9 | UQCN.mbn | Orange |
Hinweis andere Fabrikate: es wird ein anderes Basisverzeichnis bzw. eine abweichende Unterverzeichnisstruktur für die Firmware verwendet.
Firmware kopieren
Auf dem Linuxsystem ist das Verzeichnis /lib/firmware/gobi anzulegen
sudo mkdir -p /lib/firmware/gobi
Danach kopiert man zuerst die allgemeinen, anschließend die providerspezifischen Dateien dort hin
sudo cp /pfad/zur/firmware/UMTS/amss.mbn /lib/firmware/gobi/ sudo cp /pfad/zur/firmware/UMTS/apps.mbn /lib/firmware/gobi/ sudo cp /pfad/zur/firmware/6/UQCN.mbn /lib/firmware/gobi/
Kernel und gobi-loader installieren
Ubuntu
Diese Anleitung verwendet Pakete aus dem Thinkpad Extras PPA, das man so einrichtet
sudo add-apt-repository ppa:linrunner/thinkpad-extras sudo apt-get update
Ubuntu 10.04 LTS
Der in Ubuntu 10.04 enthaltene Kernel 2.6.32 enthält nicht die für die Karte notwendigen Treiber. Zur Lösung dieses Dilemmas gibt es drei Ansätze:
- Man kann, wie in diesem Thread beschrieben, die Kernelquellen patchen und drei Kernelmodule sowie den Gobi Loader kompilieren und installieren.
- Das Paket linux-backports-modules-wwan-lucid-generic (ubuntu-updates) bzw. linux-backports-modules-wwan-lucid-generic-pae aus den Ubuntu-Paketquellen installieren, wie auch in dem passenden Ubuntu-Bug LP #554099 beschrieben. Das Paket enthält bereits den Gobi Loader.
- Die fertigen Pakete aus dem oben beschriebenen Thinkpad Extras PPA installieren, siehe unten.
Folgende Pakete müssen über die Paketverwaltung installiert werden
- linux-image-generic-tp (PPA) bzw. linux-image-generic-pae-tp
- linux-headers-generic-tp (PPA) bzw. linux-headers-generic-pae-tp
- gobi-loader-tp (PPA)
Der tp-Kernel wird parallel zum Ubuntu-Standard-Kernel installiert. Will man beim Systemstart per Grub-Boot-Menü den Kernel auswählen können, so sind in /etc/default/grub diese Zeilen wie gezeigt mit '#' auszukommentieren
#GRUB_HIDDEN_TIMEOUT=0 #GRUB_HIDDEN_TIMEOUT_QUIET=true
und anschließend mit dem Befehl
sudo update-grub
zu aktivieren.
Die Installation schließt man mit einem Neustart ab.
Wichtig: wird für Ubuntu ein neuerer Kernel freigegeben, so schiebt sich dieser im Grub-Boot-Menü durch die höhere Versionnummer vor den tp-Kernel. Sobald die entsprechende Version des tp-Kernel auch im PPA bereitsteht, wird sie automatisch nachgezogen.
Ubuntu 10.10 und höher
Ab Ubuntu 10.10 enthält der Standard-Kernel die für die Karte erforderlichen Treiber. Da einige Benutzer von Problemen beim Laden der Firmware berichtet haben, empfiehlt sich statt des Pakets gobi-loader aus den Ubuntu-Quellen die modifizierte Version gobi-loader-tp aus dem PPA.
Zu installieren ist das Paket
- gobi-loader-tp (PPA)
Die Installation schließt man mit einem Neustart ab.
Erfolgskontrolle
Das in ThinkPads verbaute Modell der Karte ist im Output von
lsusb
an der USB ID
- 05c6:9204 (keine Firmware geladen)
zu erkennen.
Sobald beim Systemstart automatisch die Firmware geladen wurde, erscheint die Karte als USB ID
- 05c6:9205 (betriebsbereit)
In letzterem Fall wird die Karte bei eingelegter SIM auch im Network Manager als "Mobile Breitbandverbindung" angezeigt und es kann dort eine Verbindung mit dem gewünschten Provider eingerichtet werden (die in ThinkPads verbaute Gobi 2000 hat keinen SIM- oder Netlock).
Hinweis andere Fabrikate: es werden abweichende USB-IDs verwendet. Den firmwarelosen Zustand erkennt man hier oft am Zusatz "QDL Mode".
Ein- und Ausschalten
Die Karte kann mit Ubuntu-Bordmitteln ein- und ausgeschaltet werden
rfkill unblock wwan # an rfkill block wwan # aus
Mit TLP kann man die Karte beim Systemstart autom. deaktivieren und manuell ein- und ausschalten per
wwan on wwan off
Installiert man zusätzlich das Paket
- tp-wwan-hotkey (PPA)
aus dem Thinkpad Extras PPA, läßt sich die Karte auch per
- Fn+F6
bzw.
- F5 (Webcam-Taste) beim SL, L, Edge, X100
schalten.
Problembehebung
Firmware wird nicht geladen
Einige Benutzer berichten unter Ubuntu 10.04 und 10.10 davon, daß die Firmware beim Systemstart nicht automatisch geladen wird. Dies passiert normalerweise durch eine udev-Regel in /lib/udev/rules.d//60-gobi.rules, die aber anscheinend nicht immer funktioniert.
Symptome:
- falsche USB-ID - siehe Erfolgskontrolle
- Network Manager bietet keine Einrichtung einer "Mobilen Breitbandverbindung" an
Umgehungslösung: in einigen Fällen hat es geholfen, folgende Zeilen in /etc/rc.local aufzunehmen (vor dem "exit 0"):
sleep 10 /lib/udev/gobi_loader -2000 /dev/ttyUSB0 /lib/firmware/gobi sleep 1 pkill modem-manager
Hinweis: die obenstehende Umgehungslösung ist veraltet, das Ladeproblem sollte bereits durch das neue Paket gobi-loader-tp behoben sein.
Karte wird nicht erkannt (nur ThinkPads)
Symptom: Im Output von lsusb taucht keine der beiden unter Erfolgskontrolle aufgeführten USB IDs auf.
Lösung: Um das WWAN wieder zu aktivieren
- beim Systemstart das BIOS aufrufen - [F1] drücken, wenn die entsprechende Meldung erscheint
- "Security -> I/O Port Access" aufrufen
- die Option "Wireless WAN" auf "Enabled" setzen
- Einstellungen mit [F10] speichern und Neustart
Danach sollte die Karte erkannt werden.
Andere Linux-Distributionen
- warten noch auf eifrige Wiki-Schreiber ;-) -
Links
- Qualcomm Gobi 2000 Wireless WAN Driver - Lenovo-Treiberdownload für Windows (enthält die Firmwaredateien)