Using Modem Manager GUI with an Internet Dongle

Tuesday, 13 May 2014

by Silumesii Maboshe

Although Zambia currently has three different Mobile Network Operators (MNOs), there is a lot about what they offer that is the same. For Internet, they offer a combined spectrum of 3G to 3.75G to 4G connectivity. The service is improving steadily with time. As service providers, they are becoming more savvy with their packaging but sometimes that means taking a money-first approach. Maybe that’s a good thing depending on which side of the table you are sitting.

One of the things the operators have in common is that they rely on USB Internet modems or “dongles” for customers to access their Mobile Internet service. It’s a standard setup across the board:

  1. Buy a SIM card (and register it)
  2. Buy a mobile Internet dongle
  3. Buy airtime
  4. Load airtime on to your SIM card
  5. Convert the airtime in to a “data bundle” of your choice

Annoyingly, neither Airtel, MTN nor Zamtel offer an unlimited data service. I live on bandwidth and having to ration my usage is next to impossible in my line of work. Another common annoyance is that if you have left-over airtime after converting it to data, when your data is exhausted, you don’t get disconnected. No, Sir. The dongle will cannibalise your remaining airtime until there is not a single ngwee left—a standard feature across network providers.

The dongles will either be from ZTE or Huawei. What I suspect is that all the operators use exactly the same management tools and equipment. I also suspect that it is difficult to customise or extend the code (or some bright spark in one of the companies would have done so already). If my two suspicions are correct, that says something about our service delivery culture and also about our developer culture. It says, firstly, that we’d rather buy than build and second that our sense of wonder, our desire to tinker and curiosity to experiment and fix things is being dulled.

Mac, Windows and Linux

If you are using Mac OS or Windows, the first time you plug in the dongle, it does the automatic setup dance and a few seconds later you are presented with a branded screen that allows you to use the modem and manage your airtime and data bundles. You’ll quickly notice that the modem management software is really the same regardless of the operator or modem manufacturer.

On Linux, however, you are not given the same experience. I use Ubuntu.

Early on, my bundle-reload dance involved:

  1. Disconnecting the dongle from my computer
  2. Removing the SIM card,
  3. Placing the SIM in to a mobile handset
  4. Loading airtime on to the SIM
  5. Converting the airtime in to a data bundle
  6. Removing the SIM card from the mobile handset
  7. Replacing the SIM in to the dongle
  8. Reconnecting the dongle to the computer

That felt more like hard labour than it needed to be so I hit the search engines to find a way around this. To my delight, I found a nifty little tool called Modem Manager GUI.

Modem Manager GUI

This is how Modem Manager GUI is described in the Ubuntu Apps directory:

This program is a simple graphical interface for Modem Manager and Wader daemon D-Bus interfaces. It can send, receive and store SMS messages, send USSD requests and read answers in GSM7 and UCS2 formats, and scan for available mobile networks.

What a learned from installing and using the tool is that my computer already had the ability to do USSD, SMS and GSM stuff but that it was all happening in different places. This tool was pulling all that together. That made me happy.


You can install Modem Manager GUI using the Ubuntu Software Center.

If you are a command line nut like me, apt-get is your go to:

sudo apt-get install modem-manager-gui

For me, it installed in seconds.

Using Modem Manager GUI

After installation, to start Modem Manager GUI, I use the Ubuntu Launcher.

  1. Hit the “Super” button (on my keyboard this is set, by default, to the Windows button) to start the Launcher
  2. Type in a phrase to search for the application we want to launch. In this case, I typed “modem”
  3. Hit “Enter” or click on the application icon to launch it

Launch Modem Manager GUI

With Modem Manager GUI running, we can now do the things we had to do on the handset.

Checking the airtime balance

To check the balance of a SIM card, we need to send the USSD code 114# to our network operator.

Checking the SIM card balance

Thanks to ZICTA, *114# is a standard USSD code across Zambian mobile operators to check your airtime balance.

Loading airtime

Loading airtime is another standard USSD message the format is:


For example:

Loading airtime on the the SIM card in the dongle

And there you have it. No need to use a mobile handset to load airtime.

Buying bundles on MTN

At this point the process of converting your airtime in to a data bundle is different. Each network operator has their own bundles at different prices. The quality of their service is different as well.

I use MTN for Mobile Internet and here is what the process looks like for me. This example shows how I get a 3GB data bundle.

Use USSD code *335# to access the MTN data bundle menu:

Access the MTN data bundle menu

Select option 1 to purchase data bundles:

Select the data bundle purchase option

Select option * until we get to the data size we need. In this case we need the 3GB option:

Select the data bundle required

Option 10 selects the 3GB data bundle we need:

Select the data bundle required

Confirm the purchase:

Confirm the purchase

Confirm the purchase

Now, I can get back online in a fraction of the time it used to take me to recharge a data bundle.


I haven’t actually talked about how to connect to the Internet using a dongle on a Linux machine. This is not something that Modem Manager GUI handles.

There are other useful things that Modem Manage GUI has in its toolbox. Feel free to play with it. You won’t be disappointed with what you discover ;-).