Skip to content

Commit

Permalink
Some final fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
mildsunrise committed Dec 19, 2015
1 parent 62c5238 commit dbc555a
Show file tree
Hide file tree
Showing 8 changed files with 35 additions and 28 deletions.
9 changes: 2 additions & 7 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Start by installing the necessary tools:

sudo apt-get install build-essentials cramfsprogs
sudo apt-get install build-essential cramfsprogs cramfsswap file coreutils

Then download and extract Buildroot at this repository, so that
you end with a `buildroot-XXXX.XX.XX` directory next to the `config_*`
Expand All @@ -12,17 +12,12 @@ files. I used version 2015.12.1 but other versions may work as well:

For convenience, rename `buildroot-XXXX.XX.XX` to just `buildroot`:

mv buildroot-XXXX.XX.XX buildroot
mv buildroot-2015.11.1 buildroot

Then supply Buildroot with our configuration file:

cp config_buildroot buildroot/.config

You also need to copy the contents of `packages` into the Buildroot
directory:

cp -r packages/* buildroot/packages

At this point, you can `cd buildroot` and optionally tweak the configuration
by doing `make menuconfig`, `make xconfig` or whatever method you like.

Expand Down
39 changes: 24 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ allows you to:

- Join multiple SAT>IP servers (and USB tuners) and use them
as a pool: feed multiple clients, or watch TV on one while
the other records another programme.
the other records another programme, for instance.

- Apply DVBCSA descrambling connecting an [oscam] server.
- Apply DVBCSA descrambling connecting to an [oscam] server.

- Schedule programmes for recording.

- Filter, demux and reencode streams.

And many more. The SAT>IP server itself is [minisatip].
And many more.

## Install

Expand All @@ -35,7 +35,7 @@ Some important things to consider:
- **The firmware is provided without warranty of any kind.**
It's been tested on multiple DM500S STBs though, and if it
doesn't work you should be able to flash another image.
**It has no time bombs** (see next section).
**It has no time bombs** (see last section).

- **This image is currently for DM500S only.** If you flash it
on a DM500T or DM500C it will work the same, you'll see the
Expand All @@ -48,8 +48,8 @@ Some important things to consider:
but **after this is flashed, the only way to reflash is via
RS-232**.

If you aren't via DreamUp, make sure you flash to partition 0 (labeled
"CramFS + SquashFS" or similar).
If you aren't flashing via DreamUp, make sure you flash to partition
0 (labeled "CramFS + SquashFS" or similar).

## Usage

Expand All @@ -59,12 +59,16 @@ be done the first time.

When powered, DM500 will obtain an IP by DHCP, and the
SAT>IP server will start. To verify that it's working, browse to
`http://<ip of DM500>:8080`, you should see a table listing one
`http://<ip of DM500>/`, you should see a table listing one
tuner.

You use it like any other SAT>IP server. If it's on the same
network as your Tvheadend server, restart it and you should
see the DM500 appear in the inputs tab.
You then use it like any other SAT>IP server. For instance, to
use it with a Tvheadend server, put it on the same network and
you should see the DM500 appear in the inputs tab.

**Important:** The SAT>IP server does *not* support full TS
streaming (aka `pids=all`)! For Tvheadend users, this means you
should untick the "Send full PLAY command" checkbox if it's ticked.

If you found a bug or have a suggestion for the firmware image,
feel free to open an issue on this repo.
Expand All @@ -80,7 +84,7 @@ I [forked][kernel-fork] the stbx25xx-linux project and added support
for the DM500 and a few of its hardware (reverse engineered some of
the closed-source drivers). Currently, the kernel supports:

- DVB frontend (STV0299), PLL tuner
- DVB satellite frontend (STV0299), PLL tuner
- DVB demuxer, video decoder, audio decoder
- GPIO (two LEDs, LNB voltage, etc.)
- I2C bus
Expand All @@ -89,6 +93,7 @@ the closed-source drivers). Currently, the kernel supports:

Currently unsupported hardware (or not finished):

- DVB terrestrial and cable frontends
- Flash memory
- Audio output
- Video output
Expand All @@ -98,14 +103,17 @@ Currently unsupported hardware (or not finished):
Because the flash memory isn't supported yet, we're forced to put
the FS into an initrd.

The audio and video decoders need firmware blobs to be supplied, so
make sure to set `DVB_STBx25xx` to `m` instead of `y`, enable `FW_LOADER`
and set `COPY_FIRMWARE` to `1` in `build-fs.sh`. Support for the video
output and audio output are also in the works.
The audio and video decoders need firmware blobs to be supplied, so make
sure to enable `FW_LOADER` and set `COPY_FIRMWARE` to `1` in `build-fs.sh`.
Support for the video output and audio output are also in the works.

[Buildroot] is what builds the toolchain, software, kernel, filesystem,
and calls `build-img.sh` to produce the final firmware image.

[minisatip] is the SAT>IP server implementation used by this image. It's
version 0.4 with the modifications at [the `dm500-satip` branch][minisatip-compare]
in my fork.



[SAT>IP]: https://en.wikipedia.org/wiki/Sat-IP
Expand All @@ -116,3 +124,4 @@ and calls `build-img.sh` to produce the final firmware image.
[buildroot]: https://buildroot.org
[stbx25xx-linux]: http://stbx25xx-linux.sf.net
[kernel-fork]: https://github.com/mildsunrise/stbx25xx-linux
[minisatip-compare]: https://github.com/catalinii/minisatip/compare/0.4...mildsunrise:dm500-satip
2 changes: 0 additions & 2 deletions build-fs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ fi
install $DATA/dvb.sh $FS/etc/init.d/S70dvb

# Install minisatip data
install -d $FS/usr/share/minisatip
install -m 644 $DATA/satip.xml $FS/usr/share/minisatip
# FIXME: remove this, replace by package
install $DATA/minisatip $FS/bin
install -d $FS/usr/share/minisatip/html
Expand Down
4 changes: 4 additions & 0 deletions build-img.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ install $ZIMAGE $TMPDIR/root/platform/kernel/os

# Make CramFS
mkcramfs -n 'Compressed' $TMPDIR $CRAMFS
if [ $(printf '\1' | od -dAn) -eq 1 ]; then
cramfsswap $CRAMFS $CRAMFS.be
mv $CRAMFS.be $CRAMFS
fi

# Make image
cat $CRAMFS > $OUTFILE
Expand Down
2 changes: 1 addition & 1 deletion data/dvb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ mkdir -p /dev/dvb/adapter0 && cd /dev/dvb/adapter0
[ -e /sys/class/dvb/dvb0.video0 ] && mknod video0 u 212 0

# Start SAT>IP server
minisatip -X /usr/share/minisatip/satip.xml -R /usr/share/minisatip/html
minisatip -R /usr/share/minisatip/html -x 80
Binary file modified data/minisatip
Binary file not shown.
2 changes: 0 additions & 2 deletions data/satip.xml

This file was deleted.

5 changes: 4 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,8 @@ It includes:
sure it doesn't come with a timebomb if you have a clone).

- `stbx25xx-driver`: folder containing what appears to be the source
code for IBM STBx25xx drivers. The firmware blobs were extracted
code for IBM ~~STBx25xx~~ drivers. The firmware blobs were extracted
from this archive.

**Warning:** actually STB043xx, it seems. However, firmware verification
went okay, and registers appear to match...

0 comments on commit dbc555a

Please sign in to comment.