DreamBox info

Dream Media do a range of Linux based TV decoder boxes. The tuner modules are plug in, so most boxes are available with a choice of Cable, Satellite and/or Digital terrestrial tuners.
I've got the dm600pvr-t which is the DVB-T (Digitial terrestrial) model, as where my box is located there is a good TV signal, but no dish or cable connection. It has a single tuner and a 2.5" IDE slot. The OS, program files and configuration are stored in flash memory, and the HDD is used to store the recorded streams. I used a 160GB drive which gives about 100 hours of recording space.

Finding the channels

With the box connected to power, the TV, Ethernet and an aerial the next problem was getting it to find a signal. I could tune to various frequencies, but it wouldn't find anything.
Not quite sure what's wrong, but I suspect that the "auto constellation" isn't working. So I generated a range of frequencies in various modes and put this terrestrial.xml file into the /etc folder then scanned the "All mode-1" block, from this it found one of the multiplexed channels, and then seem to go off and find everything else.

SSH options

The ssh server is dropbear, and the config script is in /etc/init.d/dropbear, this will include /etc/default/dropbear if it exists. So to add additional options to the dropbear config you can add them here.
My /etc/default/dropbear file contains:
DROPBEAR_EXTRA_OPT="-p 443 -s -w"

The options are:
-p {port}Listening port (multiple allowed)
-wDon't allow root to login
-sDon't allow accounts with blank passwords to login

Of course to access whatever port you configure from outside your house, you'll need to configure your router to forward the external (public) port to the DreamBox port.
If your ISP allows inbound connections to 443 then it's a good port to use, as many firewalls won't block SSL access to it, so you can access it from most hotels around the world.

If you use -w, then you should first allow busybox to run as root:
chmod +s /bin/busybox

You can then login as a non-root user, and use "su -" to become root.

SCP with RSA key

If you confiure RSA public/private keys accross seperate systems, then you can use SCP to copy to a remote machine without having to give a password each time:
scp -P {port} -i ~/.ssh/id_rsa {src file spec} {user}@{ip-address}:/{dest dir}/

So if your server machine was listening on myserver.dyndns.org:443 and you have a user called "dreambox" on it, then you could upload all .ts files using this command:
/usr/bin/scp -P 443 -i ~/.ssh/id_rsa /media/hdd/movie/*.ts* dreambox@myserver.dyndns.org:frompvr/

I use the following script from a crontab entry which runs at 23:55 each day:
#!/bin/sh
cd /media/hdd/movie
YEAR=`/bin/date +%y`
MONTH=`/bin/date +%m`
DAY=`/bin/date +%d`
#if [ $MONTH \< 10 ]; then MONTH=0$MONTH; fi
#if [ $DAY \< 10 ]; then DAY=0$DAY; fi
for f in $YEAR-$MONTH-$DAY*
do
/usr/bin/scp -P 443 -i ~/.ssh/id_rsa "$f" dreambox@myserver.dyndns.org:frompvr/ &
done


Note: I find I get a better overall transfer rate running multiple streams in parallel, than running them one at a time (hence the & on the end of the scp line).

Secure access to the web server

I don't like putting device's web control pages directly on the web, configuring security and encryption on them is non-trivial.
Instead I use ssh port forwarding to allow access to the web port over the ssh connection. The ssh connection forces encryption, and prevent people trying to brute force the passwords.
So when I ssh into the dreambox from a remote machine, I forward port 8080 on the remote machine to localhost:80 on the dreambox, and from the remote machine I browse to port 8080 (on the remote machine) and SSH does the rest.

Other links






Homepage.

Copyright © 2010 Roger Walker. All rights reserved.
This page was lasted updated on Thursday, 23-Jun-2011 11:02:33 BST

This content comes from a hidden element on this page.

The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.

Click me, it will be preserved!

If you try to open a new Colorbox while it is already open, it will update itself with the new content.

Updating Content Example:
Click here to load new content