Huawei E169G - the easy way

Note to Ubuntu and Easy Peasy users: Your Huawei E169G should now work out-of-the box with later versions of Ubuntu (8.10 onwards) and derivatives. Lots of other modems work too, like the E160G.
A few days ago Lifehacker Australia carried a blog post where they said that they felt my method to get the Huawei E169G modem working on an EEE PC was a "tad fiddly". Well, they are probably right, so taking this as a challenge I've had a go at creating a package that will apply these steps automatically and make getting this modem up and running as simple as possible. This is one of my first attempts at packaging, so there might be some problems, however I've successfully tested that it works on both a Xandros and an Ubuntu powered EEE PC. The package is quite basic in what it does, so it may well work on some other Debian-based distributions too.

The package basically automates the steps in my earlier post "Using the Huawei E169G usb mobile internet modem on the EEE", it includes files to set up the rules for what should happen when you plug the device in, a copy of usb_modeswitch, documentation, and a sample configuration file for gnome-ppp (thanks to the Joyrex Wiki) to help you set up a connection (you won't need this for a standard Xandros powered EEE).

Installation on a Xandros EEE PC

  1. Download the file e169g-switch_0.3_all.deb from this site to somewhere you can easily find it.
  2. Open file manager (under the work tab) and go to the location where you downloaded the file
  3. Right click over the file and select "Install DEB file..."
  4. Enter your password when prompted (this is required because you are making a system change)
  5. After a few moments you should get a message saying installation has been completed.

Screen shot showing right click menu options over the package
You should now be able plug in the E169G and use it to make an Internet connection in the normal way using the "Network" icon under "Internet"

Installation on an Ubuntu EEE PC

  1. Using Firefox, click here to start the installation process for e169g-switch
  2. Firefox will offer you the option to download and open the package with GDebi Package Installer, click Ok to accept
  3. GDebi will launch, showing you information about the package, click "Install Package" in the top right hand corner
  4. Enter your password when prompted (this is needed because you are making changes to the system)
  5. After a few moments the package will be installed and you should be able to plug in your E169G (on mine I noticed that a file browser window still launches for mobile connect, but the modem does work)
  6. If you want to make a connection using gnome-ppp have a look under /usr/share/doc/e169g-switch for a sample configuration file. You should edit this and copy it to your home directory and name it .wvdial.conf

Screenshot of GDebi handling package on Ubuntu Netbook Remix

Thanks to Georgina Parsons for testing out the package on her Xandros-powered EEE. So far I've had this working on an Ubuntu and Xandros powered EEE, but it should work on other machines running Ubuntu. If you get success on other platforms please mention it here. The package itself is very simple, it just copies files, it does not use any of the advanced features of the Debian packaging format, but in the end was quite straightforward to put together. If you want to verify that you have downloaded the file correctly before installing it the MD5 sum of the package is: f3e80b78c7e0ad704ae48d22b1ca2d09, you can verify this by typing md5sum e169g-switch_0.2_all.deb in a command line.
Hopefully this package will make the E169G simple to use on the EEE as the two devices go together very well.
*** UPDATE 12th October 2008 ***
Thanks for your feedback on this package. Some of you experienced a "floating point" error when trying to use this package on a Xandros-powered EEE system. Today I updated the e169g-switch package to version 0.2 and included a special version of usb_modeswitch that was compiled on a Xandros system. This seems to clear up the error on a simulation of a Xandros-powered EEE that I have and seems to work fine on Ubuntu as well. As my EEE doesn't have Xandros on it anymore I've not been able to test it on a real machine, so if it works for you please comment here. If you are up and running with version 0.1 there is no need to upgrade.To upgrade just follow the instructions above, if you already have version 0.1 installed the upgrade will be handled automatically. All of the links above have been updated.
*** UPDATE 5th December 2008 ***
New version 0.3: I've updated the version of usb_modeswitch used by e169g_switch to version 0.9.5 and altered the package file so it now provides "usb_modeswitch" for any package that depends on it. If you are happily using the package already, you probably don't need to update.

File e169g-switch_0.3_all.deb35.71 KB


This works fantastically well. Thank you.

Hi, I've been following your comments with great interest, and I am very impresed with your ability. I too have the E169G and would like to use it on my Aser aspire one. Nowing nothing at all on how to set anything up, I was wondering if your Easy set up on the Eee pc would work on my acer one.

Respectfully yours



I have a Huawei E170 (comes up as e17x) I got from T-Mobile today and it works great with the .deb!



Thanks a million! It really does work! My respects to the Gurus.

I have a German o2 1-euro-HUAWEI-E169G-USB-stick on eeePC default Linux installation.

Took me "only" 10 hours.

The biggest problem were finding, downloading, installing and compiling all the right packages+libraries (gcc, libusb. usb_modeswitch).

- Be smarter than me: compile usb_modeswitch as root (took 2h to find out).
- Shell opens with "ctrl-alt-t"
- Searching for the 3G modem in the "Network"-wizard takes fairly long. Be patient (I wasn't, took 2h to find out).

I found basically all the information I needed through these websites:

Hope somebody finds this helpful. Good hacking!

I had a problem with my automatic scripts which I solved by typing "modprobe -r usb_storage".

Hi Andy,

The package includes a binary version of usb_modeswitch, you shouldn't need to compile it at all (are you using Ubuntu or Xandros?). It includes usb_modeswitch and the configuration files needed to get the E169G up and running as a modem. If you remove usb_storage you will find that you can no longer use usb memory sticks or external hard disks. Hope this helps.

I have been trying to go online from a EeePC 4G via an E169G but the Eee won't recognize the modem, sees it as a mass storage device, even though I have followed the blog advice. I am a newbie though.
Any help would be appreciated. Thanks

I have just tried to install in my EEEPC 900 (xantros) and although it recognise it as a usb modem (using CTR+ALT+T), it doesn't seem to find it at all in the network. I wonder if anyone have the same problem (one psoter have) and how long does it takes to find it in the network connection?


Hi Eve, good to hear the EEE picked up the modem, by "network" do you mean the network connection program on Xandros? You will have to go through and set up a connection using the wizard (and select the modem from the list on the "hardware" step. Another thing to note is to make sure you are in an area with a strong signal, look for a blue light appearing on the device (rather than green), if you see this you are in a good connection area. Also another thing to note is that the EEE might take a few seconds to recognise the modem and configure it and then little while to set up the connection. This might sound obvious, but often catches people out when trying to get things like this to work. Sometimes when using a 3G modem like the E169G on Xandros, it might get confused as to which device it is meant to be using, see: for details.

Hope this helps!

Hi, gonna try this tonight, but can I ask if I can download onto a memory stick then up load onto the eeepc?

Hi Sue, that should be fine. Let me know how you get on!

no this didnt seem to work, I saved d/load to memory stick and put on eee pc but it doesnt show the option to install. I cant d/load direct onto the eee pc as there is no internet conextion, hense me trying to get the 3 stick to work. I have had this laptop for over a week now and not been able to get online with it, its so frustrating I could cry. I am not used to linux and that doesn't help, along with my lack of pc knowlege. Any help at all would be most graefully recd!

Hi Sue, what options do you see when you right click over the package?

I cant actually right click as its a lap top and I'm not using a mouse, but when I open file all option show the same as your screen print but the install..... does not. Not to worry, I finally gave up for good last night and have bought a new PC and am selling the Eee pc, shame really as I did love it, but the stress of it was actually making me feel sick! Thanks for all your help though and I hope others don't find it as stressfull as me!


I downloaded the program and got the installation ok message. Then I went to Interent -> Network -> create to get the connection wizard. I selected the GSM/3G (UMTS)/HSPDA option. It comes up a "select hardware" page, but it is empty.

I have left it waiting for over 30 mins in case in detects it, but no luck. I have a good strong 3 signal here. The task bar shows that there is a "mass storage device" attached, but nothing else.

Any ideas what is going wrong? Great idea for a program by the way, I am new to Linux and so appreciate the fact that you can just download and install without messing with things I don't understand!

Hi Enda,I have seen rumours of a new version of the E169G at: Did you get your modem very recently? Could you try plugging the device in, starting a terminal and entering lsusb? You should get several lines out output, on one of the lines you should see "Huawei Technologies Co., Ltd. [model number] USB Modem". If you could copy that line to a comment on this post it might be possible to see what is happening from there.

Hi, I did that, but there is no mention of Huawei. It gives 7 lines, all starting with "Bus". The only line that mentions a company is "Bus 005 Device 002: ID 0951:1606 Kingston Technology". I bought the modem in May of this year or so. Nothing else is written on the modem itself, just "Model: E169G HSDPA USB Stick". Some more random numbers, but they don't look like a model number.

I am having the same problem with a 169g that I got this week. No devices listed

/home/user> lsusb
Bus 002 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 005 Device 007: ID 12d1:1003
Bus 005 Device 003: ID 0951:1606 Kingston Technology

Can any one help?


Hi Flastpack, not sure if you have an E169G, have a look at the entry under "Bus 005" you see it says 12d1:1003, if it was an E169G it should say 12d1:1001. It might be worth trying but substitute any occurrence of 1001 with 1003 and see if it picks up your modem!

Thanks, I'll start again as I have a 160 not 169, I was looking at that one but bought a starter pack from 3 and had no choice.


Hi, i would like to seek some help on my Huawei E160 usb modem, currently it is locked to telco here in the pihilippines. I need to find a installer or firmware update to remove the lock of the E160 to be able to use another sim so i can switch different simcard for different area.

I hope you could help me.

i have open the rom of the usb and it cannot be edited or even deteting the file it will prompt for acces denied.

the instalaller name is mobile partner.

if could anyone has un idea how to unlock the program plz do email me at thnx...

Too easy,
Connected to Australian Virgin Network with minutes on my Xandros E.


Hi there,


Edna had exactly the same problem as myself when I tried using Liam's fantastic automating package.

It seems that there are at least a couple of versions of the usb_switchmode file flying around on the web. The one in Liam's package doesn't seem to work on some Asus Eees, and it certainly didn't work on mine. You can check if it doesn't by opening up a terminal window (Ctrl+Alt+t) and typing:
sudo /usr/sbin/usb_modeswitch

If you get the error message "Floating point exception", then this version of usb_modeswitch doesn't work on your machine.
One that worked for me can be found at

(to download it, click on where it says “click here” near the bottom, a bit difficult to spot!)

What I suggest you do is install Liam's package in the way he says. Then replace usb_modeswitch with the one from the above link. So, if you are currently in the folder/directory of the newly downloaded file, you can type:

sudo cp usb_modeswitch /usr/sbin/

Then make the new file executable (in case it isn't) by typing:

sudo chmod u+x /usr/sbin/usb_modeswitch

Now, just to check that this version works, type:

sudo /usr/sbin/usb_modeswitch

You should now get something other than a floating point exception error!

One other thing that I did (which I'm not too sure if it's important or not – so you may wish to try it if you've still got problems) is to add the sudo command to the start of the last two lines in the e169g_switch file. Edit this in the same way as described by Liam, i.e. enter the command:

sudo vim /usr/sbin/e169g_switch

Then press 'i'. Then edit the start of the last two lines so that the whole file now looks like:
sudo /usr/sbin/usb_modeswitch -v 12d1 -p 1001 -d 1
sudo /usr/sbin/usb_modeswitch -v 12d1 -p 1001 -H 1

Then press the Esc button, then enter ':wq' (without the quotes!).

Okay, well that seemed to solve my problem, and the e169 is finally working consistently!
I wonder why Asus have not yet launched an update to sort out problems like these once and for all. A shame really, as these mobile broadband devices are getting more and more popular.
Anyway, thanks to Liam Green-Hughes, and to Dale Lane for their efforts in trying to sort this problem out. Nice one guys.


Thanks so much for all this! I am very impressed that people go to so much trouble to help others.
I too am totally frustrated with the eeepc - if you cant go online with it it loses most of its appeal.

I have downloaded and installed Liam's package, and got the 'floating point' error as predicted by Nabeil - but I cant seem to make the solution work. I finally figured out how to copy the file over (absolute newbie to linux!) but notice it does not in fact copy, just adds a new file to the directory. Could this be because the downloaded replacement file has a .dat extension whereas the one installed by Liam's package does not? Anyway the result is I still get the floating point error report and I still get no options under 3G for 'create network connection'.

Anyway, I hate to ask for more help when you have done so much already but if you have any further suggestions I would love to hear them. Otherwise I think I will have to go Edna's route and use the XP computer instead. A shame though as the little pink eeepc is so cute and so portable ... but if it cant go online there's not much use to it.

Thanks ever so

Hi Helen,

I've managed to reproduce the 'floating point' error message on a simulation of the EEE PC. I'll have a look into it and see if there is anything that can be done with the package get round this problem. Check back here for updates!

Thanks a million! It comes SOOO close but fails at the last minute and I suspect it is not even something you can fix...
It goes through everything perfectly, even dials the number for the modem - then says it is terminating and gives the following info:
"receive serial link is not 8-bit clean. Problem: all had 7 set to 0. Modem hangup."

If that means anything to you pls let me know!
Thanks again

Hi Helen, sounds like the package is working! Thanks for letting me know. What network are you on? Did you make the connection with the "Network" wizard on the EEE?

Yes the package itself worked perfectly - I was so happy.
To go online, I used the 'network' tab, clicked 'create', then '3G' - that all seemed to work fine. Then I clicked 'connect', it said dialling, and connecting, etc etc - then came back with the error I mentioned. I tried lots of times, but always the same.

I am with Optus in Australia. (Ive already asked them several times about the modem issue, but they are totally unysmpathetic. I have another week or two to cancel my policy - apparently the vodafone modem works with Xandros, but it does not have 3G coverage outside the city, which is a major limitation for me).
Thanks again

Strange, sounds like your mobile network might be the problem. Has anybody reading this used Optus Australia?

Of course the 169 on Optus works fine with Mac and XP - it is just the Xandros eeePC that gives this error. I will try the Optus tech people again at some stage ...

Hi Helen,

Can you give the new version of the package a go and let me know if it works for you? Thanks!

Ihave a Huwaei e160g (not 169) from 3 - after running everything suggested I still can't get the eee pc to recognise it. lusb shows a Kingston card, a Cambridge bluetooth dongle and a eMPIA Technology Inc device (could that be it?). I tried everything I found, most recently the eee pc usb_switch discussed above. Does anyone have any other bright ideas? Thank you.

I haven't got an E160g, but looks like the idea is pretty much the same. Try editing the file /usr/sbin/e169g_switch and change the lines which read:
/usr/sbin/usb_modeswitch -v 12d1 -p 1001 -d 1
/usr/sbin/usb_modeswitch -v 12d1 -p 1001 -H 1

/usr/sbin/usb_modeswitch -v 12d1 -p 1003 -d 1
/usr/sbin/usb_modeswitch -v 12d1 -p 1003 -H 1

Then edit the file /etc/udev/rules.d/70-e169g.rules and change the line from:
SUBSYSTEM=="usb" SYSFS{idProduct}=="1001", SYSFS{idVendor}=="12d1", RUN+="/usr/sbin/e169g_switch
SUBSYSTEM=="usb" SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/usr/sbin/e169g_switch

Let me know if this works.

Thanks for the advice. I have tried it without any success so far but I will persevere.

Liam I have a 3G usb modem E620
I wondered if you had an advice for getting this going on the eeePC

running ubuntu 8.04

Have tried the solution for E169 but it doesn't seem to work


Hi Graham, how far does it get? If you plug it in before the EEE boots up, can you see a listing for it if you type "lsusb" in a shell?

Many thanks for your hard work - my E169g is now working as it should on my ASUS Eee 4G Netbook. What a relief.

works on Huawei E660A

thanks a lot


Thanks for your hard work. the Huawei E169G - the easy way, was successfully installed on my ASUS Eee 4G Notebook, and it was worked out for awhile, till recently I pluged my Huawei E169G into my eee again, it started to initiallize the modem and it never end.
Any advise on that

I am trying to get an E160 working. Installed package and edited files for dev id of 1003. When I run sudo /usr/sbin/usb_modeswitch it reports

Error: Could not find file /etc/usb_modeswitch.conf

is this mising from the new package ??



Hi Steve, you shouldn't need to run anything manually, the package uses the udev system to detect that the modem has been plugged in, then it runs /usr/sbin/e169g_switch to set the device up.

If I insert the E170 modem first and then switch on the eeePC it hangs before booting. If I insert after it starts to boot, and with a .conf file that I made, I can now see two LAN devices when I try to create a connection. Is this normal? The device is not listed as a 3G modem device?

P.S. When does it detect the device, after it has booted do I then plug it in, or plug it in before it boots or doesn't it matter?

It should detect the device when you plug it in, the udev system will run the scripts supplied in the package to reconfigure an E169G, not sure about E170s but you might be able to get it working by changing the script to pick up a different device number. With the device inserted open a terminal and type "lsusb" you should get the numbers for your device, for the E169G it is listed as "ID 12d1:1001", you should see something similar for your modem. Once you find this number you should be able to change the scripts (as in the comment below) to work with the device. Let me know if this works as I'm thinking about extending the package to support other Huawei modems.

Hi, I have the Huawei E160 issued by A1 (Vodafone) in Austria.
I have followed all the steps above. I have edited all the files to reflect the e160 device ID (1003 instead of 1001). usb_modeswitch runs and seems to have done something but in the connection wizard, I still get no devices listed.
With lsusb, there is no difference after I run the mode swith script with the -d option and the -H option.

There are always 2 devices listed:
0951:1606 Kingston Technololgy (I presume it is the mass storage device within the modem)
12d1:1003 which is the modem

in /usr/sbin, I type ./e169g_switch, I can see that the programme has been invoked twice but the 1st time it says no usb storage found, switching not necessary, bye.
After the 2nd step, I run lsusb and nothing has changed.

Have I done everything right ?

Thanks for any help

Correction: the Kingston device is actually internal to my eee pc. I have unplugged the USB modem and the Kingston is the only thing left after lsusb

So I still don't understand how to get it to list the modem in the connection wizard.

Hi Fred, not sure about the E160 - can anyone reading this help? It sounds a bit like the E160 does not work in the same way as the E169G. Have you tried the Vodafone Mobile Connect drivers? Despite the name they should work with any network.

Hi Graham

I just wanted to add my thanks to the growing list!

Writing this using my 3 dongle on my eee right now.

Much appreciated :-)

You are not called Graham.

You are called Liam.

Sorry, I somehow mixed up the beginning of your first and last names!

Hi Liam.I started with the e220 which worked well, but lost same on a recent trip to Uk. Replaced @ ++xpence with e169. It now works but my problem is it will not reconnect unless I delete and recreate connection.Sometimes it hangs, other times,"details" "receive serial link is not 8-bit clean. Problem: all had 7 set to 0. Modem hangup" like Helen's comment. Simpler (but time consuming) to delete connection before turning off eee (701) then recreating after rebooting. Any suggestions please?
My I add my thanks to you Liam and all who have helped me and others.Elaine


Add new comment

Comments are always very welcome, but please note the following:
  • Sadly due to the high number of spam comments recently all comments are now manually moderated. You comment will therefore not appear on the site instantly.
  • Comments on this web site are monitored for spam using Mollom. By posting a comment, you accept that your message and other personal details about you will be analysed and stored for anti-spam and quality monitoring purposes, in accordance with Mollom's privacy policy.
  • Please use your own name not a company or website name to submit comments. Your comment will be removed if you don't do this.
  • All links in comments will be marked with a no follow attribute. That means posting a link to your site here won't help your search engine rankings.
  • By submitting a comment you agree that your comment can be reproduced under the same licensing terms as the rest of the content on the site.
  • Comments can be removed at any time without explanation, but won't be removed just because you disagreed with something I said.