Huawei EC1261 Pfsense Configuration

  • Hi Everyone!

    I just recently stumbled upon Pfsense, as I was looking for a good firewall to use. I have overcome a few hurdles I had in the beginning like the installation and the web interface familiarity. Right now, I desperately need help on how to setup and properly configure a Huawei EC1261 dongle/modem on Pfsense. I want to use the modem as my main interface to the Internet and use a second NIC to share (using Limiter) the connection to users.

    The only problem I have is the setup of the modem, which has literally bogged me down!

    Any help is very much appreciated!

  • Netgate Administrator

    It's not on the list of known working modems but that's not surprising.

    It looks like it can be done via the FreeBSD port of usb modeswitch:


  • @stephenw10:

    It's not on the list of known working modems but that's not surprising.

    It looks like it can be done via the FreeBSD port of usb modeswitch:


    Thanks Steve!

    Something funny has happened … :) ... I spent the entire day, yesterday, looking for solutions on-line and just trying out EVERYTHING! When nothing seemed to work, I came to the forum and posted my bewilderment. I came to the office this morning, re-run some of those commands with slight modifications and voila it works! "So, what's funny about it?" you ask. Well, I can't retrace my steps; it's like I fixed it, but only that I don't know how I did it! lol

    Not having usb-modeswitch or using repositories (like I'm familiar with in Ubuntu) and pfSense being stripped off of many Linux commands (make install, for example) has been really difficult.

    Just for your information, I have:

    A full installation of pfSense 2.0.1 (pfSense 2.0.1-RELEASE-pfSense (i386)) on a Dell Optiplex 760 (Intel Core2 Duo, 1GB RAM, 80GB HDD, 3 NICs)

    Here's what I remember doing:

    First: install usb_modeswitch

    add_pkg -r 

    (got instructions from

    Second: run the usb_modeswitch command with these options

    usb_modeswitch -H -c /path/to/config/file/file.ext

    Then a great many of failures (at least I think they were) and restarts later, I could finally see the modem & setup the PPP on the Interface tab in pfSense!?!

    My question now is: this was an experimental server, and deployment will have to be done elsewhere on a different hardware. Help me straighten up, hopefully, by pointing to me what the config file is supposed to look like, and if the commands and procedures I took were, shall we say … pfSense-sensible :-)

    I've been using Ubuntu for about 4 years now and it's been an interesting journey. Especially considering the fact that there are no more than just  a few Linux enthusiasts here in Ethiopia. Now, just when I thought I had mastered all things in life (all because I knew how to use sudo apt-get and press Enter), comes pfSense, to humble me.

    The link you sent me is Ubuntu-specific and locations like where the usb-modeswitch.conf file is do not exist here in pfSense. I would be very grateful if I could get detailed/easy to follow instruction to use on pfSense.

    Thanks again for your help!

  • Netgate Administrator

    Looks like you are doing most things correctly.
    The normal output from usb_modeswitch a list of 'not found' lines with hopefully one 'found' line.

    There is a much more detailed thread about using usb_modeswitch, here is a specific post from that thread:,46329.msg247933.html#msg247933
    The whole thread is useful though for greater understanding.

    Using usb_modeswitch is still a bit of a hack, it work well for some people but not for others.

    I have no idea how many pfSense users there are in Ethiopia but it can't be many!  ;)


  • Hi Steve!

    I've finally conquered my foe! Yes, I did! And it's almost embarrassing :P But, it's done. For anyone looking for a quick answer, here's what you do, in short:

    SSH into your pfSense or go to the pfSense Shell, and type:


    This will install usb_modeswitch which you will need for pfSense to recognize your modem, by doing the "switching" from being seen to a storage device, to being detected as a communication device.

    Then do:


    I think this is to help you "incorporate" the newly added package and make it active. Please correct me if I'm wrong. I'm new to pfSense and freeBSD.

    Then you type this MAGICAL, sweet command:

     usb_modeswitch usb_modeswitch –H –v 12d1 –p 1001  

    Please see and to learn more about the command following usb_modeswitch. But basically, you're giving the vendor ID "12d1" and the product ID "1001" to recognize the modem. The -H is to tell usb_modeswitch that it's a Huwaei modem.

    VOILA! You're done! It took me many many days to figure this tiny little command. Alas, you shouldn't waste your time. Enough time has been wasted, and may the human race continue to share knowledge and experience :-)

    I'm also working on a detailed instruction manual that will guide new users (like I once was, yes I'm now a veteran … ) through the process of acquiring pfSense, burning it to a CD, doing a stand-alone installation and configure the rest of the whistles and bells to make it recognize the modem and use it as a gateway! It's going to be a PDF and I will share it here soon.

    Hope this helps someone. Cheers!

    • Thanks Steve for your guidance. I appreciate it!

  • Netgate Administrator

    No problem, glad you got it working.  :)
    The rehash command causes FreeBSD to rebuild the list of files reachable in the path. After installing new files via a package you need to do this FreeBSD knows where they are or you can use the absolute path when calling the command.


Log in to reply