2008/05/16

ZTE MF620 in linux

There is a how-to in Portuguese here

You need to install
- USB ModeSwitch
- Wvdial
- Gcom
- libusb

To install the first one open a terminal window and...
#wget http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-0.9.2.tar.bz2
#tar -jxvf usb_modeswitch-0.9.2.tar.bz2
#cd usb_modeswitch-0.9.2
#./compile.sh
#
cp usb_modeswitch /usr/sbin/

The others you can find in the package manager

then edit
gedit /etc/wvdial.conf

and add this

[Dialer default]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
; Phone =
ISDN = 0
; Username =
Init1 = ATZ
; Password =
Modem = /dev/ttyUSB0
Baud = 460800
[Dialer tmn]
Init2 = ATZ
Init3 = AT+CGDCONT=1,"ip","internet"
Stupid Mode = 1
ISDN = 0
Phone = *99***1#
Ask Password = 0
Modem = /dev/ttyUSB0
Username = tmn
Dial Command = ATD
Password = "your_pin"
Baud = 460800

Next edit/create
/etc/usb_modeswitch.conf and add
DefaultVendor=0x19d2
DefaultProduct=0x2000
TargetVendor=0x19d2
TargetProduct=0x0001
MessageEndpoint=0x04
MessageContent="5553424308a0b7870000000000000600000000000000000000000000000000"


One more to edit
gedit /etc/udev/rules.d/15-zte-mf620.rules
with
ACTION!="add", GOTO="ZTE_End"
# Is this the ZeroCD device?
SUBSYSTEM=="usb", SYSFS{idProduct}=="2000",
SYSFS{idVendor}=="19d2", GOTO="ZTE_ZeroCD"
# Is this the actual modem?
SUBSYSTEM=="usb", SYSFS{idProduct}=="0001",
SYSFS{idVendor}=="19d2", GOTO="ZTE_Modem"
LABEL="ZTE_ZeroCD"
# This is the ZeroCD part of the card, remove
# the usb_storage kernel module so
# it does not get treated like a storage device
#RUN+="/sbin/rmmod usb_storage"
RUN+="/usr/sbin/usb_modeswitch -d 1 -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0001"
LABEL="ZTE_Modem"
# This is the Modem part of the card, let's
# load usbserial with the correct vendor
# and product ID's so we get our usb serial devices
RUN+="/sbin/modprobe usbserial vendor=0x19d2 product=0x0001",
# Make users belonging to the dialout group
# able to use the usb serial devices.
#MODE="660", GROUP="dialout"
MODE="660", GROUP="tty"
LABEL="ZTE_End"


Now connect the device and do
#tail -f /var/log/messages

and wait until these lines are shown
.... [ 276.548000] usbserial_generic 2-2:1.0: generic converter detected
.... [ 276.548000] usb 2-2: generic converter now attached to ttyUSB0
.... [ 276.552000] usbserial_generic 2-2:1.1: generic converter detected
.... [ 276.552000] usb 2-2: generic converter now attached to ttyUSB1
.... [ 276.556000] usbserial_generic 2-2:1.2: generic converter detected
.... [ 276.556000] usb 2-2: generic converter now attached to ttyUSB2

after do
#/usr/sbin/usb_modeswitch -d 1 -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0001
(not really necessary its just to confirm)

now do
#/usr/bin/gcom -d /dev/ttyUSB0

you will get something like this

SIM ready
Waiting for Registration..(120 sec max)

after the third dot appear press Ctrl+C waith for the led to turn on and run againg
#/usr/bin/gcom -d /dev/ttyUSB0

If something like this appears
SIM ready
Waiting for Registration..(120 sec max)
Registered on Home network:
Failed to register
you are good to go


now execute
/usr/bin/wvdial tmn

And if everything is working you'll get a internet connection.


...And now ubuntu

Since I'm little bit disappointed with opensuse and with KDE (The new KDE 4 does not work well) i will give a try to ubuntu, which someone said, it was/is the best gnome distribution.
At the moment I have managed to get everything to work well including compiz-fusion straight from the box.
The only problem that i found is the lack of a GUI for system configuration (Did not found one yet) but apart that it is working better than opensuse.
So for now I'll stick with ubuntu but keeping an eye in opensuse and see what happens.