Huawei E180 & Linux

Today i bought a huawei E180 from the Irish ISP Three. That modem is supposed to bring very good speeds (up to 7.2 Mbps download). Since I was less than enthusiastic to run it on Windows, I started to play around with it on Linux. I used Gentoo for the following set up but you can of course adapt that to any other Linux. First, make sure you grab usb_modeswitch (under Gentoo, just do emerge usb_modeswitch. Then edit /etc/usb_modeswitch.conf and uncomment the following:


DefaultVendor= 0x12d1
DefaultProduct= 0x1001
HuaweiMode=1

Then create the following file : /etc/udev/rules.d/45-huawei.rules containing only that line :

SUBSYSTEM==”usb”, SYSFS{idVendor}==”12d1″, SYSFS{idProduct}==”1003″, RUN+=”/usr/sbin/usb_modeswitch”.

You can restart udev with the following commands: killall udevd && /usr/sbin/udevd –daemon

Make sure your kernel has the following option set as Y (under Device Drivers/USB/Serial) :


CONFIG_USB_SERIAL_GENERIC=y

Also, make sure your /etc/modprobe.conf contains:


options usbserial vendor=0x12d1 product=0x1003

Then you should be able to connect your device, the following should appear:


usb 8-6: new high speed USB device using ehci_hcd and address 23
usb 8-6: configuration #1 chosen from 1 choice
usbserial_generic 8-6:1.0: generic converter detected
usb 8-6: generic converter now attached to ttyUSB0

Last but not least, you should now be able to use it with NetworkManager but failing that, you can use the good old /etc/wvdial.conf:


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

[Dialer thr33]
Modem = /dev/ttyUSB0
Baud = 460800
Init2 = ATZ
Init3 = ATE0 V1 &D2; &C1; S0=0 +IFC=2,2
ISDN = 0
Modem Type = Analog Modem
Init5 = AT+CGDCONT=1,”IP”,”3ireland.ie”

Et voila, you can now use your almost quick semi broadband 3g dongle.

3 thoughts on “Huawei E180 & Linux

  1. Funny you mentioned that, I happen to have a problem with high speed usb on that device. But found another more annoying problem. Apparently, it won't work with wvdial (problem in the package for arm on Debian) but might work with ppp directly.

Comments are closed.