Posted tagged ‘GSM’

WAP @ Home

May 26, 2013

Last night, I decided to install Kannel (an Open Source Wireless Application Protocol gateway), for a challenge.

It seems that installation itself was easy (just a case of downloading a snapshot archive, unpacking it, installing the libxml2-dev package from the Ubuntu repositories, and then running ./configure && make && make install to install it.

However, actually configuring it to run successfully was harder, since the “bearerbox“, and “wapbox” utilities will just unceremoniously quit with a “panic” notice, if they can’t either find their configuration file, or if it isn’t structured in a suitable manner.

I ended up copying the example configuration file from ~/kannel-snapshot/doc/examples/kannel.conf to /etc/kannel/kannel.conf, and modifying it to look like:

I also had to configure my residential gateway/router to use my laptop’s IPv4 address as a DMZ host. (Although I originally intended to just allow inbound traffic on UDP ports 9200, and 9201, for testing purposes).

After doing so, the core BearerBox utility can be invoked with bearerbox /etc/kannel/kannel.conf.

WAPBox is supposed to start automatically – however, it didn’t in my case, so I had to manually invoke
wapbox /etc/kannel/kannel.conf, in order to prevent this error:

To test to see if I could connect to the newly-installed gateway, I decided to play with the “Network Settings” view of the BlackBerry OS version of the Shazam application, since it allows for overriding of the default GPRS/WAP settings.

I ended up using the following settings (which will probably be useless for other readers, but otherwise provide a template):

APN: payandgo.o2.co.uk
Username: payandgo
Password: password
WAP Gateway IP: 95.150.51.112
WAP Port: 9201

(*) These are network WAP Settings

[Y] Enable Overrides

After selecting “Test Settings”, and waiting a while, I eventually received a packet from O2’s GPRS gateway on behalf of my handset:

Unfortunately, it seems that connections are not always successful – presumably due to either WAPBox/BearerBox configuration issues, or problems with connectivity between the GPRS gateway, my handset, and my network.

(I suspect that O2 occasionally block third-party gateway connectivity, or that the BlackBerry OS WAP stack copes badly with multiple failed connection attempts).

Connectivity problems aside, this might be a useful way of debugging/testing applications using cellular data networking on handsets without a Wi-Fi radio.

Let’s Try RTL-SDR! – Part 1

July 26, 2012

Recently, I received a device that was originally marketed as a USB DAB/DVB/FM receiver, containing a chipset compatible with the utilities from the RTL-SDR project.

It cost £17.50 (roughly €22.42/2159円/US$27.45, according to WolframAlpha) including free shipping from the US.

What’s in the kit?

The receiver that I ordered was supplied with only a remote control, and a stubby antenna with a magnetic base. No CD-ROMs, or user manuals were included.

About the hardware

The eBay listing page claims that it contains an Elonics E4000 tuner IC, and a RealTek RTL2832U DVB-T demodulator IC.

lsusb -v Reports:

Installing RTL-SDR, and associated utilities

Download and run the build-gnuradio script, as recommended by Andrew Back:

At this stage, the script will request elevated privileges, in order to search for prerequisite packages using the system package management utilities.

Since the disclaimer warns that the process may take a long time, I’d recommend obtaining one’s favourite beverage; ensuring that the PC used has a sufficient amount of free disk space, and is well-ventilated (if using a laptop), to prevent it from potentially overheating, and unexpectedly shutting down; and searching for something else to do in the meantime…

For some reason, the Checking for package python-gtk2 step seems to take an unusually long time on my laptop; and temporarily stopping the script yielded:

It seems that despite my best efforts to prepare things in advance, I ran out of disk space at that stage:

Eventually, I resorted to running apt-get clean && apt-get autoclean, and moving some large files to an external disk, in order to free 1.5GB of 9.4GB; and re-ran the script, with more successful results:

It seems that on a 64-bit Ubuntu installation, a full instance of the script’s working directory (containing all source code, and binaries) is about 520MB in size.

Notes on AirProbe installation

For readers wishing to install AirProbe using the instructions on the project’s Website, I recommend running sudo ln -s /usr/local/include/gruel/swig/gruel_common.i /usr/local/include/gnuradio/swig/ && ldconfig, after installing GNURadio, in order to avoid some frustrating bugs in various build scripts related to missing “Gruel”, and “SWIG”-related files.

Testing the result

Since this post is becoming rather long, and I’m unsatisfied with the content that I planned for this section, I’ll follow up with a second post related to testing the software post-installation, soon.