Problem mit Qualcomm Gobi 2000 unter Linux [gelöst]

subanomic

New member
Themenstarter
Registriert
28 Sep. 2010
Beiträge
8
Hallo zusammen!

Ich habe ein Thinkpad T410 gekauft und ArchLinux drauf installiert. Das Gerät enthält ein Qualcomm Gobi 2000 als UMTS Modem.
Nun habe ich folgende Anweisungen befolgt: http://www.thinkwiki.org/wiki/Qualcomm_Gobi_2000 (bis Abschnitt "Modem" einschließlich)
Meine Kernel Version ist 2.6.35.6.

dmesg gibt folgendes aus (der für mein Problem relevante Teil):
Code:
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for Qualcomm USB modem
qcserial 2-1.4:1.1: Qualcomm USB modem converter detected
usb 2-1.4: Qualcomm USB modem converter now attached to ttyUSB0
usbcore: registered new interface driver qcserial
EXT3-fs (dm-0): using internal journal
Adding 4195324k swap on /dev/sda6.  Priority:-1 extents:1 across:4195324k 
usb 2-1.4: USB disconnect, address 3
qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0
qcserial 2-1.4:1.1: device disconnected
usb 2-1.4: new high speed USB device using ehci_hcd and address 4
qcserial 2-1.4:1.2: Qualcomm USB modem converter detected
usb 2-1.4: Qualcomm USB modem converter now attached to ttyUSB0

Was ich hier schon merkwürdig finde ist, dass nach dem Erzeugen des Swap Space das Gerät disconnected und dann wieder attached wird. Naja, auf jeden Fall sieht es insgesamt ganz gut aus. /dev/ttyUSB0 wird auch korrekt erzeugt.

Nun habe ich wvdial installiert und mit wvdialconf eine Konfigurationsdatei erzeugen lassen. Als ich wvdial starten wollte und es sich beschwert hat, dass Phone, Username und Password nicht gesetzt sind, habe ich diese drei Werte entsprechend nachgetragen:
Code:
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
NNew PPPD = yes
Phone = *99#
ISDN = 0
Password = t-mobile
Username = t-mobile
Modem = /dev/ttyUSB0
Baud = 9600

Wenn ich nun wvdial starte, ereignet sich folgendes:
Code:
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT 7200000
--> Carrier detected.  Waiting for prompt.
--> Connected, but carrier signal lost!  Retrying...
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
--> Sending: ATDT*99#
--> Waiting for carrier.
--> Timed out while dialing.  Trying again.
^CCaught signal 2:  Attempting to exit gracefully...
--> Disconnecting at Tue Sep 28 22:48:26 2010

Offenbar wird das Modem korrekt initialisiert. Den Teil danach verstehe ich allerdings nicht so ganz.
Wenn ich es danach nochmal versuche, dann ist die Ausgabe schon eine andere:

Code:
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
--> Sending: ATQ0
--> Re-Sending: ATZ
--> Modem not responding.

Ich habe nachgeprüft: Es läuft kein Prozess, der das Modem benutzen könnte. Man kann es so oft ausprobieren wie man will, die Ausgabe ist immer die gleiche. Nichtmal ein reboot ändert das. Die einzige Lösung ist, das Thinkpad komplett auszuschalten und dann wieder einzuschalten, dann ist die Ausgabe von wvdial wieder die erste.
Offenbar begibt sich das Modem nach dem ersten wvdial in einen Zustand, in dem es nicht mehr ansprechbar ist. Ein Reset findet scheinbar nur bei einem kompletten Ausschalten des Gerätes statt.

Kann sich das irgendjemand erklären? Hat jemand evtl. schonmal das Gerät unter Linux zum Laufen gekriegt?

Danke im Voraus für eure Hilfe!

Gruß
Daniel
 
subanomic' schrieb:
Nun habe ich folgende Anweisungen befolgt: http://www.thinkwiki.org/wiki/Qualcomm_Gobi_2000 (bis Abschnitt "Modem" einschließlich)

Modem

After firmware is loaded, the modem is exposed over USB as id 05c6:9205 which can be accessed as a character (TTYUSB) device under Linux using the qcserial (modified to include correct USB IDs). Normal dial-up software can be used to create a 3G connection.

GPS

With a small kernel patch (submitted upstream: http://marc.info/?l=linux-kernel&m=128534473802312&w=2) two additional serial ports are available: Diagnostics Monitor and NMEA GPS. The three serial ports are:

# /dev/ttyUSB0 -> Diagnostics
# /dev/ttyUSB1 -> 3G Modem
# /dev/ttyUSB2 -> NMEA GPS port
 
Wie ich schon sagte habe ich die Anleitung nur bis zum Abschnitt "Modem" befolgt. Den Kernel Patch, der daraus drei Devices macht, habe ich nicht eingespielt, von daher ist /dev/ttyUSB0 schon richtig.
 
Hast Du überprüft, daß die (richtige) Firmware korrekt geladen wurde, sprich die USB-ID im Modem-Modus ist (xxxx:9205)?

@fishmac: Danke für den Link zum Thema Gobi+GPS!
 
Hast Du überprüft, daß die (richtige) Firmware korrekt geladen wurde, sprich die USB-ID im Modem-Modus ist (xxxx:9205)?

@fishmac: Danke für den Link zum Thema Gobi+GPS!
sudo lsusb | grep Qualcomm sagt
Bus 002 Device 003: ID 05c6:9205 Qualcomm, Inc.

Als ich die ganze Prozedur noch nicht abgehandelt hatte bzw. wenn ich die udev rule für das Gerät entferne und das Thinkpad neu starte, dann ist es 9204 statt 9205. Also wird die Firmware wohl geladen. Ob das korrekt geschieht, kann ich nicht sagen. Meine Firmware in /lib/firmware/gobi ist aber wohl die richtige, da die md5 Summen mit denen aus dem o.g. Link übereinstimmen.

Ich habe jetzt mal networkmanager ausprobiert. Im nm-applet wird das Gerät beim Erstellen einer "Mobilen Breitbandverbindung" gar nicht unter den Modems aufgeführt. Die Auswahlbox ist grau und darin steht "Irgendein Gerät".
 
subanomic' schrieb:
Wie ich schon sagte habe ich die Anleitung nur bis zum Abschnitt "Modem" befolgt. Den Kernel Patch, der daraus drei Devices macht, habe ich nicht eingespielt, von daher ist /dev/ttyUSB0 schon richtig.
Wenn Du keinen Bock hast, die Wiki-Seite komplett zu lesen und stattdessen lieber ein paar Stunden Fehlersuche einschieben willst ...
 
Den Patch hätte ich wohl auch gerne eingespielt. Bei mir haut das Gobi wunderbar hin. Das mit dem NMEA GPS und den Diagnostics wäre nicht übel. Nur ich habe noch nie gepatcht...... :S
 
fishmac' schrieb:
subanomic' schrieb:
Wie ich schon sagte habe ich die Anleitung nur bis zum Abschnitt "Modem" befolgt. Den Kernel Patch, der daraus drei Devices macht, habe ich nicht eingespielt, von daher ist /dev/ttyUSB0 schon richtig.
Wenn Du keinen Bock hast, die Wiki-Seite komplett zu lesen und stattdessen lieber ein paar Stunden Fehlersuche einschieben willst ...
Der Patch ist optional, hat also schon seine Richtigkeit..

subanomic' schrieb:
Was ich hier schon merkwürdig finde ist, dass nach dem Erzeugen des Swap Space das Gerät disconnected und dann wieder attached wird. Naja, auf jeden Fall sieht es insgesamt ganz gut aus. /dev/ttyUSB0 wird auch korrekt erzeugt.
An der Stelle wird wohl die Firmware geladen, woraufhin sich die Karte unter Verwendung selbiger neu startet :)

Hab übrigens das gleiche Problem, ich weiß aber dass es schonmal ging, aber nichtmehr ob jetzt unter Arch oder unter Ubuntu davor, oder was ich verändert hab seitdem es nichtmehr geht, weil ich UMTS nicht sonderlich oft nutze..
Was ich weiß, ist dass ich irgendwann ein BIOS Update gemacht habe, also hab ich auf den Bug getippt wo öfters mal nach einem BIOS Update UMTS nicht mehr richtig funzt, was hier im Forum schon besprochen wurde. Aber die WLAN/UMTS deaktiviererei hatte leider auch keinen Erfolg..
 
Dann hat er nicht die richtige Firmware geladen! Ich habe bereits hier beschrieben welche man nehmen sollte. Ich denke mal das ist sein Problem.
 
Hi zusammen,

so, ich bin einen Schritt weiter. Dank CarPads Hinweis und linrunners Wiki Artikel habe ich nun die richtige Firmware geladen (ich hatte vorher in der Tat die falsche). Und siehe da, meine Karte wird vom NetworkManager erkannt. Allerdings gibt es immernoch Probleme.

Hier die jetztige Situation: Ich habe nun noch den Kernel Patch eingespielt, der daraus 3 Devices macht. Nach dem Booten steht folgendes in meiner /var/log/messages in Bezug auf die Karte (der erste Teil mag irrelevant sein, aber sicher ist sicher):
Code:
Sep 30 01:48:51 localhost modem-manager: (ttyUSB0) opening serial device...
Sep 30 01:48:51 localhost modem-manager: (ttyUSB1) opening serial device...
Sep 30 01:48:51 localhost modem-manager: (ttyUSB2) opening serial device...
[...]
Sep 30 01:48:56 localhost modem-manager: (ttyUSB1) closing serial device...
Sep 30 01:48:57 localhost modem-manager: (ttyUSB1) opening serial device...
Sep 30 01:48:57 localhost modem-manager: (Gobi): GSM modem /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4 claimed port ttyUSB1
Sep 30 01:48:58 localhost modem-manager: (ttyUSB1) closing serial device...
Sep 30 01:49:06 localhost modem-manager: (ttyUSB0) closing serial device...
Sep 30 01:49:06 localhost modem-manager: (ttyUSB0) opening serial device...
Sep 30 01:49:07 localhost modem-manager: (ttyUSB2) closing serial device...
Sep 30 01:49:07 localhost modem-manager: (ttyUSB2) opening serial device...
[...]
Sep 30 01:49:09 localhost modem-manager: (ttyUSB0) closing serial device...
[...]
Sep 30 01:49:13 localhost modem-manager: (ttyUSB2) closing serial device...
Sep 30 01:49:13 localhost NetworkManager[2088]: <warn> (ttyUSB1): failed to look up interface index
Sep 30 01:49:13 localhost NetworkManager[2088]: <info> (ttyUSB1): new GSM device (driver: 'qcserial' ifindex: -1)
Sep 30 01:49:13 localhost NetworkManager[2088]: <info> (ttyUSB1): exported as /org/freedesktop/NetworkManager/Devices/2
Sep 30 01:49:13 localhost NetworkManager[2088]: <info> (ttyUSB1): now managed
Sep 30 01:49:13 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 1 -> 2 (reason 2)
Sep 30 01:49:13 localhost NetworkManager[2088]: <info> (ttyUSB1): deactivating device (reason: 2).
Sep 30 01:49:13 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 2 -> 3 (reason 0)

Wenn ich nun versuche, mich über den NetworkManager zu verbinden (angelegtes T-Online Profil, die Karte wurde ja korrekt erkannt), dann schlägt das fehl (dauert nur 2 Sekunden, dann erscheint die Meldung "Verbindung getrennt"); folgendes steht dann in der /var/log/messages:
Code:
Sep 30 01:55:44 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) starting connection 'T-mobile (D1) Vorgabe 1'
Sep 30 01:55:44 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 3 -> 4 (reason 0)
Sep 30 01:55:44 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 1 of 5 (Device Prepare) scheduled...
Sep 30 01:55:44 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 1 of 5 (Device Prepare) started...
Sep 30 01:55:44 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 1 of 5 (Device Prepare) complete.
Sep 30 01:55:44 localhost modem-manager: (ttyUSB1) opening serial device...
Sep 30 01:55:44 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (disabled -> enabling)
Sep 30 01:55:45 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (enabling -> enabled)
Sep 30 01:55:45 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (enabled -> registered)
Sep 30 01:55:45 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (registered -> connecting)
Sep 30 01:55:45 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (connecting -> connected)
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 2 of 5 (Device Configure) scheduled...
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 2 of 5 (Device Configure) starting...
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 4 -> 5 (reason 0)
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 2 of 5 (Device Configure) successful.
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 3 of 5 (IP Configure Start) scheduled.
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 2 of 5 (Device Configure) complete.
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 3 of 5 (IP Configure Start) started...
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 5 -> 7 (reason 0)
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> starting PPP connection
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> pppd started with pid 2188
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 3 of 5 (IP Configure Start) complete.
Sep 30 01:55:45 localhost pppd[2188]: Plugin /usr/lib/pppd/2.4.5/nm-pppd-plugin.so loaded.
Sep 30 01:55:45 localhost kernel: PPP generic driver version 2.4.2
Sep 30 01:55:45 localhost kernel: NET: Registered protocol family 10
Sep 30 01:55:45 localhost kernel: lo: Disabled Privacy Extensions
Sep 30 01:55:45 localhost kernel: ADDRCONF(NETDEV_UP): eth0: link is not ready
Sep 30 01:55:45 localhost kernel: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Sep 30 01:55:45 localhost pppd[2188]: pppd 2.4.5 started by root, uid 0
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 7 -> 9 (reason 5)
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> Marking connection 'T-mobile (D1) Vorgabe 1' invalid.
Sep 30 01:55:45 localhost NetworkManager[2088]: <warn> Activation (ttyUSB1) failed.
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 9 -> 3 (reason 0)
Sep 30 01:55:45 localhost NetworkManager[2088]: <info> (ttyUSB1): deactivating device (reason: 0).
Sep 30 01:55:45 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (connected -> disconnecting)
Sep 30 01:55:45 localhost pppd[2188]: Exit.
Sep 30 01:55:49 localhost modem-manager: Modem /org/freedesktop/ModemManager/Modems/0: state changed (disconnecting -> registered)

Wenn ich es dann nochmal versuche, schlägt es erst nach ca. 30 Sekunden fehl und folgendes steht in der /var/log/messages:

Code:
Sep 30 01:58:39 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) starting connection 'T-mobile (D1) Vorgabe 1'
Sep 30 01:58:39 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 3 -> 4 (reason 0)
Sep 30 01:58:39 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 1 of 5 (Device Prepare) scheduled...
Sep 30 01:58:39 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 1 of 5 (Device Prepare) started...
Sep 30 01:58:39 localhost NetworkManager[2088]: <info> Activation (ttyUSB1) Stage 1 of 5 (Device Prepare) complete.
Sep 30 01:59:02 localhost NetworkManager[2088]: <warn> GSM connection failed: (32) Serial command timed out
Sep 30 01:59:02 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 4 -> 9 (reason 1)
Sep 30 01:59:02 localhost NetworkManager[2088]: <info> Marking connection 'T-mobile (D1) Vorgabe 1' invalid.
Sep 30 01:59:02 localhost NetworkManager[2088]: <warn> Activation (ttyUSB1) failed.
Sep 30 01:59:02 localhost NetworkManager[2088]: <info> (ttyUSB1): device state change: 9 -> 3 (reason 0)
Sep 30 01:59:02 localhost NetworkManager[2088]: <info> (ttyUSB1): deactivating device (reason: 0).

So wie ich das sehe, gibt es momentan zwei Probleme: 1) Ein Verbindungsaufbau schlägt fehl, 2) Nach dem ersten Fehlversuch begibt sich die Karte in einen Zustand, in dem sie nicht mehr ansprechbar / reaktivierbar ist außer durch ein komplettes Ausschalten und Wiedereinschalten des Systems.

An dieser Stelle sollte ich vielleicht noch erwähnen, dass ich nicht den Kernel Patch eingespielt habe, der in 2.6.32 laut dem Wiki Artikel notwendig sei. Aber wenn die Firmware schon korrekt geladen wird und die Karte im NetworkManager erkannt wird, dann schließe ich daraus, dass es bei meiner Kernel Version (2.6.35) wohl nicht mehr nötig ist, den Patch einzuspielen?

Ich hoffe jemand kann etwas mit den Logs anfangen.

Gruß
Daniel
 
@Daniel: Welcher Verbindungsdaten hast du eingegeben? Wenn die nicht genau stimmen ist eh Essig. Ich kenne mich mit T-Mobil nicht aus, ich habe Vodafone und zuerst auch mal den falschen Tarif eingetragen und da ging gar nichts. Schau doch mal hier im Forum nach. Da gibt es einen Thread über UMTS viell. hilft dir das ja weiter.

Gruß Carpad
 
linrunner' schrieb:
@CarPad: warte nur ein Weilchen ... :D
@linrunner: dann kommt der patch auch zu dir... ;)

Fritz lebt!!!! :cursing: :D

Was das patchen betrifft da gibt es ja tausende Artikel. Ich schmöker wohl besser mein Linux Zeitschriften durch um mich da mal schlau zu machen das verwirrt nicht so. Und ich kann dann auch mal mitreden. :D
 
@Daniel: Schau mal hier, für T-Mobile gibt es eine spez. Datei die du viell. nach /lib/firmware/gobi kopieren solltest.
Gobi
 
Also in meinem X201 mit Gobi laeuft unter Arch seit 2.6.35 wenn ich mich recht erinnere alles ohne patchen (ohne GPS) bei 2.6.34 brauchte es afaik noch die von Hand eingetragene device id im qcserial.c file, also wenn ihr Arch benutzt, einfach mal den Testing Kernel installieren. Ich verwende wvdial:


[Dialer Defaults]
Init2 = ATQ0 V1 E1 +FCLASS=0
Modem Type = USB Modem
Phone = *99***1#
ISDN = 0
Init1 = ATZ
Modem = /dev/ttyUSB0
Baud = 460800
Dial Command = ATD
New PPPD = yes

[Dialer umts-pin]
Init3 = AT+CPIN=

[Dialer umts]
Dial Command = ATD
;Carrier Check = no
Phone = *99***1#
Password = surfo2
Username = surfo2
Stupid Mode = 1
Init4 = AT+CGDCONT=1,"IP","surfo2"

Die md5sums der Firmware:

1aa5727b034dd1f371a3412d5800c1a3 UQCN.mbn

84d002b0ef003cde6c95826bfbf067fe amss.mbnd
7496085f1af3d1bfdf0fa60c3222766 apps.mbn


Cheers!
 
@CarPad: Also ich habe im NetworkManager das Profil für T-Mobile automatisch erstellen lassen. Mit der selben SIM Karte habe ich auch auf einem anderen Rechner unter Ubuntu das Profil mit den selben Verbindungsdaten erzeugt und es funktioniert.
Die richtige Firmware für T-Mobile habe ich auch.
 
Unter Ubuntu 10.10 klappt es mit der gleichen Firmware hab ich grade festgestellt, fragt sich nur wieso..
 
Nach ein bisschen Recherche und Rumprobieren konnte ich das Problem nun lösen. Mir fehlte ein Kernel Modul:
Code:
Device Drivers ->
    Network device support  --->
        <M> PPP support for async serial ports
 
Sorry, ich habe nicht allzuviel Ahnung und bin auch kein Linux-Fuchs aber dein ppp-Problem ist schon merkwürden! Normalerweise ist alles was ppp Betrifft bei Ubuntu an Bord.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben