Qualcomm Gobi 2000 unter Linux installieren

Aus ThinkPad-Wiki

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:

  1. Man kann, wie in diesem Thread beschrieben, die Kernelquellen patchen und drei Kernelmodule sowie den Gobi Loader kompilieren und installieren.
  2. 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.
  3. 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.

Installation für andere Linux-Distributionen

- wartet noch auf eifrige Wiki-Schreiber ;-) -

Erfolgskontrolle

Das in ThinkPads verbaute Modell der Karte ist im Output von

lsusb

an der USB ID

  • 05c6:9204 ... (QDL mode) (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 in Ubuntu 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.

Links

Quellen