View Single Post
Posts: 1 | Thanked: 1 time | Joined on Jul 2008
#8
Hi people, I just logged in to share how I managed to make this damn thing work. It's not the best solution out there (yet), but I have to share it before I lose momentum and interest.

My modem is ZTE MF622 HSDPA Mobile Modem from THREE Mobile UK network. I have Debian Linux. Should work with Ubuntu and other derivatives without too much trouble.

I followed the instructions posted by zaurus6k on eeepc forum: http://forum.eeeuser.com/viewtopic.p...100536#p100536

Originally Posted by zaurus6k
It is quite easy. No need to replace the kernel image. Just need to rebuild a single kernel module named usbserial with an option. I think Asus should have done that with the default installation.

Here is the step-by-step for what I did to make u727 working:

0) open a terminal window. Either connect to internet via wire lan or copy files from anther computer using a USB sticker.
1) Follow wiki at http://wiki.eeeuser.com/howto:rebuildthekernel "Rebuilding the kernel on eeePC" part.

You can also try to download ASUS official release of linux on eee pc at
http://dlsvr03.asus.com/pub/ASUS/Eee...nel_071127.rar

2) make usbserial kernel module with following cmd at the root where the linux kernel source code is located:
make CONFIG_USB_SERIAL_GENERIC=y M=drivers/usb/serial

3)
cd /lib/modules/2.6.21.4-eeepc/kernel/drivers/usb/serial
sudo mv usbserial.ko usbserial.ko.keep ( keep the old one)
sudo cp <to linux source>/drivers/usb/serial/usbserial.ko .

4)
sudo modprobe –r usbserial
sudo modprobe usbserial vendor=0x1410 product=0x4100 ( U727 modem )
sudo eject /dev/sr0 ( the CD-ROM driver first being mounted when inserting U727 )
sudo dmesg|grep –i ttyUSB (not necessary but makes sure the driver loaded correctly, you should see ttyUSB0 for example)

5) sudo ifup ppp0
assume ppp0 has been setup properly following the instructions at http://samat.org/weblog/20070128-spr...ntu-linux.html

Then you are connected to internet.


Following link talks about using airprime instead of usbserial to get higher speed. I'll try it later.

http://samat.org/weblog/20070127-hig...inux-6-10.html
So: check for usbserial module in your kernel (/boot/config-yourkernel or by zgrep /boot/initrd-yourkernel), go to step 4) if you have it

The difference is, in step 4) you give different parameters:

4)
sudo modprobe –r usbserial
sudo eject /dev/sda ( the cd with "Default OS" drivers, I prefer to unmount it first )
sudo modprobe usbserial vendor=0x19d2 product=0x0001 (this is the infamous MF622 modem )
sudo dmesg|grep –i ttyUSB (not necessary but makes sure the driver loaded correctly, you should see ttyUSB0 for example)
NOTE: as in "Default OS", when you run a control program, you need to wait about 30-60 seconds after ejecting CD before modem becomes available.
NOTE2: modprobe -r usbserial and modprobe usbserial vendor=0x19d2 product=0x0001 are possibly unnecessary. This should achieved by adding correct kernel parameter or compiling usbserial as a module and adding line "usbserial vendor=0x19d2 product=0x0001" to /etc/modules. Please, correct me if I am wrong.

Then you go setting up your favorite dialling program. I use wvdial. This again is something found on the internet ( http://ubuntuforums.org/archive/index.php/t-665332.html )
Contents of /etc/wvdial.conf, change owner to root and read access to anyone

[Dialer Defaults]
Phone = *99#
Username = user
Password = pass
Stupid Mode = 1
Dial Command = ATDT

Modem = /dev/ttyUSB0
Baud = 460800
ISDN = 0
Modem Type = Analog Modem
Init2 = ATZ
Init3 = ATE0 V1 &D2 &C1 S0=0 +IFC=2,2

Now, invoke wvdial and you have internet connection, that's utterly unusable.

Disconnect. For some strange reason the THREE assigns 4.2.2.4/3 as DNS. They DON'T work. "Default OS" shows WINS servers being used, this may be the hint to correct name resolution, but I have no idea about that.

I'm using OpenDNS for now, but they are slooooow. I'll try to find something faster later. This solution comes from http://gentoo-wiki.com/HARDWARE_HUAW...EM#DNS_problem

Edit /etc/resolv.conf, put those lines close to the top.
#Open DNS server
nameserver 208.67.222.222
nameserver 208.67.220.220

This propably won't work permanently (as resolv.conf is modified with each new connection), but I don't know where Debian hides his counterparts of gentoo's /etc/conf.d/net and /usr/ppp/peers/.

Now, I didn't go as far as making an udev script to automate this procedure. Everything is done manually.
Maybe one day I will go further with this, but now I have another things to work out. Hey! I went through patching and adding custom DSDT to my initrd! Forget kernel recompilation.

I hope this helps some people out there.

Last edited by michalpelszyk; 2008-07-09 at 18:54.
 

The Following User Says Thank You to michalpelszyk For This Useful Post: