Hack your Linux satellite box and access it online

Dreambox DM800HD
Follow our guide to let others remotely access your Dreambox online

Recently we looked at networking your Linux receiver – and described how you can stream video from it to any PC on the same network.

Now we'll take these networking aspirations further afield by going online. Although a few satellite receivers offer the Ethernet port that gives rise to such flexibility, only Linux-based receivers are capable of taking full advantage of such functionality.

However, if your networkable receiver is not Linux-based but nevertheless gives you a 'web interface' you should be able to at least try out our first project. To determine if your receiver has a web interface, type its IP address into the web browser of a PC connected to your home network. The web page in question usually provides features like timer programming, channel selection and EPG access. Sometimes you can even arrange for channels to 'stream' or recordings to be downloaded.

Every Linux satellite receiver can be considered as a low-powered computer (by today's PC standards, certainly) to which tuners, video hardware, infrared remote control and other such satellite receiver 'goodies' have been bolted on. As we discussed last month, the open-source nature of Linux means that international userbases for the various Linux receivers spring up and either develop new firmware or refine previous versions. These users also release 'plug-ins' that add new functions to the various receivers.

Dream Multimedia was responsible for launching the market for Linux-based satellite receivers with its Dreambox series, and remains dominant in this particular market. So successful has it been that 'pirate' Dreamboxes, sourced from Far-Eastern factories, have even made an appearance.

The default Dreambox firmware is known as 'Enigma', maybe as a nod to version 7.2 of the Red Hat Linux distribution for PCs. Enigma remains popular and, indeed, has been installed on various non-Dreambox, Linux-based receivers including the ABCom IPBox range, Kathrein UFS10, Relook 400 and Triple Dragon.

When upgrading to a new firmware it is critically important to choose one that has been 'ported' to your specific receiver – the processor and hardware configurations vary widely. You'll find them on the various websites and forums that support the receivers.

We'll be making reference in this article to the latest variant (Enigma 2). However, it should be borne in mind that all Linux firmwares offer similar features or can be updated to do so with plug-ins. The web interface and FTP client seem to be common to all.

Many of the third-party firmwares are supplied with various CAM emulations that aren't included with Enigma, presumably for legal reasons. Yet in most other respects they are similar.

Before you start, here's what you'll need

  • A Dreambox or similar Linux receiver
  • A home network based around a router or hub with a broadband internet connection
  • An Ethernet cable of sufficient length to connect your Linux-powered receiver to the
    network
  • A personal computer, also connected to your network (for streaming and FTP)

OK, let's get started...

Project 1: Connect to your receiver from anywhere in the world

If your Linux receiver is connected to a broadbanded home network, then fascinating opportunities become possible – ones that knock even Sky+ into a cocked hat.

With appropriate network configuration, its web interface can be accessed from any web browser on any internet-connected computer anywhere in the world.

That means you can remotely-select channels, set the timer to record programmes you've forgotten about in your hurry to get to the airport and even download recordings. You could, in theory, stream live TV programmes, although limited network bandwidth (which starts with the restricted upload speeds of domestic broadband connections) means that unless the TV channel in question has a very low bitrate (e.g. the German shopping channel AllesfürsHandy on Astra 1H 19.2° tp 92, 12.246GHz/V, 27500, FEC 3/4) pictures and sound will be 'stuttery' if available at all.

It is to be hoped that someone will take their cue from products like the Slingbox and release a real-time transcoding plug-in that will convert the high-quality MPEG-2 normally associated with digital satellite into low-resolution DivX, or something equally suited to low-bandwidth streaming.

For the same reason recordings (which, in the case of the DM800HD PVR's Enigma2, you'll find in the 'movielist' accessible from the Movie/Timer tab) will probably take a long time to transfer – unless they're particularly short in duration. A 300MB file might, in the real world, take several hours to download. Nevertheless, there's a lot of potential – and so here's how to start realising it.

1. The first step is to allow remote internet connections to reach your receiver. To do this, something known as 'port forwarding' needs to be set up on your wireless router so that its internal security firewall can be bypassed only for the relevant 'traffic'. The exact method will depend on your particular wireless router. We used a Belkin model – but similar principles will apply to other models.

Open up the router's configuration page in a web browser. Look for an option labelled 'virtual servers' or 'port forwarding'. In some cases, you'll need to enter the relevant password to get into this. You will find a table, with multiple columns. We will use two such columns.

For the first available column:
1. If there's a description box, enter the name of your receiver (e.g. 'Dreambox' or EV8000S) so that you know what it's for
2. For 'inbound port', specify '80' For 'type', select 'TCP'
3. For (private) IP address, enter the IP address of your receiver
4. For private (or outgoing) port, enter '80'

For the second available column:
1. If there's a description box, enter the name of your receiver
2. For 'inbound port', specify '8001'
3. For 'type', select 'TCP'
4. For (private) IP address, enter the IP address of your receiver
5. For private (or outgoing) port, enter '8001'
6. Ensure that both are enabled – usually via a checkbox in the relevant column. Click on 'save' or 'apply'.

2. The next stage is to ensure that you can always reach your receiver. Unfortunately, most domestic internet providers allocate IP addresses to their subscribers 'dynamically'. What this means is that your IP address could change – and as a result you will have no idea of what to type into the web browser of your remote PC. Fortunately, there's a (usually) free solution in the form of a dynamic domain name service. What this does is to assign a domain name to your IP address – if it detects that your IP address has changed, then it will automatically acquire your new address.

We'll be using the DynDNS service for this purpose. Basic use is free, although there's only a limited number of 'preset' top-level domains to choose from.

Go to the site, click on the 'create account' option and follow the instructions. It's easy to do, indeed, DynDNS will even detect your current IP address, thereby sparing you the trouble of entering it.

Choose a preset domain name you can remember and enter for the first part of the domain name something equally memorable to you. Using this service requires confirmation; you'll be sent an e-mail containing a link that enables you to continue registration.

3. Once you've completed the process, entering your allocated domain name into a browser on a networked home PC will take you to your wireless router's configuration page. But when you enter the domain into a networked PC you should instead see your receiver's web interface. To ensure that all is well before travelling, it might be a good idea to call up a friend and ask him to try it.