Prepaid-manager-applet (ppm) is an applet for the GNOME Desktop that allows you to check and top up the balance of GSM mobile prepaid SIM cards.
Ppm is currently beta quality software.
Prepaid SIM cards are a cheap way to get internet access when traveling abroad. However you need to check and top up your balance from time to time. Most carriers allow to do this via Unstructured Supplementary Service Data (USSD) messages.
If you have the prepaid SIM in your laptop, netbook or in an USB GSM/3G stick you would need to take out the SIM card, stick it into a mobile phone and enter the correct USSD sequence to check or top up the balance (or you would need to use the Windows only software supplied by your provider). With ppm you can do this straight from your laptop without removing the card under Linux.
It uses ModemManager (the GSM and 3G helper of NetworkManager) to talk to the modem and mobile-broadband-provider-info to determine the necessary USSD codes for your provider.
USSD messages are not standardized and vary between providers. They usually look like
*130#
to query the balance and
*123*123456789012#
to top up the balance. The 12 digit number after the second star is the top-up code which can usually be bought in e.g. supermarkets or from your provider to top-up a certain amount of credit.
Features
- It can check the remaining balance via USSD
- It can top up the balance with a given code via USSD
Source Code
The source code is available via:
git clone https://git.sigxcpu.org/cgit/ppm
and can be browsed here.
Releases
Tarball releases are available from here, Debian packages are also available.
Building
Fetch the source code from git then do a:
./autogen.sh
make
make install
Dependencies
Running ppm is a bit tricky at the moment since you need git versions of ModemManager. Once these things end up in your favorite distro things will get much easier. You need:
- ModemManager git, the 0.5 release contains the necessary USSD support. The version in Debian unstable is recent enough.
- mobile-broadband-provider-info with support for top-up information. The version in Debian Wheezy (>= 20110424) is recent enough.
- python 2.6 or 2.7
- PyGI >= 2.28.3, Debian package: python-gobject
- GTK+ >= 3.0.0, Debian package: libgtk+-3-0
Running
The GNOME wiki explains how to run and debug ModeManager from the command line.
To run ppm and point it to a current mobile-broadband-provider-info database use:
PPM_PROVIDER_DB=/path/to//mobile-broadband-provider-info/serviceproviders.xml /usr/local/bin/prepaid-manager-applet
In case ppm can't determine your provider from the information on the SIM card it will allow you to select a provider from the list.
Provider Information
If the information about your mobile broadband provider is incomplete ppm will complain. In order to complete this information just get the mobile-broadband-info-provider source as described above, look for your provider in the serviceproviders.xml. Search for your provider in the file and add the balance-check and balance-top-up information, e.g.:
<balance-check>
<ussd>*130#</ussd>
</balance-check>
<balance-top-up>
<ussd replacement="CODE">*130*CODE#</ussd>
</balance-top-up>
Then check if the XML is still valid via:
xmllint --noout --dtdvalid file://$PWD/serviceproviders.2.dtd serviceproviders.xml
and send me the patch. More details about the format and how to add other items are in the GNOME Wiki.
Screenshots and Video
Here are screenshots of the balance check and top up dialogs:
In this case the messages returned from the provider are in German. This is because USSD messages are free text and the provider doesn't localise things.
This video shows ppm in action:
Todo
For a list of TODOs see the TODO file in the source code
Tested Hardware
The following GSM/3G modems were tested with the listed prepaid providers:
Modem | Provider | Connection | Works | Comment | |
---|---|---|---|---|---|
Nokia N900 | Swisscom | USB | yes | ||
Nokia N900 | m:tel | USB | yes | Needs mobile-broadband-provider-info git for BiH | |
Nokia N900 | Tchibo Mobil | USB | yes | ||
Nokia 3120 | Swisscom | Bluetooth | yes | BT connection via rfcomm | |
Huawei E1750 | Tchibo Mobil | USB | yes | Needs ModemManager >= 0.5 | |
Huawei E1690 | Aldi | USB | maybe | Needs ModemManager >= 0.5 | |
Huawei E1820 | USB | yes | Needs ModemManager >= 0.5 | ||
ZTE MF190 | O2 | USB | yes | Needs ModemManager >= 0.5 |
Other tools supporting USSD
These tools support sending USSD messages but don't use any provider info:
Authors
prepaid-manager-applet was written by Guido Günther <agx@sigxcpu.org>.
License
ppm is free software and licensed under the GPL Version 3.