Joseph Zikusooka ~ Zik

A software engineer specializing in open source technologies | Very experienced in building and configuring UNIX/Linux systems and servers. Passionate about developing software applications and hardware for the smart home | Currently serving as the CEO of Jambula Labs and the project leader at JambulaTV, a smart home automation and entertainment platform - | This blog focuses on the following areas: Linux How-Tos and Tutorials ::: IT Security News ::: Free and Libre Open Source Software ::: Smart Home Software ::: Digital Innovations in East Africa |

Year: 2013

DVB-T tuning data for Uganda

I recently submitted initial DVB-T scan data for Kampala to the dvb-apps package upstream. If you are testing DVB-T2 in Uganda using Linux, please go ahead and clone the latest git sources at:

Its still early, but at least with the latest sources, you do not have to tinker around in your app.

Also, I’m looking for testers in the region. If you’re already using DVB-T with Linux, please contact me.

Uganda’s Digital TV migration has stalled

For nearly a month now, Uganda’s Free-To-Air digital TV signals have been off. After many followers of this project breathed a sigh of relief when the transmission began a couple of months ago, it has once again become clear why the transition to digital TV in Uganda will really be messy.

To date, the testing phase for the greater kampala area has really been nothing short of a gimmick. The channels allotted to free over-the-air broadcasters have been intermittent, and when off, no communication has been provided. Also, there’s no publicly available schedule – just press statements from officials.

Most perplexing is the fact that the body in charge of migration i.e. Uganda Communication Commission (UCC) has been running adverts on local media announcing Digital TV and its benefits. Even, for someone who understands what digital TV is all about, I find these ads very unhelpful considering that they’s really no concrete migration schedule or ‘call to action.’ Also, why advertise at this point if no test or pilot program is even available. All I see that the adverts are doing is simply creating anxiety as opposed to informing the public.

I would like to suggest the following to UCC:

A signal test period with start and end dates be advertised to the public. This can be done on website, social media, and the local papers.

Notify the public when the channels are switched off such as during maintenance, upgrades etc

Furthermore, there ought to be a forum where TV owners and especially early adopters can provide feedback on TV quality signals etc. The current web pages on the UCC’s website on Digital TV migration do not provide any updates whatsoever.

Also, there’s currently no recommended manufacturer list of DVB-T2 converters that TV owners should buy. How about outlets where these tuners can be purchased? I know there are the pay TV providers, but that is not enough.

In summary, I highly recommend that UCC come out with regular updates on TV migration. Where exactly are we? The deadline date is really too close for such a venture!

OK, I know with all the issues being experienced with procurement, politics etc this may be too much to ask of Uganda Communications Commission to do.

But come on guys, Ugandans deserve better, and would want to know what exactly is going on with this important project. If you have issues tell us, we understand the environment!

How to create your own Linux install image

I was reading this google+ post by Linux’ very own Linus Torvalds. One of the comments reads “I feel like Mom and Dad are fighting. I love Fedora and I love Linux :)” Clearly, Linux distributions come with their own specific set of packaging rules and guidelines. Sometimes, it does not make sense to everyone. And when that someone else is Linus, people will go ‘bonkers’ to either agree or disagree with him. But why the noise?

To any one who’s not ventured into the murky waters of Linux kernel building and packaging, you may be wondering why a topic like this one solicits such responses even if its not coming from the man who invented Linux. Believe me – it is a big deal.

Due to the rapid development of open-source software, the Linux kernel and packages on the original CD/DVD images tend to become outdated over a short period of time. Sometimes, those packages become insecure and vulnerable. Furthermore, with all the latest and cool hardware devices that vendors are producing every other day, the Linux kernel has to be upgraded so as to be fully usable by those devices.

So in my opinion, Linus Torvalds is half right, since non-techie users need to get Linux working straight out of the box. My feeling though is that the main distros are really not meant for the Linux newbies. That is why re-spins seem to be a lot popular with new Linux users. So if you made it this far and are still reading this, how do you go about creating a re-spin? Here is one way:

Lately, I’ve been spending sometime, creating customized versions of the Fedora Linux images. I use these Fedora re-spins for the embedded products I’ve been working on such as the JambulaPi, TV STB etc. BTW, these re-spins of Fedora are open source and free, so I plan on posting them to a public site in a not too distant future!

A very useful tool for creating custom images for Fedora Linux is called livemedia-creator. Livemedia-creator uses Anaconda, kickstart and Lorax to create bootable media such as live iso’s that use the same install path as a normal system install.

To install it:

sudo yum install lorax

Then, take a look at the readme file located at /usr/share/doc/lorax-*/README.livemedia-creator. There you will find examples on how to set up your very own customized Linux distribution. A kickstart file is highly recommended as you can add other repositories for installing software that is not originally included in the Fedora releases. Also, it lets you do things like adding initial users, etc. Take a look at Kickstarting Fedora Linux installations.

Digital (Free-To-Air) TV now available in Uganda

Finally, Digital TV broadcasting has started in Uganda. Below is a list of channels I was able to scan for the Kampala area. See my previous post on how to scan for these channels.

service = UBC TV (UCC)
service = UBC STAR TV (UCC)
service = East AFRICA TV (UCC)
service = ITV (UCC)
service = CITIZEN TV (UCC)
service = WBS TV (UCC)
service = BUKEDDE TV 1 (UCC)
service = BUKEDDE TV 2 (UCC)
service = URBAN TV (UCC)
service = RECORD TV (UCC)
service = TOP TV (UCC)
service = NTV (UCC)
service = UBC TV (UCC)
service = LIGHT TV (UCC)
service = MIRACLE TV (UCC)
service = CCTV (UCC)
service = NBS (UCC)
service = CAPITAL TV (UCC)
service = BOUQUET SERVER 1 (UCC)
service = BOUQUET SERVER 2 (UCC)
service = RTV (UCC)
service = KBC (UCC)
service = TBC 1 (UCC)
service = BBC WORLD (UCC)

Of these, only six (TV: UBC, EATV, ITV, WBS, BUKEDDE-1, and NTV) are currently broadcasting via DVB-T.

And the fun part for the Linux people out there – How to play these channels.

If using VLC, create a channels.conf file (i.e. scan using Xine format). When done, simply run:

#> vlc .xine/channels.conf

All the channels will be populated as a playlist. Then select your favorite channel to watch.

NOTE: If you are playing using a remote SSH session i.e. embedded device: something like this will work:

vlc -I dummy -V xv -f --width 1024 --height 768 dvb-t:// :dvb-caching=300 :dvb-frequency=474000000 :dvb-inversion=-1 :dvb-bandwidth=8 :dvb-a-fec=2/3 :dvb-transmission=8 :dvb-b-modulation=QPSK :dvb-guard=1/4 :dvb-hierarchy :program=ENTER_PROGRAM_NUMBER_HERE e.g. for UBC enter 1 (see channels.conf file)

Initial observations: Audio quality is a bit off for some channels like NTV – I guess this will improve over time as the broadcasters get their act together.

Uganda’s Digital Free-to-Air TV is almost here

With testing for digital TV transmission for the greater Kampala area under way, Uganda’s migration to digital TV is back on.

For the open source geeks out there, I have re-published a script I wrote some years back to scan for DVB-T channels. If you live in the greater Kampala area; feel free to check it out from my GitHub repositories.

To use this tool, you will need a DVB-T2 tuner – USB dongle or PCI-based card.

So far, Broadcasting is currently on the frequency 674000000; in addition to the already existing pay tv frequencies of 490000000 , 498000000 , 522000000, 538000000, 546000000, 570000000, 586000000, 634000000, and 690000000.

We are really in the initial stages, as most broadcasters are not yet on at this time. Also analogue TV users should expect to be temporarily switched off this week as transmission masts are re-fitted with new panels.

Happy testing

Do the NSA revelations matter for developing nations?

I never thought I would comment on the continuing NSA revelations by Edward Snowden on this blog.
Considering how deprived most developing nations like Uganda are when it comes to ICT, one would brush off such leaks as a problem for the west.

But then again, due to our dependence on IT products and services (think Google, Microsoft, etc) from the US, IT users need to seriously reconsider what services and products they use.

If you are still using any of Microsoft’s products e.g. Windows, I recommend you take a look at this and other articles on Microsoft and the NSA.

Why We Can No Longer Trust Microsoft – John C Dvorak

Turns out Microsoft has been helping out the NSA and its surveillance work – confirming what a lot of us in the open source community always thought.
This might be a good time to migrate your systems away from those proprietary vendors unless of-course you don’t mind having ‘back-doors’ in your software and possibly being monitored.

Linux scripts for 3G Internet in Uganda

The most common way Ugandans are accessing the Internet on PC today is via USB 3G modems . All the major Internet service providers in the country; i.e. Orange, MTN, UTL, Airtel, Warid offer 3G internet albeit at very slow speeds. The modem dongles that are commonly sold are Huawei models. Some like Orange carry ZTE models.

I just pushed a set of Linux bash scripts to my github repositories. These CLI PPP scripts can be used to dial an ISP in Uganda and connect to the Internet. If you are the type of person, who uses the Linux command line interface a lot, then these utilities are for you. As long as you modem is recognized by the kernel, you are good to go.

You can use these scripts to automate your connection. These scripts also, provide several statistics on your USB dongle, such as the EMEI, IMSI numbers, lock status, speed capacity etc.

You can find them at ppp-ug


The Raspberry Pi and Uganda’s Digital TV Migration Update

A raspberry pi kit just got delivered to the labs for testing. I’m looking forward to see what sorts of things a raspberry pi can do for us here in our Uganda.

Unless you’ve been living under a rock; the biggest news this past year in IT hardware has been the raspberry pi. Initially meant to help school kids learn how things work. This project has been a wild success, but mostly with the adult kids. Most appealing is the very small form factor and the $35.00 cost. With all these features, this little board gives you all the computing power you need to do your work plus some pretty cool stuff. Some of the interesting projects out there using the raspberry pi include: a web server to store all you files, a router, a webcam server, a weather station controller, a game arcade system, etc.. You can read more about the Pi here

Meanwhile, Uganda continues to struggle with the Digital TV migration process. After failing to meet the December 2012 regional deadline to switch from analogue to digital TV, the Uganda Communications Commission has now set tentative dates with an assurance that by December 2013, all of Kampala, and major towns in the country will have switched. In my opinion, the targets while attainable are still very ambitious considering that there has been very little done so far to prepare Ugandans for this change. It is hoped that testing of digital TV transmission will begin in May this year. Lets wait and see.

How to install Asterisk 11 – Part 1

Asterisk is the popular open source telephony platform. With just a few hours to spare, you can turn any spare PC in to a world class PBX system. In part 1, I will list the steps involved in installing asterisk using sources. The steps below can be used with RedHat based systems like Fedora. It shouldn’t be that hard to replicate on other Linux distributions like Ubuntu.

Update your system and reboot if there’s a kernel upgrade:
yum update

For Redhat systems, disable selinux:
sed s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

Install required dependencies:
yum -y install make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel

Download current asterisk 11 sources:
cd /usr/src

Note: Dahdi is only needed if you will be using a telephony card to access the PSTN. Timing provided by dahdi is also no longer needed with the new conferencing capabilities in Asterisk 11

Unpack and install the source packages. Please note that the installation order is very important:

a) dahdi
tar zxvf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete*
make && make install
make config (Generates sample configs)

b) libpri
tar zxvf libpri-1.4-current.tar.gz
cd libpri-1.4*
make && make install

c) tar zxvf asterisk-11-current.tar.gz
cd asterisk*
./configure --libdir={LIBDIR} e.g /usr/lib64 (use uname -a to confirm architecture"
make menuselect (optional)
make && make install
make samples (on fresh install only)
make config

Start services
service dahdi start
service asterisk start

Check to ensure is running:
asterisk -vr

In part 2, I will go over how to configure your asterisk server.

Scroll to top