Notes to self about the Dreambox. Thanks to the guys on #dreambox for filling in some blanks here!
Prerequisites and other general information on how to compile the CDK
|
CDK compile prerequisites More notes to appear as and when they arrive. The notes herein are based on a Linux development environment. I used Gentoo, though be aware that you may use DAYS getting that baby up and running if you install from source. Make sure you have gettext 0.12.1 or later. Install latest libtool, as of now, I used 1.4.3. It's probably a good idea to add a development user and "sudo su" to this user when you work on the Dreambox stuff, but that's up to you, of course.
Please note that this has been tried and tested as of 29th June 2004 on a Gentoo "current" machine running kernel 2.6.7, if you can't get this to work, try joining the #dreambox channel on the serveirc.com network.
|
Compiling the CDK mkdir $HOME/dreambox mkdir $HOME/tuxbox-cvs cd $HOME/tuxbox-cvs export CVS_RSH=ssh export CVS_RSH=ssh cvs -d:pserver:anonymous@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P -r rel_1_0_0 . cd apps/tuxbox/enigma cvs update -dPA
add cd $HOME/tuxbox-cvs/cdk ./autogen.sh ./configure --prefix=$HOME/dreambox --with-cvsdir=$HOME/tuxbox-cvs --enable-maintainer-mode \ --with-hostruleset=standard --with-hardwareruleset=dreambox --with-targetruleset=flash make .enigmaThis will take a while, as the build will download certain things (such as the linux kernel..), so I hope you have a reasonably fast Internet connection. Sometimes you may see some downloads "hang". This happens in particular to certain sourceforge.net addresses. well, this is quickly remedied. Just halt the compile (ctrl+c) and download the package from the next mirror manually (just copy the next command in the "wget blah sourceforge blah | wget blah berlios.de blah" line (the one containing e.g. berlios in this example). Then type "make .enigma" again, and the compile will start where it left off.
|
Plugin compile notes Here's how to compile a plugin. There is a demo plugin already available to work from. Thanks to ZigZag for this info too!
cd $HOME/tuxbox-cvs/apps/tuxbox/plugins/enigma/demo
Change
Add the following to SIGC_CFLAGS = -I${HOME}/dreambox/cdkroot/lib/sigc++-1.2/include \ -I${HOME}/dreambox/cdkroot/include/sigc++-1.2 \ -I${HOME}/tuxbox-cvs/apps/misc/libs/libxmltree SIGC_LIBS = -L${HOME}/dreambox/cdkroot/lib -lsigc-1.2Change directories: cd $HOME/tuxbox-cvs/apps/tuxbox/pluginsChange RANLIB="powerpc-tuxbox-linux-gnu-ranlib" to RANLIB="$HOME/dreambox/cdk/bin/powerpc-tuxbox-linux-gnu-ranlib" in libtool .
cd $HOME/tuxbox-cvs/apps/tuxbox/plugins/enigma/demo makeIn order to test this plugin, you'll need to FTP the enigma_demo.cfgand .libs/enigma_demo.sofiles in the demo directory to /var/tuxbox/pluginson the Dreambox. Then, selecting the plugin menu on your remote control (you may have to restart your Dreambox), you should see the demo plugin in the list of installed plugins. Now, go ahead and code some cool plugins!
|
What drive should you use? Use a 5400 rpm drive, e.g. Samsung 160GB. Make sure the drive uses as little power as possible during spin-up and general use (~500mA). Consider using a laptop drive. The DM7000 has a shit PSU (power supply unit), so even with any modifications (Dream Multimedia realised the error of their ways after the first version was released) you should choose something that draws as little power as possible. It'll emit less heat too.
|
Looking at IP traffic "over the air" Connecting to the Dreambox directly on port 31338 can be quite interesting. For example, if you make sure that the service type for a data stream is changed to "TV" (using e.g. DreamboxEdit), you can sniff what people are requesting over the air. Connect to your Dreambox with DreamboxEdit (I used version 1.62). Select e.g. 19.2E, Casablanca (12603,705 Mhz, H, Symbolrate 22000, FEC 5/6). Change the type to TV. Unicast streams here have PID 0x300, broadcast streams 0x200. If you use a different provider, these PID's vary. Point your favourite browser (wget, for example) to: http://dreambox:31338/0x300 and you're good to go!
Use e.g. www.lyngsat.com to search for other IP streams.
|
Upgrading the DM7000's flash Upgrading the Dreambox DM7000 is best done via the network. Some people use DreamupLAN, but it didn't work for me.
/var/tmp/root.cramfs .
If all your other avenues have been exhausted, try T-hydron's Dreambox Blog.
|
Setting up swap memory You can set up a swap file like this (example is for 128MByte): Create the file to use as swap:
dd if=/dev/zero of=/hdd/swap bs=16k count=8192 Now initialise it as a swapfile:
mkswap -v1 /hdd/swap
Edit
if [ -e /hdd/swap ]; then /sbin/swapon /hdd/swap fi Your Dreambox will now use the swap file. Check to see if swap is in use after rebooting your box:
reboot Or, if you prefer, use the reboot option on the remote control. Wait for the box to respond to telnet again, and ..
cat /proc/swaps If something similar to this appears, you're good to go:
Filename Type Size Used Priority /hdd/swap file 131064 388 -1
|
Configuring full-duplex Add the following to start_enigma (see above) to force the DM7000's ethernet port into full duplex mode:
echo 1 > /proc/sys/dev/eth0/swfdup |
Transcoding (converting) an MPEG2 TS (Transport Stream) to an MPEG2 program stream This is usually the first step if you want to burn your recorded programmes onto DVD or further conversion (e.g. DivX, XviD, (S)VCD, etc.). Get "ProjectX" (http://forum.lucike.de/) -- it's written in Java, so works on any machine that has the JRE (Java Runtime Environment) installed. I'm too lazy to give step-by-step instructions; it's all pretty straight forward. You may also want to check out http://www.tillgerken.de/item/207 and http://www.doom9.net
|