Huawei E1550 on Ubuntu 10.04 Lucid Lynx

I used to manually change the mode of the Huawei E1550 USB 3G Modem from Sun whenever I want to use it under Linux. Aside from the need to install the usb_modeswitch package, it also requires me to edit /etc/usb_modeswitch.conf to support that particular device. After that, I will have to run “sudo usb_modeswitch” every time I want to use the modem.

Today, I discovered a less tedious solution from here. His solution also requires creating a new configuration file but the end result enables your machine to automatically switch the mode of your 3G Modem from USB Storage to USB Modem. Anyway, here’s how to do it on Ubuntu Linux. I was able to test this on 10.04 Lucid Lynx and I believe this should also work on 9.10 Karmic Koala.

Create a new rule for udev:

$ sudo vi /etc/udev/rules.d/15-huawei-155x.rules

Type the following:

SUBSYSTEM=="usb",
ATTRS{idProduct}=="1446",
ATTRS{idVendor}=="12d1",
RUN+="/lib/udev/modem-modeswitch --vendor 0x$attr{idVendor} --product 0x$attr{idProduct} --type option-zerocd"

Then, save and exit. The next time you plug in your USB modem, your system should automatically switch it to USB Modem mode and you’re good to go.

Now, if you’re wondering where these weird numbers came from, run the following command and try to figure it out.

$ sudo lsusb -v

But wait, there’s more. Before you can finally use your USB modem to connect to the Internet, you still need to configure your network connections. Simply go to “System -> Preferences -> Network Connections” and you’ll see this dialog. Select the “Mobile Broadband” tab.

Ubuntu 10.04 Network Connections Dialog

Click the “Add” button and the Mobile Broadband Connection wizard should be able to help you configure your Internet connection in no time.

For Sun Broadband Postpaid users, you should change the Access Point Name or APN value to “fbband” instead of “minternet”.

About these ads

69 thoughts on “Huawei E1550 on Ubuntu 10.04 Lucid Lynx”

  1. interesting info, I’ve tried it but I did not succeed,
    I am very confused until putting 3 files below into folders rules.d n my problem is solved

    $ sudo gedit /etc/udev/rules.d/15-huawei-155x.rules

    content
    SUBSYSTEM==”usb”,
    ATTR{idProduct}==”1446″,
    ATTR{idVendor}==”12d1″,
    RUN+=”/lib/udev/modem-modeswitch –vendor 0x$attr{idVendor} –product 0x$attr{idProduct} –type option-zerocd”

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    $ sudo gedit /etc/udev/rules.d/15-huawei-e1551.rules

    content
    ACTION!=”add”, GOTO=”huawei_zerocd_end”

    SUBSYSTEM==”usb”, ATTR{bDeviceClass}!=”ff” ,ENV{DEVTYPE}==”usb_device”, GOTO=”huawei_zerocd_disable”
    SUBSYSTEM==”scsi”, ENV{DEVTYPE}==”scsi_device”, GOTO=”huawei_zerocd_disable”
    GOTO=”huawei_zerocd_end”

    LABEL=”huawei_zerocd_disable”
    ATTRS{idVendor}==”12d1″, ATTRS{idProduct}==”1446″, RUN+=”modem-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd”

    LABEL=”huawei_zerocd_end”

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    $ sudo gedit /etc/udev/rules.d/15-huawei-e1550.rules

    content

    SUBSYSTEM==”usb”,
    SYSFS{idProduct}==”1446″,
    SYSFS{idVendor}==”12d1″,
    RUN+=”/lib/udev/modem-modeswitch –vendor 0x12d1 –product 0×1446 –type option-zerocd”

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    I just want to ask what difference the above scripts?

    1. Hi, the 1st and 3rd scripts are essentially the same, except for a few enhancements.
      1. ATTR instead of SYSFS. I believe SYSFS is an old key, but still supported by newer versions of udev.
      2. I’ve used string substitution in the 1st script. $attr{idVendor} will be replaced the by “12d1″.

      The 2nd script included additional checking of the device class and device type before checking for the vendor id and product id.
      1. ATTR (w/o S) will only try to match the attribute of the device.
      2. ATTRS (w/ S) will also try to match the attribute of any parent devices. Perhaps this one is better.
      3. %s is just the same as $attr, only shorter.

      I hope I was able to answer your question. :)

  2. Thank you very much

    really helped me and hopefully other friends can use and enjoy it

    regards
    James Edy

  3. i’m back

    b4 i use karmic, i hv problem to with e 1550
    when I in the area gprs only, i can’t use E 1550 to dial or connect the internet,
    how to manage signal of E 1550?
    I hv not tried it in Lucid, but tomorrow I will be mobile to the gprs areas, I’m worried e 1550 no longer be able to use

    thanks b4

    regards
    James Edy

    1. Hi James,

      I don’t know if there’s a way in Linux to force the modem to use a particular signal (e.g. GPRS or UMTS) in the absence of one. I know it is possible to do this in the Windows application that comes with the modem.

      In most cases, I think you’ll only need to change your APN settings. The modem should take care of switching between the supported signals. We should verify this with our service providers or the modem manufacturers.

      Let me know what happens.

  4. Hi, in Indonesia with TelkomselFlash provider i have to entry some code PIN on my GSM card before i use it, the Question is how to entry this code pin with this tutorial, oh i’m using Huawei E1550 with SUN Broadband logo on Lucid Lynx, and it’s only detected as storage and card reader on my lucid, can you help me ?
    thank’s before

  5. Hi

    i am using E156g 3G dongle. in ubuntu 10.04 it is not working.
    it show as a CD drive. but from my sony w810i i can easily connect with internet.
    please send me a code to active it as a mobile broadband device.

    1. Hi,

      First, verify if your device wasn’t really identified as a modem. Run the following command:

      $ lsusb | grep 12d1

      If it’s already in “modem” mode, the output should be something similar to this:

      Bus 002 Device 003: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem

      Otherwise, it would be something like this:

      Bus 002 Device 002: ID 12d1:1446 Huawei Technologies Co., Ltd.

      If it’s already in modem mode, just proceed and setup your network (System -> Preferences -> Network Connections). If it’s not yet in modem mode, here’s the command to manually switch the mode of your 3G modem:

      $ sudo -v 0x12d1 -p 0x#### -t option-zerocd

      You should replace #### with the correct product id returned from the lsusb command.

      Let me know what happens… good luck!

      1. HI,
        Am from India, and facing the same problem through Huawei 1261, and as per your earlier advice when I typed command
        $ lsusb | grep 12d1
        it gave me a reply as:
        Bus 002 Device 002: ID 12d1:1446 Huawei Technologies Co., Ltd.
        Since I am novice in linux, would gladly be looking for your help on the matter, I just cannot take this defeat that my modem is detected and running fine on windos but not on my ubuntu.

        Please help.
        Thanks
        Vinay

      2. I followed the instructions you have given and set-up the modem .
        Now when I plug the modem and Run the command:
        $ lsusb | grep 12d1
        I’m getting
        Bus 002 Device 003: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem

        but when I go to the network manager I could not find the modem to set-up the broad band :(

        Please help me

      3. Hello, am using an E3131 Huawei usb modem. I installed the mod-switch as advised. I ran
        $ lsusb | grep 12d1
        I get the output below
        Bus 002 Device 005: ID 12d1:14fe Huawei Technologies Co., Ltd.

        here is the list files in
        $ ls /etc/udev/rules.d/
        15-huawei-155x.rules
        31-huawei-e3131.rules

        Content of 15-huawei-155x.rules
        ———————————————————————————————————-
        SUBSYSTEM==”usb”,
        ATTRS{idProduct}==”14fe”,
        ATTRS{idVendor}==”12d1″,
        RUN+=”/lib/udev/modem-modeswitch –vendor 0x$attr{idVendor} –product 0x$attr{idProduct} –type option-zerocd”
        ———————————————————————————————————

        Content of 31-huawei-e3131.rules
        —————————————————————————
        ACTION!=”add”, GOTO=”huawei_zerocd_end”

        SUBSYSTEM==”usb”, ATTR{bDeviceClass}!=”ff” ,ENV{DEVTYPE}==”usb_device”, GOTO=”huawei_zerocd_disable”
        SUBSYSTEM==”scsi”, ENV{DEVTYPE}==”scsi_device”, GOTO=”huawei_zerocd_disable”
        GOTO=”huawei_zerocd_end”

        LABEL=”huawei_zerocd_disable”
        ATTRS{idVendor}==”12d1″, ATTRS{idProduct}==”14fe″, RUN+=”modem-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd”

        LABEL=”huawei_zerocd_end”
        —————————————————————————————————

        I started the udev service.
        Unfortunately, the e3131 modem does not perform. I made configurations for the APN, but no change whatsoever.

        Would you possibly correct me?
        Thanking you, Simon.

  6. Your solution works for me on Ubuntu 10.04.

    To make sure that settings will be used once you plug in device (without restarting machine after file creation) use following command:
    # service udev restart

    Thanks for this article

  7. This worked for me on a huawei 220 aswell. But after aplying this hack the computer was unable to recognize any other usb device.

      1. hi Franklin Chua,
        For me the devices which are not working are pen drive and memory card SD.

      2. I tried every advice I have found during the last days but the (unable to connect other usb devices problem) is there all the time. pendrives, harddrives etc. But…… at last I found a solution. When I installed the latest 2.6.34rc7 lucid kernel everything worked just like it used to in Karmic. And the other good thing was that the troublesome intel video driver works again. So my old laptop got a second live.

    1. Dear All, I have solution for this problem. Just delete/remove your ~e155x.rules using rm, and then instal usb-modeswitch package. It work for my modem and other usb device.

  8. Hi Franklin,

    I’ve tried all that you’ve mentioned, but Lucid still detect my usb modem as flash storage system. It worked in the previous ubuntu version. I really don’t know what else to do. Guess I might have to revert to the older version of ubuntu. Sigh…

  9. Hi, the suggested fix (with the added https://launchpad.net/~r0lf/+archive/ppa/+build/792949 as in the comments) works for me with my Huawei 1550 modem.
    Only problem is though, it renders all the USB port useless with other devices as long as it is in action (read resides in the dir). USB-HD, Memorycard readers, USB sticks, none of them are mounted/recognized with this rule residing in the /etc/udev/rules.d/ dir.

    /etc/udev/rules.d/15-huawei-155x.rules
    containing:
    SUBSYSTEM==”usb”,
    ATTRS{idProduct}==”1446″,
    ATTRS{idVendor}==”12d1″,
    RUN+=”/lib/udev/modem-modeswitch –vendor 0x$attr{idVendor} –product 0x$attr{idProduct} –type option-zerocd”

    1. Hi,

      Someone had pointed out the same problem before and he told me that he was able to fix it by upgrading to a newer kernel version.
      I’m not entirely certain if this could help you.

      1. Hi,

        I am facing this problem since long time but i could not find any solution. I am using E1550 modem in Ubuntu 10.04 and 2.6.32 karnel and this is one of newer version of karnel. But still i facing the same problem. Whenver i connect the modem it is working but after that no usb memory device(pen drive) is not working. If i remove 15-huawei-155x.rules file, then my PEN drive worked.

        Can you please help me out.

        MD Touhiduzzaman

  10. hi Franklin Chua…
    i’m from indonesia.
    my problem is the same as himawan’s….
    can u help me……thx b4…

  11. Hi there,
    I am very new in Ubuntu…
    following your text… I don’t know how to Save and exit from the kernel? can you please let me know how to save this new rule?

    Thanks
    Yamid

  12. Hi again, I thought the benefit of a forum is to help not to delete their comments! may be they are easy for some while difficult for some others…
    Thanks I am not as them…..

    here is the solution for using the USB as a modem.
    you need to save this file and put it in the rules folder of your Linux:

    ACTION!=”add”, GOTO=”huawei_zerocd_end”

    SUBSYSTEM==”usb”, ATTR{bDeviceClass}!=”ff” ,ENV{DEVTYPE}==”usb_device”, GOTO=”huawei_zerocd_disable”
    SUBSYSTEM==”scsi”, ENV{DEVTYPE}==”scsi_device”, GOTO=”huawei_zerocd_disable”
    GOTO=”huawei_zerocd_end”

    LABEL=”huawei_zerocd_disable”
    ATTRS{idVendor}==”12d1″, ATTRS{idProduct}==”1446″, RUN+=”modem-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd”

    LABEL=”huawei_zerocd_end”

  13. try this is simple way :

    root@xxx-desktop:~# echo ‘SUBSYSTEM==”usb”, ATTRS{idProduct}==”1446″, ATTRS{idVendor}==”12d1″, RUN+=”/lib/udev/modem-modeswitch –vendor 0x$attr{idVendor} –product 0x$attr{idProduct} –type option-zerocd”‘ | sudo tee /etc/udev/rules.d/15-huawei1550.rules

  14. if modem device (/dev/ttyUSB0 or USB2) still not appear after use above way, try to modprobe :

    ubuntu@ubuntu:~$ sudo modprobe usbserial vendor=0x12d1 product=0×1001

    tested on ubuntu 10.04 live usb.

  15. Just want to say what a great blog you got here!
    I’ve been around for quite a lot of time, but finally decided to show my appreciation of your work!

    Thumbs up, and keep it going!

  16. Hi, I am new to Linux and I am trying to connect to the internet using the Huawei e1550. I am running Ununtu 10.04 and I’ve successfully managed to active the modem using the usb-modeswitch command. The only problem is that the internet connection keeps cutting every 3 seconds or so. Could anyone please help?
    I have tried everything I can but to no avail. Any bright ideas?

  17. I faced the same problem that everyone shared in Ubuntu 10.04 LT recognised usb as a cdrom. The reasion i wanted to try Ubuntu 10.04 LT is to try the openerp programmes,
    otherwise i would stay with

    PclinuxOS latest version that have no problem connecting the E1550 starhub modem.
    I am waiting for openerp to be available in pclinuxOS.

    Curious

  18. Thank you from your help, I’m writting from my Mint9 (based on Lucid) with my broadband connection.

    At first it didn’t work for me, and I tried with lsusb; seeing that idProduct was a little different.
    Here’s how I typed /etc/udev/rules.d/15-huawei-155x.rules

    SUBSYSTEM==”usb”,
    ATTRS{idProduct}==”140c”,
    ATTRS{idVendor}==”12d1″,
    RUN+=”/lib/udev/modem-modeswitch –vendor 0x$attr{idVendor} –product 0x$attr{idProduct} –type option-zerocd”

    Thanks Frank !!!

  19. This sucks. Ubuntu Karmic has NO PROBLEM absolutely to have the Huawei E169 “work out of the box” at all – and Lucid is supposed to be a Long Term Support!!

    Ubuntu is going from bad to worse with hardware detection come every new version, just like Fedora.

  20. I can’t resolve my problem on Ubuntu 10.10. Did this tutorial used Windows before log in and connected in Lucid? I don’t have WIndows. I have only maverick on my PC. usb_modeswitch didn’t change my modem id 05c6:1000 to 05c6:6000. There was no action from wvdial too. I use Prolink P2000.

    I really need answer quickly. Please send me a copy of answer to my mail. Thank you, Mr. Frank.

  21. I am same problem with my Huawei ec150 with ubuntu 11.04.

    When I do the lsusb it shows like below

    Bus 008 Device 002: ID 12d1:1505 Huawei Technologies Co., Ltd.

    I have tried like
    sudo -v 0x12d1 -p 0×1505 -t option-zerocd

    but no luck its still not detecting as modem

    1. Anthony, nag work ba sa iyo yung svn gamit yung Sun Broadband? Sinubukan kong mag download ng codes na nakahost sa Google codes gamit tortoiseSVN. Ito yung lagi kong natatangap na error: “The OPTIONS request returned invalid XML in the response: XML parse error at line 1: no element found ”

      Luckily my Globe Broadband sim din ako at open line na Huawei E1556c. Successfully akong nakapagdownload from Google codes.

      @Franklin Chua, I know this is off-topic but can you try using your other SIM cards and check if you can check out codes form any public svn servers? Thanks in advance.

      1. Hi Sir Francis,

        I did a quick test using my Sun Broadband (unfortunately I don’t have any other SIM cards) and I have the same issue, at least when using “http”. I believe this is caused by Sun’s proxy servers not being able to handle the HTTP OPTIONS command properly.

        To verify this theory, I did a simple experiment using my wired Internet connection (Globelines) and my wireless Internet connection (Sun). Here’s a screen capture of the packet dump for the two scenarios. The left side (Globelines) shows the correct sequence of packets while the right side (Sun) shows the incorrect sequence/contents of the packets.

        https://franklinchua.files.wordpress.com/2011/12/packet_capture_comparison.png

        As you can see, the order of the fields in the response (right side) is incorrect. In addition, the Content-Type and Content-Length fields are also wrong. I believe this is what’s causing SVN to fail.

        A quick and dirty solution is to switch to “https” (e.g. https://raulrajatutorials.googlecode.com/svn/trunk) or ssh+svn (if you have remote access to the repository).

        Unfortunately, there’s nothing we can do about Sun’s proxy servers and their Internet usage policies.

        Hope this helps.

        Frank

  22. Hello Sir ,
    I am from India, i am facing a problem that Idea net Setter i.e., Huawei E1732 3g device is not working in ubuntu 10.04 LTS version.In ur blog i read the solution for e1550 device.Will that script work for e1732 too, if it’ll work then do i need to do some modifications in the script…?…Please reply…:):)

  23. Hey there just wanted to give you a brief heads up and let you know a
    few of the pictures aren’t loading properly. I’m not sure why but I think its a linking issue.
    I’ve tried it in two different web browsers and both show the same outcome.

  24. Hello, am using an E3131 Huawei usb modem. I installed the mod-switch as advised. I ran
    $ lsusb | grep 12d1
    I get the output below
    Bus 002 Device 005: ID 12d1:14fe Huawei Technologies Co., Ltd.
    here is the list files in
    $ ls /etc/udev/rules.d/
    15-huawei-155x.rules
    31-huawei-e3131.rules
    Content of 15-huawei-155x.rules
    ———————————————————————————————————-
    SUBSYSTEM==”usb”,
    ATTRS{idProduct}==”14fe”,
    ATTRS{idVendor}==”12d1″,
    RUN+=”/lib/udev/modem-modeswitch –vendor 0x$attr{idVendor} –product 0x$attr{idProduct} –type option-zerocd”
    ———————————————————————————————————
    Content of 31-huawei-e3131.rules
    —————————————————————————
    ACTION!=”add”, GOTO=”huawei_zerocd_end”
    SUBSYSTEM==”usb”, ATTR{bDeviceClass}!=”ff” ,ENV{DEVTYPE}==”usb_device”, GOTO=”huawei_zerocd_disable”
    SUBSYSTEM==”scsi”, ENV{DEVTYPE}==”scsi_device”, GOTO=”huawei_zerocd_disable”
    GOTO=”huawei_zerocd_end”
    LABEL=”huawei_zerocd_disable”
    ATTRS{idVendor}==”12d1″, ATTRS{idProduct}==”14fe″, RUN+=”modem-modeswitch -v 0x%s{idVendor} -p 0x%s{idProduct} -t option-zerocd”
    LABEL=”huawei_zerocd_end”
    —————————————————————————————————
    I started the udev service.
    Unfortunately, the e3131 modem does not perform. I made configurations for the APN, but no change whatsoever.
    Would you possibly correct me?
    Thanking you, Simon.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s