Dreambox FAQ


Q. What do you get in a DM7000?

A. For full info you can go to the official site but to summarise:
DVB Satellite tuner. (In future, you may be able to buy Cable and DTT versions too, but the mainboard does not seem to have front-end module slots, so my guess is Cable and DTT will need their own motherboards. So you would need two Dreamboxes to get DVB and DTT, for example.)
Loop-through connectors for LNB and SCART. This makes it easy to start using the DREAMBOX before you're ready to disconnect your old receiver. The SCART loopthrough may also help if your TV does not have enough SCARTs for all the devices you have. (WARNING: I have not yet succeeded in getting the LNB loop-through to work!! It seems that the loop-through is just a "T" connection; that is, only one receiver may be switched on a time.)
PowerPC CPU with 64 MByte RAM. The RAM does not look expandable, so 64 is the max.
Hardware MPEG decoder.
10/100 Ethernet port.
Cables/brackets for IDE hard disk. NB there is NO HARD DISK as standard - you need to add one if you want to use the PVR timeshift functions (timed recordings from radio and TV), unless you use a remote hard disk shared via the Ethernet network with NFS. If you buy an internal hard disk, choose one which is quiet, and doesn't take too much power. For Dreambox, 5400 RPM is better than 7200 RPM, and < 500 mA of power from 5V and 12V is best. Interface is IDE ATA 66, max capacity supported is 120 GBytes.
USB port
SPDIF audio output as well as analog (phono sockets). AC3 support is included.
RS232 9-pin serial port.
Intelligent Remote Control. This can control your TV as well as the Dreambox.

Q. What are Enigma, Traveller, Dr. Matrix etc?

A. Enigma is the standard firmware that comes in the box when you buy it from the shop. Enigma is open-source, so you can take the latest source-code from CVS on the internet, and cross-compile it on your PC (see later). The Enigma code is also known as "tuxbox" and runs on other platforms too, such as "dbox2". The "tuxbox" code is under rapid development at the moment; the CVS version changes almost every day. From time to time, the Dream Multimedia team identify a stable version, and release a binary image on their website, which can be downloaded quite simply and flashed into your dreambox. But of course if you like, you can build the latest CVS version for yourself (again, see later).
Quite often, expert coders such as Traveller and Dr. MatriX will take the latest CVS of Enigma, add their own special features, and then release a special binary image that you can flash into your dreambox in place of the official Dream Multimedia image. Some of the special updates from these guys are bugfixes; some are new features which are not yet stable enough to go into the main CVS source tree. Some authors also include "Emu's" - Emulations of smartcard systems (subscriber viewing cards) which make it possible to view encrypted satellite channels if you have access to valid key files. The legal status of using key files is at best pretty dubious, even for foreign channels which won't sell you a genuine viewing card, so for legal reasons I will not discuss this aspect any further. Please, DO NOT SEND ME EMAIL asking questions about Emu's and Keys - I do not know, and in any case I will not answer any questions about pay-TV piracy!

Q. What can DREAMBOX do?

A. This is an open-ended question, and personally I have not had time to do more than scratch the surface of the capabilities of this box. The short answer is that it depends how much time and interest you have in finding things out, and whether you enjoy using software that's a little bit "beta" (not completely finished). But as standard (straight out of the box) the DREAMBOX supports:
DiSeqC switches (up to 4 ways), and DiSeqC motorised dishes
Auto set-up: Automatic scanning of satellites. You tell it which satellite(s) you can receive, then ENIGMA scans all the known transponder frequencies on each satellite. The transponder info comes from an XML file that can be updated when things change - or you can manually specify a transponder frequency to scan. This makes for fast, easy initial set-up. There is also a good display of Signal Strength (SNR), AGC level and BER (bit error rate) which is very helpful for aligning your dish.
Fast channel changing, with good EPG support. Very impressive speed. You can view the channels in various ways (by satellite, by bouquet, by name, by favourite categories). The EPG support looks comprehensive, though as usual it depends how much info the broadcaster sends - and the German channels are much better than the UK channels in this regard.
Record (and/or Pause) Live TV and Radio. While watching or listening, press VIDEO to toggle the recording menu buttons on and off. Quick and easy, full quality recordings are made to the hard disk or to the NFS share.
Timed Recordings. Select "DREAM/Timer" to set up a schedule of recordings of TV or radio. Recordings can be browsed by selecting "DREAM/File Mode". (Hint: press RED key to delete a recording).
Network streaming - facilities are provided to stream audio and video to and from an Ethernet network, and to control the box remotely (currently a bit incomplete).
Remote administration - The DREAMBOX may be configured over the Ethernet from your PC, if you look for the right software. This is a convenient way to perform updates etc.

Q. What can't DREAMBOX do?

A. Well DREAMBOX is very powerful, but it does not have infinite amounts of CPU and RAM resources - that's why it's a small cheap box that doesn't need a fan.
X-Windows applications - DREAMBOX does not run XFree86 as standard. Maybe it would work, but I think X would realy need more RAM, and a faster CPU. If I understand it correcly, Enigma provides a lightweight GUI API targetted for cheap hardware like set-top boxes, and the actual display drawing takes place through the Linux Framebuffer graphics drivers, not through X.
Internet access - DREAMBOX could be used as an internet access device. Some software can even update the DREAMBOX automatically from the internet. But, I think it is not helpful to use the DREAMBOX for web browsing or writing email (we have PCs and laptops for that). OK, you can probably find mail and web programs for DREAMBOX, but with only 64 MBytes of RAM it might cause problems, and of course the CPU also has to be used to process broadcast programme content. But I may be proved wrong! Maybe a small web browser will work OK with the IR keyboard that is about to appear - who knows, perhaps 64 MBytes is still enough for a cut-down Linux version: just because Windows XP likes 256 MBytes, that's no reason why Linux needs to be so bloated! Still, I guess lack of "X" means no Mozilla.
Sky Digital TV - This only works for free channels such as BBC TV and BBC Radio. ITV, Channel 4, Channel 5 and Sky Pay-TV channels do not work because the Sky system uses encryption even for many of the free channels. The Sky viewing card will not work in the DREAMBOX because Sky's encryption system is non-standard - and generally regarded as unbroken! So for many Sky Digital channels, you must use the satellite receivers sold by Sky, even though those receivers don't have the same advanced facilities as DREAMBOX. (It's hoped that ITV, C4, C5 will eventually go Free-to-air like the BBC, but this could take several years.)
Bugs. These are early days, so don't buy this box if you aren't happy to put up with a few glitches while the software development continues. The most annoying bug found so far is that browsing the list of recordings hangs the box unless you've made at least one recording since the movie directory was initialised. Perhaps this doesn't apply with an internal hard disk, but it does seem to be the case with an NFS network share (see NFS section below). Also on one occasion, the Dreambox would not boot for some reason (vertical stripes on the splash screen), and only repeated three-finger salutes brought it back to life (without needing a flash erase - odd!).
With the official firmware 1.07.1, I saw badly stuttering playback of video recordings. The problem was cured by setting NFS to UDP mode, with rsize and wsize parameters set to 4096 and rebooting (see NFS section below). Note that mounting NFS in TCP mode can cause very long delays at boot time (several minutes) after a reboot. I suspect this is due to the NFS server (at least with FreeBSD) ignoring unexpected TCP sequence numbers until a timeout has expired: the source port number will be the same on each boot, which probably confuses the server.

Q. DREAMBOX has an Ethernet port. What does it do as standard?

A. A couple of things:
TELNET server. You can telnet into the box if you want to control Linux directly. default username=root, password=dreambox.
Note: To change the root password, just telnet in and use the unix "passwd" command. In images from June 2003 onwards, this command writes back to the flash memory so the command will last until the next flash erase, not just the next reboot
FTP server. You can FTP into the box if you want to send files to or from the DREAMBOX flash "disk" (and hard disk if fitted). default username=root, password=dreambox.
SAMBA server. You can access the DREAMBOX flash "disk" (and hard disk if fitted) from a Windows PC using the standard file sharing in the Windows file explorer. (open \\ or whatever)
WEB server. Open up a web browser to (or whatever address you've given your Dreambox) and follow the prompts. It's a little incomplete so far, but already you can get status from the box, and listen to an audio stream as MP2 (click on "apid" in top right hand corner). Interestingly, you can listen to a different radio station over TCP/IP to that which is playing on the box itself! But, of course the radio stations must be on the same transponder mux.
NFS client. Dreambox contains an NFS client, which lets you "mount" remote disk drives if you have an NFS server somewhere on your local area network. This allows hard disk recording without the noise of a hard disk in your living room! More about NFS later...
Firmware Updates. e.g. with DreamUp and DreamUpLAN (see download links on my Dreambox links page).
Audio/Video Streaming. There are lots of links on this on the Internet (see Links on my Dreambox links page). I have not tried video streaming yet, but I'm told that VLC (Video Lan Client) can let you watch satellite TV at your computer too. It may also be possible to watch multi-region DVDs on your TV, accessed from a networked drive over NFS, but some work would be needed to confirm this
Backup/Restore. See below.
R/C Navigation Hints
A couple of remote control functions seem a bit non-obvious, but are quite useful...
When watching TV or Radio, you can press any of the keys at bottom left - "TV", "RADIO", "TEXT" to bring up the list of TV channels, RADIO channels and DISK RECORDINGS.
Provided that "Other bouquet selection keys" is NOT ticked in "Settings/Remote Control Setup", then whenever a channel list is displayed:
BLUE toggles between USER/FAVOURITES and the full list.
GREEN toggles between a channel list display that is 1, 2 or 3 columns wide.
RED allows a channel to be deleted, or added to one of your FAVOURITES categories.
When scanning transponders, you may notice that Astra 2x @ 28.2E and Eurobird @ 28.5E are listed as seperate satellites, but you can include them both in your satellite list, giving them the same DiSeqC LNB number.
Backup/Restore HOWTO

Q. How can we guard against the possibility that the DREAMBOX memory becomes corrupted, destroying our favourite settings?

A1. This post by Basix appeared recently on SatCity:
Making a Backup of every setting on the dreambox (incl. firmware)

telnet to the box and write the following command after loggin in:

cat /dev/mtd/3 > /var/tmp/backup.img

you can download this image to your pc, so you can always switch back to this backup image.

how to switch back:
first ftp the file to the dreambox in /var/tmp/
then telnet to the box and use following commands:

cd /var/tmp
eraseall /dev/mtd/3 && cp backup.img /dev/mtd/3

A2. This SatCity post by EvilBOFH suggests a less drastic approach...
good directories to backup


usally good too


good files to backup


and if you like me and like to change anything I can...


NFS remote disk HOWTO
Q. How can I get Dreambox to use a remote NFS hard drive? This could be better than buying an IDE hard disk and installing it inside DREAMBOX, because it would avoid the noise of a hard disk in the living room.

A. You need to start the network and mount the NFS drive onto "/hdd". This needs to happen before Enigma is started. Normally, the network is started after Enigma, so you need to bring it up early with ifconfig. Also, please note that directory /hdd/movie must exist on the mounted volume, otherwise the hard-disk-related functions won't work properly.

Warning! The first time you select "DREAM"/"Folder" to see the recordings, dreambox may hang. To prevent this: first save a few seconds of audio or video (press VIDEO then RECORD button). Stop the recording and, when prompted, press the button to view the list of recordings. I think this creates the recording index file recordings.epl. Anyhow, it won't crash once you've done that.

For DREAMBOX images before June 2003, you need to edit /var/tuxbox/start_enigma.

For DREAMBOX images after June 2003, the /var/tuxbox/start_enigma script is no longer used. Instead, if you look at /etc/init.d/rcS you can see how startup works now. So, if you want to customize startup, from June 2003 onwards you need to create a shell script called /var/etc/init .

Here is my copy of /var/etc/init :

# first start the Ethernet interface
# (Otherwise enigma will start it itself, but too late)
# NOTE: Remove "mtu 1400" if your network runs with normal MTU (1500).
ifconfig eth0 netmask mtu 1400 up
sleep 5

# mount the NFS drive to /hdd
mount -t nfs -o wsize=4096,rsize=4096,nolock /hdd
sleep 5

# ** make sure movie directory exists, otherwise enigma HDD features fail **
# NOTE: Selecting "DREAM"/"Folder" will CRASH unless you first make one recording!
mkdir /hdd/movie

# set UK timezone
export TZ=GMT0BST,M3.5.0/2,M10.5.3/3

# shut down unwanted network services (give them a chance to start first)
(sleep 60; killall -9 smbd)&
(sleep 90; killall -9 nmbd)&

# Think about starting NTPD here, as the box has no non-volatile clock
# so otherwise we depend on transponder time.

# Start enigma from the flash memory...

# or, start enigma from the hard disk...
# (this file fires up enigma in a chroot jail so that everything
# happens from the disk, not the flash memory)
# /var/tuxbox/start_new_enigma

# remove .enimga file used by /etc/init.d/rcS
rm /tmp/.enimga

# if enigma crashes on boot, we want a few minutes to get in with telnet and fix it.
sleep 120

# reboot so that timed recordings still happen if process crashes

For some reason, you need to do a *cold* boot for this to take effect (see below).

Cold Boot HOWTO
Q. I changed something. Now DREAMBOX won't reboot... Help!

A1. If the problem is minor, you can make DREAMBOX do a cold boot by holding in all three buttons on the front panel until it shows signs of life (Orange display lights up).

A2. If you can TELNET to Dreambox but the TV GUI doesn't run... Check that the NFS mount (or HDD drive) is working. Try deleting /hdd/movie/recordings.epl (which may be corrupt). You might want to move any valued recordings to /hdd/movie.old (say). Then reboot.

A3. If the problem is really bad (failed firmware update), first you should try holding all three buttons in until "FLASH ERASE" appears. If that doesn't work, try looking at the Dream Multimedia website, or the messageboards.

CVS Source Build HOWTO
Q. "Use the source, Luke!". How can I do that?

A. Not for the faint-hearted, or those who pay by the minute for internet access... I assume you have Linux on your PC, right? OK, so first we must use CVS to fetch the latest source from the developer's configuration control archive in Germany. For CVS to work through a firewall, you might have to open up TCP port 2401 outbound.
mkdir $HOME/tuxbox-cvs
cd $HOME/tuxbox-cvs

cvs -d:pserver:[email protected]:/cvs/tuxbox login
(when prompted for a password, just hit Enter/Return)

cvs -d:pserver:[email protected]:/cvs/tuxbox -z9 co -r rel_1_0_0 .

The CVS fetch will take at least an hour on a dialup connection. By the way, the "space dot" at the end is required!!
NOTE! The CVS repository URL has changed! It's no longer on BerlioS.

You may at this point want to check the installation notes the source tree, as it will tell you what the pre-requisite tools are (see $HOME/tuxbox-cvs/cdk/doc/INSTALL.en or INSTALL.de). My RedHat 9.0 system seemed to have them all anyway.

Now for the hard part! Actually building it...
mkdir $HOME/dbox2
cd $HOME/tuxbox-cvs/cdk
./configure --prefix=$HOME/dbox2 --with-cvsdir=$HOME/tuxbox-cvs --enable-maintainer-mode
make all extra

This will take several hours the first time, even on a fast Pentium 4, as it has to download and build the cross-compilation toolkit before it can actually start building things.

NOTE: if your firewall does not allow outbound passive FTP, you will need to edit $HOME/tuxbox-cvs/cdk/rules-archive.pl and rub out the "--passive-ftp" switch.
If you don't have linux then you might want to follow these hints for building a virtual linux PC inside Windows. click here but really I think if you're that interested, then you should install the latest Red Hat as a dual-boot option on your Windows PC.

To update your CVS tree later on, change into $HOME/tuxbox-cvs and utter:

cvs -z9 update -dP

Then change into the cdk subdirectory, and repeat the autogen, configure and make all commands.
To test your new image, it's probably safer to run from an IDE or NFS disk rather than flashing code into memory straight away. http://dreambox.gamesquad.nl/nw_enigma.html describes the process. You should go to gamesquad.nl and read that page! But I will quote his description here, just in case that page vanishes:-

Bij following this procedure it is possible to run a newer version of enigma with ORIGINAL images.
I have tested this with release 1.02 and beta1.04a images. This procedure assumes that you are
using /hdd/new_root for installation directory.

* Download script prepare.sh. and ftp to /hdd/tmp. The purpose of this script is to
simplify the installation of the new enigma. You only need to run this scripts once.
If you later on download a newer enigma you can just unpack it over the old one.
The script prepare.sh does the following:
o copy /bin /sbin /lib /etc /var to /hdd/new_root.
o Create startup script for starting new enigma: /var/tuxbox/start_new_enigma
* Run script
o sh /var/tmp/prepare.sh
* Download latest enigma and ftp to /var/tmp
* unpack enigma.tar.gz in /hdd/new_root
o cd /hdd/new_root
o gzip -dc /var/tmp/enigma.tar.gz | tar xf -
* replace in /var/tuxbox/start_enigma the line
o /bin/enigma
* by
o /var/tuxbox/start_new_enigma

That is all, you only need to reboot. Do you want, at a later time, to run a newer
enigma you don't need to run prepare.sh just do the unpack commands.

I made a safty fallback into my start_new_enigma script. If enigma crashes within
2 minutes, my script will wait a while before doing the /sbin/halt.
So it is possible in the case that enigma crashes to change the
/var/tuxbox/start_enigma script again to the original state via telnet.
To make sure that you can telnet to your DB I suggest to configure the network
interface before starting enigma. This can be done by adding the following
line in start_enigma before starting enigma:

/sbin/ifconfig eth0 netmask up

Don't forget to replace IP and Netmask with your values.

Note: this is not quite true for images later than June 2003. The file /var/tuxbox/start_enigma is no longer called by default. Startup now uses /etc/init.d/rcS which in turn calls /var/etc/init (if you create it).

Script prepare.sh does this:
#! /bin/sh

[ -z "$NEW_ROOT" ] && NEW_ROOT=/hdd/new_root

[ -d "$NEW_ROOT" ] && {
echo "Directory: $NEW_ROOT bestaat al, exit"
exit 1

mkdir -p $NEW_ROOT || {
echo "Cannot create directory: $NEW_ROOT"
exit 1

mkdir -p $NEW_ROOT/dev
mkdir -p $NEW_ROOT/proc
mkdir -p $NEW_ROOT/hdd/movie
mkdir -p $NEW_ROOT/share/locale

cd / && tar cf - bin sbin etc lib var | ( cd $NEW_ROOT && tar xpf - )
cp /share/locale/locales $NEW_ROOT/share/locale/locales
grep ^catalog /.version >$NEW_ROOT/.version

cat </var/tuxbox/start_new_enigma
#! /bin/sh

touch /var/tmp/wait
( sleep 120 ; rm -f /var/tmp/wait ) &

[ -d $NEW_ROOT/proc -a ! -r $NEW_ROOT/proc/1 ] && mount -t proc $NEW_ROOT/proc $NEW_ROOT/proc
[ -d $NEW_ROOT/dev -a ! -r $NEW_ROOT/dev/zero ] && mount -t devfs $NEW_ROOT/dev $NEW_ROOT/dev


[ -x "$NEW_ROOT/bin/chroot" ] && $NEW_ROOT/bin/chroot $NEW_ROOT /bin/enigma

umount $NEW_ROOT/proc
umount $NEW_ROOT/dev

while [ -f /var/tmp/wait ]
echo "Waiting for /var/tmp/wait to dissapear"
sleep 1


chmod +x /var/tuxbox/start_new_enigma