OpenWRT 8.09 plus Huawei E220
Now that OpenWRT 8.09 has been released, I finally took the time to write down my notes on how to use it together with the Huawei E220 dongle, which supports 3G/HSDPA.

The writeup on how to do this is long, so I put it at a separate page:
http://josefsson.org/openwrt/dongle.html
Tags: 3g, e220, hsdpa, huawei, openwrt, router, umts
This entry was posted
on Thursday, March 5th, 2009 at 17:39 and is filed under general.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.
Hey,
Thanks for the guide!
Do you know if there is any easy way to do this on demand? I mean to use the 3G as a backup for the regular connection. If the normal connection doesn’t work it would automatically (or some other way easily) switch to 3G.
Mikko: Good questions, I don’t think this is easy to achieve with OpenWRT but I’d love to be proven wrong. I am aware of this work but there are no openwrt packages for it:
http://lsm.foobar.fi/
Maybe someone could port it..
/Simon
Good guide. Worked very well. Instead of using usb-serial, you can also use the option driver (depends on usb-serial), which provides better speeds. Didn’t even have to provide vendor/product id with option.
However, even though the modem works, I can’t get it to forward/masquerade traffic to my local lan. Was that never an issue for you?
Hi!
Nice howto! You can use ‘enable’ for init scripts instead symlinking.
Eg. ‘ln -s ../init.d/open-wan-ssh-port /etc/rc.d/S90open-wan-ssh-port’ - ‘/etc/init.d/open-wan-ssh-port enable’. Seems better.
szögi: thanks! I have updated the writeup.
im testing with an E160 it works.
A notice in the documentation abouth /etc/chatscripts ATDT would be helpful.
Not all providers have the same number. For example “ATDT*99#”
also problems with dns
the ip for the dns servers from my provider 10.11.12.13 are not functional.
i need en entry in /etc/system/network
option ‘peerdns’ ‘0′ and option ‘dns’ ‘ipaddress1′
i need en entry in resolv.conf nameserver ipaddress1
i need en entry in /etc/dnsmasq.conf dhcp-option=6,ipaddress1,ipaddress2
Great, very very nice Simon. Thanks Thanks. A lot of providers use the HUAWEI model E169 (like in my case TIM in ITALY) so I changed the module file as follow:
#####################################
root@caramel:/# cat>/etc/modules.d/60-usb-serial
#for E220
usbserial vendor=0×12d1 product=0×1003 maxSize=4096
#or for E169
#usbserial vendor=0×12d1 product=0×1001 maxSize=4096
root@caramel:/# reboot
#######################################
Thanks for that! Two things: If using ‘ppp0′ the ip forwarding did not work for me - had to use ‘wan’. And my provider needed a ‘username’ and ‘password’ in the ppp0. It could be set to any value but needed to be there.
I read your howto with great interest. I am trying to do somthing similar, that is, use OpenWRT on an ALIX board with Ubiquiti PCI radio as a router to extend range of WiFi for my clients. (see web site). I must have somthing wrong because the wifi network does not get an IP address.
Can you email me a copy of your /etc/config/network and etc/config/wireless. I must be missing somthing. Or, could it be in the firewall? I see your wireless config in the howto but not your network file so these would be most helpful.
Hi Simon,
thanks a lot for your howto. Half a year ago, I spent many hours to get my Asus WL500gp to work with my 3G dongle using some shady czech(?) firmware, but it did’t work. Now with your howto and OpenWrt ist worked straight away, even though my 3G dongle (Web’n'walk Stick IV from T-Mobile Germany) is a Huawei e176 clone, not e220. But vendor/model correspond to your howto (12d1/1003). Odd, but it works. The same with another noname dongle (I’m not even sure it’s Huawei) i tried briefly: it works without modification. So thanks again, nice work.
Greetings, Calin
Hi Simon,
your howto is great!!!
I want use your howto to get my Asus WL500W (n wireless) to work with my Huawey E220 but I would not like to use OpenWRT but X-WRT variant.
Is possible? or I need some modification of the procedures?
Thanks in advance
Carlo