Help needed with Huawei E220

e220 and wvdial

First things first: Thank you Tazz_Tux for a great tutorial. (wow stuff really works :) )

I seem to be stuck in the same place as skywatcher.

Windows: my e220 works perfectly
Ubuntu feisty: my e220 works perfectly
Slackware 10.2 (running linux 2.4):
Code:
--> WvDial: Internet dialer version 1.56 (root@gateway)
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet.tele2.se"
AT+CGDCONT=1,"IP","internet.tele2.se"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Mon Apr  2 10:27:37 2007
--> Pid of pppd: 294
--> Using interface ppp0
--> Disconnecting at Mon Apr  2 10:28:14 2007

There is a carrier but it is immediatley lost.

Ive managed to get it running a few times in slackware by removing and reinserting the device, but the results of this procedure are quite unpredictable.

Edit: Tested it on my debian etch machine. The problem reoccurs. Damn you ubuntu for making everything work flawless.
 
Last edited:
First things first: Thank you Tazz_Tux for a great tutorial. (wow stuff really works :) )

I seem to be stuck in the same place as skywatcher.

Windows: my e220 works perfectly
Ubuntu feisty: my e220 works perfectly
Slackware 10.2 (running linux 2.4):
Edit: Tested it on my debian etch machine. The problem reoccurs. Damn you ubuntu for making everything work flawless.

I've found (on gentoo) that when the device gets stuck , to modprobe -r option && modprobe option
(assuming it's a module and not compiled into kernel ;^)

When you get stuck like above, I've noticed that ppp kernel module needs to be loaded.

modprobe ppp
;^)

Yes, Ubuntu have been impressing my lately... expect when I want to install stuff the way *I* want it :(
 
When you get stuck like above, I've noticed that ppp kernel module needs to be loaded.

modprobe ppp

Very interesting. I can't seem to find any ppp module. There are however a whole bunch of different ppp modules. Inserting all, or just some, of them before running wvdial doesn't seem to help - the carrier is often lost immediatley.

Hence, I compiled a kernel (damn you ubuntu for making this easy too) with ppp built-in, not as a module. With this kernel the connection works every time.

I find it strange that there is a noticable difference between having ppp as a module and built-in but as long as I get a working internet connection I don't really care.

Gustaf
 
Modules

The default linux behaviour is to try and load USB storage modules first.
This seems to bugger up the later usb_serial load, remember to use the modules options file (in gentoo I had to create an /etc/modules.d/usbserial file, with the contents:
options usbserial vendor=0x12d1 product=0x1003
)
I also took the USB storage device drivers out of the kernel...
This MAY be a problem if you need to use a flash disk, it's worth checking though...
 
Fix for hardware detection problems

I had only limited success with the HOWTO by Tazz_Tux. Sometimes I could "rmmod usb-storage" and then a few moments later "modprobe usbserial vendor=0x12d1 product=0x1003" and the modem would behave properly giving me three serial devices. Other times I would have to reboot a couple times before the hardware was configured properly. I found an *easy* way to handle the hardware configuration and the details appear below.

My distro: SuSE 10.1
Kernel: 2.6.16.27-0.9-smp i686
Modem: Huawei E220
Network: Vodacom 3G

I found this HOWTO by Albrecht Gebhardt:
http://wwwu.uni-klu.ac.at/agebhard/HuaweiE220/
The document describes how the E220 is able to function as a mass storage device or a modem and the emulation of either is triggered by passing the modem a software trigger or switch.

I downloaded the C program by Miroslav Bobovsky (for passing the trigger); available here: http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo.c and compiled with "gcc huaweiAktBbo.c -o huaweiAktBbo -lusb" I didn't need the libusb-dev package as suggested by Albrecht. Next, I copied the executable to /sbin and created the udev rules as detailed on Albrecht's page.

Rebooted and whoola the modem is ready to rock 'n roll with wvdial. No more messing with "rmmod usb-storage" and I can happily continue to use my flash disk.

As an aside: Miroslav's program was generated automatically by a Perl script which parsed a log file from a sniffer program running under windoze. The details are here: http://iki.fi/lindi/usb/ You could use the tools to generate a C program for another modem model. Perhaps the chaps struggling with the E620 variety might give this a go? But then the Spanish GUI dialler looks simple and really cool.
 
Hi:)

I recently got Ubuntu Feisty Fawn, and it works much better with the e220 than previous versions. It suppresses the usb-storage module automatically when the e220 is plugged in. Then all you need to do is run: "modprobe usbserial vendor=0x12d1 product=0x1003", unplug and replug in the modem and the 3 serial devices are picked up:) No hassles and no restarts required;)
 
Just to clarify

No hassles and no restarts required;)

Hi sky.akash

I'm glad Feisty Fawn plus plug, unplug, replug works for you:)

Just to clarify that when I wrote, "Rebooted and whoola the modem is ready to rock 'n roll with wvdial" I meant that I rebooted to apply my newly created udev rules. Now that all is configured properly all I have to do is plug in my modem, fire up the PC, launch wvdial and I'm connected. Pretty simple I think.
 
Hi:)

I recently got Ubuntu Feisty Fawn, and it works much better with the e220 than previous versions. It suppresses the usb-storage module automatically when the e220 is plugged in. Then all you need to do is run: "modprobe usbserial vendor=0x12d1 product=0x1003", unplug and replug in the modem and the 3 serial devices are picked up:) No hassles and no restarts required;)

Hmmm I am running feisty ppc on an iMac, it does suppress the usb-storage but no matter what I do i don't get the three devices...
it is always just the one, it changes to dialup after the process, but still just the one.

And all I ever get is that the modem is not responding...

I really need to sort this out, I am losing faith here.

I have been through the tazz_tux thing....
Does anyone have any ideas?
 
Yes, the modem won't connect until the 3 devices are picked up:(Have you tried the modprobe command before plugging in the modem?
yep... (well I think so at least ;) )

Here is the session:
$ ls -la /dev/ttyU*
crw-rw---- 1 root dialout 188, 0 2007-06-16 00:16 /dev/ttyUSB0
$ lsmod|grep usb_storage <=**note noting happens here for some reason
$ lsusb
Bus 002 Device 004: ID 045e:0040 Microsoft Corp. Wheel Mouse Optical
Bus 002 Device 003: ID 05ac:0202 Apple Computer, Inc. Apple Keyboard [ALPS]
Bus 002 Device 002: ID 05ac:1001 Apple Computer, Inc. Apple Keyboard Hub [ALPS]
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 12d1:1003
Bus 001 Device 001: ID 0000:0000
$modprobe usbserial vendor=0x12d1 product=0x1003
$ls -la /dev/ttyU*
crw-rw---- 1 root dialout 188, 0 2007-06-16 00:18 /dev/ttyUSB0
the one odd thing is on the "lsmod|grep usb_storage" nothing gets listed
As far as I remember it did the first time i went through the process, but no since...
 
yep... (well I think so at least ;) )

Here is the session:

the one odd thing is on the "lsmod|grep usb_storage" nothing gets listed
As far as I remember it did the first time i went through the process, but no since...

If you look at the time - the /dev/ttyUSB0 file is created 2 mins later than the first one - so it seems it will work - what cable are you using, the long or short one ?
 
If you look at the time - the /dev/ttyUSB0 file is created 2 mins later than the first one - so it seems it will work - what cable are you using, the long or short one ?
Hmmm... you are right, but did you not say that one should have three entries? :)

I have tried both cables, with exactly the same results....
Do you think it might have something to do with insuff power from the old iMac USB ports? It only has 2, one of which I am using for the keyboard.... :(
 
probably a stupid question, but does the E220 even work with USB 1?
Which is what I assume an old imac has?
 
probably a stupid question, but does the E220 even work with USB 1?
Which is what I assume an old imac has?

E220 User Manual Page 5 said:
To use E220, your pc is required to have:

* CPU: Pentium4, 1 GHz or above
* Memory: 128 MB RAM or above
* Hard disk: 50 MB or above
* Operating system: Windows XP or Windows 2000
* USB modem interface: USB 2.0 full speed
* Display resolution: 800 x 600 or above; 1024 x 768 is recommended

And they forgot about Mac and Linux OSs.
 
OK I am back again...
I am now trying this with a "proper" computer, ie AMD Athlon 64 with USB 2 ports. it works fine on the same box under Windows XP.

However going through the process i get the exact same thing!
is it something I am doing wrong?
This is a fresh install of Ubuntu Feisty...

Here is the whole session...
Code:
:~$ ls -la /dev/ttyU* 
crw-rw---- 1 root dialout 188, 0 2007-06-28 20:51 /dev/ttyUSB0 

:~$ lsmod|grep usb_storage 
usb_storage            72256  0 
libusual               17936  1 usb_storage 
scsi_mod              142348  2 usb_storage,libata 
usbcore               134280  8 usb_storage,option,usbserial,libusual,hci_usb,ohci_hcd,ehci_hcd 

:~$ sudo rmmod usb-storage 

:~$ lsmod|grep usb_storage 

:~$ rmmod usb-serial 
ERROR: Module usb_serial does not exist in /proc/modules 

:~$ lsusb 
Bus 002 Device 009: ID 12d1:1003  
Bus 002 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) 
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 001: ID 0000:0000  
:~$ sudo modprobe usbserial vendor=0x12d1 product=0x1003 

:~$ ls -la /dev/ttyU* 
crw-rw---- 1 root dialout 188, 0 2007-06-28 20:55 /dev/ttyUSB0 

:~$ wvdial huawei_e220 
--> WvDial: Internet dialer version 1.56 
--> Cannot get information for serial port. 
--> Initializing modem. 
--> Sending: ATZ 
--> Sending: ATQ0 
--> Re-Sending: ATZ 
--> Modem not responding.
PLease please please can someone help me sort this out... :(
 
Last edited:
OK I am back again...
I am now trying this with a "proper" computer, ie AMD Athlon 64 with USB 2 ports. it works fine on the same box under Windows XP.

PLease please please can someone help me sort this out... :(

In Ubuntu Feisty 686, if you do "sudo rmmod option" after plugging the device, it will be registered as a 3 serial port device.
 
Top
Sign up to the MyBroadband newsletter
X