Surfstick einrichten/e1550

Aus wiki.archlinux.de

Hinweis: Diese Seite beschreibt die Einrichtung des O2-Surfsticks Huawei e1550. Eine Übersicht über verfügbare Konfigurationsanleitungen, sowie weitere Informationen und allgemeine Hinweise zur Fehlerbehebung befinden sich auf der Hauptseite zu den Surfsticks

Der Huawei e1550 kann in verschiedenen Modi angeschlossen sein. Regulär meldet er sich sowohl als CD, als auch als Massenspeicher an. Um eine Verbindung zum Internet herzustellen, muss der Modus gewechselt werden, so dass der Stick als Modem funktioniert.

Die Einrichtung des Sticks mit umtsmon ist zum Zeitpunkt des Verfassens dieses Artikels nicht möglich.

Moduswechsel

Normalerweise meldet sich der Stick unter Windows nach einer erfolgreichen Installation des Treibers bzw. der zugehörigen Software erneut als Modem an. Dieses müssen wir unter Linux manuell tun. Diese Möglichkeit stellt die Software usb_modeswitch zur Verfügung, welche im community-Repositorium verfügbar ist.

# pacman -S usb_modeswitch

Wenn usb_modeswitch nun installiert ist, muss eine Konfigurationsdatei angelegt werden. Die Datei /etc/usb_modeswitch.conf muss mit folgendem Inhalt gefüllt werden.

# Configuration for the usb-modeswitch package, a mode switching tool for
# USB devices providing multiple states or modes
#
# This file is evaluated by the wrapper script "usb_modeswitch" in /lib/udev
# To enable an option, set it to "1", "yes" or "true" (case doesn't matter)
# Everything else counts as "disable"


# Disable automatic mode switching globally (e.g. to access the original
# install storage)

DisableSwitching=0


# Enable logging (results in a extensive report file in /var/log, named
# "usb_modeswitch_"

EnableLogging=0

DefaultVendor = 0x12d1
DefaultProduct = 0x1446
MessageEndPoint = "0x01"
MessageContent = "55534243000000000000000000000011060000000000000000000000000000"

Die Daten in der Datei könnten abweichen, funktionieren im Falle des ursprünglichen Autors aber. Um zu kontrollieren, ob der Modus-Wechsel erfolgreich war, hilft die Ausgabe von lsusb.

Bus 002 Device 005: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552 (HSPA modem)

Moduswechsel durch:

# usb_modeswitch -c /etc/usb_modeswitch.conf
Passwort: 

Looking for default devices ...
 Found devices in default mode or class (1)
Accessing device 005 on bus 002 ...
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
 OK, driver found ("usb-storage")
 OK, driver "usb-storage" detached

SCSI inquiry data (for identification)
-------------------------
  Vendor String: HUAWEI  
   Model String: Mass Storage    
Revision String: 2.31
-------------------------

USB description data (for identification)
-------------------------
Manufacturer: HUAWEI Technology
     Product: HUAWEI Mobile
  Serial No.: not provided
-------------------------
Setting up communication with interface 0 ...
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
 OK, message successfully sent
-> Run lsusb to note any changes. Bye.

Um nun zu überprüfen, ob die Aktion erfolgreich war, wird erneut lsusb aufgerufen.

Bus 002 Device 006: ID 12d1:140c Huawei Technologies Co., Ltd. 

Der Moduswechsel war also erfolgreich, da die ID einen klaren Unterschied zeigt:

Vorher:  12d1:1446
Nachher: 12d1:140c

Verbindungsaufbau

Um nun eine Verbindung zum UMTS-Netz bzw. GPRS oder sonstigem herzustellen, sind weitere Programme von nöten.

# pacman -S comgt wvdial rp-pppoe ppp

Das Programm wvdial muss ebenfalls konfiguriert werden. Dies wird in der Datei /etc/wvdial.conf festgelegt.

[Dialer Defaults]
Modem = /dev/ttyUSB0
ISDN = off
Modem Type = USB Modem
Baud = 115200
Init = ATZ
Init2 ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 AT+CGDCONT=1,"IP","internet"
Init4 = AT^SYSCFG=2,2,3FFFFFFF,2,4
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99#
Phone1 =
Phone2 =
Phone3 =
Phone4 =
Dial Prefix =
Dial Attempts = 100
Dial Command = ATM1L3DT
Ask Password = off
Password = o2
Username = o2
Auto Reconnect = on
Abort on Busy = off
Carrier Check = on
Check Def Route = on
Abort on No Dialtone = on
Stupid Mode = on
Idle Seconds = 0
Auto DNS = on

Es lohnt sich, folgende Funktion in der bash-rc festzulegen, um das Herstellen einer Verbindung zum Internet zu erleichtern. Der COMGTPIN muss natürlich durch die eigene PIN ersetzt werden.

function o2ss {
 sudo ifconfig eth0 down
 sudo mknod /dev/ppp c 108 0 2>/dev/null
 sudo COMGTPIN=1111 comgt PIN -d /dev/ttyUSB0
 sleep 5
 sudo wvdial
 sudo ifconfig eth0 up
}

Nach einem Neustart des Terminals kann die Funktion o2ss einfach aufgerufen werden. Da einige Schritte gewisse Rechte benötigen, wird das Passwort gefordert. Danach sollte sich eine Verbindung aufbauen.

$ o2ss
SIM ready
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: AT^SYSCFG=2,2,3FFFFFFF,2,4
AT^SYSCFG=2,2,3FFFFFFF,2,4
OK
--> Modem initialized.
--> Sending: ATM1L3DT*99#
--> Waiting for carrier.
ATM1L3DT*99#
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Sun May 16 13:43:22 2010
--> Pid of pppd: 4742
--> Using interface ppp0
--> pppd: {[7f]
--> pppd: {[7f]
--> pppd: {[7f]
--> pppd: {[7f]
--> pppd: {[7f]
--> pppd: {[7f]
--> local  IP address 10.40.230.74
--> pppd: {[7f]
--> remote IP address 10.64.64.64
--> pppd: {[7f]
--> primary   DNS address 193.189.244.225
--> pppd: {[7f]
--> secondary DNS address 193.189.244.206
--> pppd: {[7f]
--> pppd: {[7f]
--> Connect time 13.8 minutes.
--> pppd: {[7f]
--> pppd: {[7f]
--> pppd: {[7f]
--> pppd: {[7f]

So sieht ein erfolgreicher Verbindungsaufbau aus. Während einer bestehenden Verbindung folgen weitere Ausgaben, die hier aber keine Rolle spielen. Sollte kein Netz verfügbar sein, sieht das so aus:

$ o2ss
SIM ready
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: AT^SYSCFG=2,2,3FFFFFFF,2,4
AT^SYSCFG=2,2,3FFFFFFF,2,4
OK
--> Modem initialized.
--> Sending: ATM1L3DT*99#
--> Waiting for carrier.
ATM1L3DT*99#
NO CARRIER
--> No Carrier!  Trying again.
--> Sending: ATM1L3DT*99#
--> Waiting for carrier.
ATM1L3DT*99#

Fehlerbehebung

Sollte kurz nach dem Wechseln des Modus und einem anschließenden Versuch eines Verbindungsaufbaus folgendes ausgegeben werden, besteht kein Grund zur Sorge, denn der Stick benötigt eine gewisse Zeit zum Wechseln des Modus. Einfach durch die Escape-Sequenz (Ctrl-c) abbrechen, und es nach wenigen Sekunden erneut versuchen.

$ o2ss
Can't open device /dev/ttyUSB0.

Der Stick sollte nun voll funktionstüchtig sein.