Using Orange Kenya 3G with DD-WRT

A few weeks ago I started having problems initiating a connection with my 3G modem, but only with Orange; Safaricom worked just fine with the same USB dongle and the same software. I’m not sure if it was always like this, but Orange Kenya’s 3G service requires you to use #99***3# as the dial-up number.

Here’s my DD-WRT WAN configuration:

In the past I always used *99***1# or *99# and it worked, so I never paid much attention. Apparently that works for “most” carriers, but Orange is different for some reason. I’m not a network engineer, so it doesn’t make sense to me. 🙂

About my setup

My home network uses a Buffalo Technologies WZR-HP-G300NH wireless router for both LAN and WAN connectivity. It has 1000Mbit Ethernet ports, supports 802.11n, and only cost me ~$70.

Depending on my mood and the state of the software, I run either DD-WRT or OpenWRT firmware on the device. The stock firmware releases on this device have been rubbish since the day I bought it, and after-market firmwares have much more functionality (not to mention they’re both community-based, open-source software projects).

27 thoughts on “Using Orange Kenya 3G with DD-WRT

  1. Fantastic, would like to have that setup… did you buy the Buffalo Router locally?

    1. Nope, unfortunately! I bought it when I was in the US earlier this year.

      There are other routers with similar specs which are available in Kenya. The TP Link TL-MR3220 has a USB port and is supported by OpenWRT (always a bonus). I’ve seen it for 7,000 shillings in tao (at the Phone Xpress in Lifestyle).

      1. Hi Allan am new to router firmwares- i bought Buffalo WZR-HP-G300NH2 am told the hardware is the same as the one you used in the example here i thought i would just plug the USB 3G Modem and start using din’t foresee the manual configs i have upgraded to the latest dd-wrt for Buffalo v24 preSP2 (Build13064) and tried a few steps in the link here http://www.dd-wrt.com/wiki/index.php/Cellular_Phone/USB_Modem_as_WAN_connection
        but i can still get it working.. any advise for the lay man will be highly appreciated

        Thanks
        Boney

        1. Boney,

          I sold my Buffalo like a year ago, sorry! But if I recall correctly, the Buffalo version of DD-WRT didn’t have the 3G stuff… try using the actual third-party DD-WRT or OpenWRT firmwares if they’re supported on that device.

  2. I’m trying to use an Orange umts modem on a TP-Link MR3420 using openwrt 10.03.1 final (from 21 Dec 2011) and I can’t get it to stay connected – it connects and then hangs up immediately.

    Please can you post the log from a successful connection from your DD-WRT so I can see what’s different :-).

    Thanks

    1. For what it’s worth, I used to see that same behavior when using the wrong dial up number when connecting with Orange. Which number are you using?

      Ummm, I actually don’t know how to get the logs in DD-WRT. The ones I’m seeing in /var/log/messages are fairly short and not very useful. OpenWRT’s logread is much more handy…

  3. I’ve tried using *99***1# and *99***3#, in various combinations with AT+CGDCONT=1,”IP”,”bew.orange.co.ke” and AT+CGDCONT=3,”IP”,”bew.orange.co.ke”

    It connects every time (regardless of the combination I am using, but hangs up after 3 seconds).

    If I use #99***3* as you described above I can’t even dial, so I wondered if the text in the web interface was different to the actual number being dialled. I also wondered what AT_CGDCONT= value you were using.

    I suppose you could look in the chat script…?

    I’m trying to use the Orange modem in combination with a Safaricom one for load balancing and failover (and because Safaricom gives you a public IP address and Orange doesnt).

    I haven’t used ddwrt for years, so I can’t remember how you would see the chat log or chat script

  4. Progress…

    After adding debug to pppd options in /etc/config/network and doing some Google-fu I worked that Orange hangs up if you propose an ip address.

    So adding noipdefault to pppd options in /etc/config/network and rebooting seems to have fixed the problem.

    I realise that this isn’t relevant to you, but it might be to the next poor soul sent here by Google who is trying to make Orange Kenya work with Linux without the wvdial installation provided with the modem!

    1. Awesome, that is a great revelation. Future googlers will thank you 😉

      I actually prefer OpenWRT over DD-WRT, but I started having problems with my Orange line and eventually settled on DD-WRT for that and a few other reasons.

      For what it’s worth, I used to use Orange in this same router on OpenWRT but then it started disconnecting. When I looked around under the hood I found the the device node kept disappearing, and I would have to reboot to get /dev/ttyUSB0 to appear again. Strange…

    2. I’m using Gargoyle (based on OpenWRT) now, and I had the same exact problem you described. I remember you having this issue so I came to check. Sure enough, the problem was the same! It seems suggesting an IP to Orange is bad!

      I simply added the noipdefault flag to the network configuration, excerpt from /etc/config/network:

      config 'interface' 'wan'
              option 'auto' '1'
              option 'proto' '3g'
              option 'device' '/dev/ttyUSB0'
              option 'apn' 'bew.orange.co.ke'
              option 'dns' '8.8.8.8 8.8.4.4'
              option 'service' 'umts'
              option 'mobile_isp' 'custom'
              option 'pppd_options' 'noipdefault'

      Great detective work, Roger. Now I’m back on OpenWRT!

    1. Roger,

      I am having the same issues that you have had with the same TL-MR3420. Can you please help me with the details.

      Thanks

  5. I was trying to set ub usb modeswitch when I came across the linux Application in the mounted CDROM device:
    Screenshot: http://i.imgur.com/frNd0

    Worked fine on ubuntu 11.10
    Only requirement was qt3 and I believe wvdial
    – Installed libqt3-mt-dev

    1. Hi,

      I just came across the website – awesome!!

      I remember that a couple years ago you had blogged about making safaricom usb modems working with ubuntu 9.10 and i realized it was too much for me

      Having safaricom usb stick working by default in ubuntu 11.04-11.10 and now 12.04 has been a blessing for me

      I tried folowing whatthe poster said re: installing from the mounted cd rom device in ubuntu 12.04 (I just upgraded from 11.10)

      but it is not working for me. I tried to run the install.sh as root and it copies. Uninstall always says the driver (/opt/driver) does not exist.

      Before/after install sudo apt-get install libqt3-mt-dev and/or sudo apt-get install wvdial does not seem to make a difference

      I do get orange – Internet everywhere 3G application but it doesnt launch

      uninstall always says the driver directory does not exist.Rebooting after install doesnt help

      Pl help – i want to get from a mere ubuntu newbie to at least ubuntu-intermediate!!

      Thx – Aveesh

      1. Are you installing straight from the mounted CDROM?
        The path is read-only as far as I remember. Try copying over the “Linux” folder from the fake CDROM device onto a writable folder e.g. your Home directory, then run ./install.sh as sudo

        1. Managed to get it up and running on a fresh 12.04 x64 – Was upgrading today. Screenshot: http://imgur.com/22BJk
          Unfortunately, I didn’t have a ZTE modem to test the actual connection.

          It looks like the binary Internet_Everywhere_3G+ shipped with the modem is built for 32-bit architectures.

          First I just ran ./install.sh (sudo)

          Then I installed ia32-libs then the libqt3-mt (i386) package inside the tools folder like so:
          sudo apt-get install ia32-libs
          sudo dpkg -i –force-all libqt3-mt_3.3.8-b-0ubuntu3_i386.deb

          I suppose this should work fine too:
          sudo apt-get install libqt3-mt-dev:i386

          My system kept on complaining about libjpeg:
          The following packages have unmet dependencies:
          libjpeg-turbo8-dev : Conflicts: libjpeg62-dev but 6b1-2ubuntu1 is to be installed
          libjpeg62-dev : Depends: libjpeg62 (= 6b1-2ubuntu1) but it is not going to be installed
          libqt3-mt:i386 : Depends: libjpeg62:i386 but it is not going to be installed

          Taking the suggestion from apt, I was able to resolve this like so:
          sudo apt-get install -f

          The application launched and started probing for devices:
          ….
          12-05-08 16:06:41 WTMainWindow:____ modem off, sim off ____
          12-05-08 16:06:41 will exist carddispose fun(),isCardOnline =0
          12-05-08 16:06:43SerialThread: need to findPortName!
          12-05-08 16:06:43 It is we find port name
          19d2
          12-05-08 16:06:43 Vendor/Product ID: 12d1:14ac
          ….

          The grammar in the log is a different matter. 🙂

          Hope this helps. Kindly let us know if this workd.

      1. Impressive! Glad I didn’t have to do this in 2010 – mostly Windows

        1. hi,

          Thx for the reply. I uninstalled everything – copied the folder from the mounted CD rom device and installed it. (by logging in as root “sudo su”)

          I re-installed wvdial but then got this:
          ./Internet_Everywhere_3G+: error while loading shared libraries: libusb-0.1.so.4: cannot open shared object file: No such file or directory

          This is after installing, as you suggested, sudo apt-get install libqt3-mt-dev

          I think this is because I am using Ubuntu 12.04 64 bit and short of trying this on a 32 bit ubuntu – I dont know what to do or proceed (reading up on how to use 32 bit libusb on 64 bit led me a lot of diff posts but no definitive answer)

          Pl let me know if you have any suggestions – meanwhile I’ll try out 32 bit (perhaps in a VM)

          even after I did

    1. Excellent. Let me check it out.

      OpenSuse 12.1 Newbie | Widoze GURU!

  6. Hi Aveesh,

    You must install the ia32-libs package by calling up:

    sudo apt-get install ia32-libs

    Apparently, the dashboard directory is a 32-bit binary, and as it loads, it will look for 32-bit system libraries first, NOT 64 bit.

  7. Better still, if you are on Ubuntu, you could use gnome-ppp:

    sudo apt-get install gnome-ppp

    And then run it as root.

    sudo gnome-ppp

    Set up preferences:
    Dial number: *99#
    Username: orange
    password: orange

    And you’re sorted.

    Point to note:

    That proprietary driver from ZTE will disable NetworkManager service, rendering WiFi and Ethernet unusable. Take note. Stick to #FOSS and use gnome-ppp or if you’re on KDE, kppp.

    Adios.

  8. Hi,
    Man, am stuck on choice. Am thinking of getting this router or a dual band one. But am working with an ZTE mf192 which can be a b**h sometimes. The damn thing would not play nice with my dir412 router for a couple weeks. Had to disable virtual rom using hyperterminal and then downgrade the firmware of the router to something I found in an AU website. Plus the dir-412 is not openwrt or ddwrt supported.

    Any ideas on what router I should get?

  9. hi,
    i tried upgrading my zte mf 192 orange modem from Edge to 3G.
    during the process l lost the drivers. could you please help me to get my modem back to its former state?

Comments are closed.