Eumetcast supporting software for Linux: ecast_cfg
ecast_cfg is a gui managing Eumetcast reception for Linux kernel 2.6.
Especially handy if you want to have start/stop and channel choice under manual control.
Each Eumetcast channel transmitted is tagged with a certain PID, and IP destination address.
ecast_cfg uses the IP address to decide if the channel has to be routed to Tellicast or not,
depending on the selection made in the gui.
The tool can be used for both USB and ethernet receivers.
Tested with USB device: Opera DVB-S
Tested with ethernet device: Ayecka
Related tool for selection by altering recv-channels.ini:
- tqchansel: channel selection for Windows
for USB devices:
- Tune and start receiver
- Show signal strength, SNR, Bit Error Rate
- read PID's from config file and set-up PID routing
- Show traffic on each PID
for USB and ethernet devices:
Selection of channels:
- Dividing channels in "important" and rest
- Add user-friendly channel names to 'important' channels
- Select channels to receive
- Start/stop pcscd, etoken, Tellicast
- Show last part of log-file
A screenshot: (mode "USB device")
Channels selected; Tellicast is running.
In ethernet mode the 'Tuner' and 'DVB Traffic' part are missing.
ecast_cfg uses the commands and methodology described here.
The dvb related tools (dvbnet, dvbtraffic) and femon are integrated (no system calls);
other tools (szap, ifconfig, smcroute) are activated by system calls.
A difference compared to the other mentioned tools (tqchansel, msgreceive) is that channel selection is
not done by changing the recv-channels.ini file.
Instead actual routing is adapted, using smcroute. The recv-channels.ini needs therefore to enable all channels.
Start of tool
ecast_cfg can run in 2 modes:
The mode is defined using commandline option:
- USB mode; traffic from USB receiver to Tellicast is managed. (virtual ethernet)
- Ethernet mode; traffic from a physical ethernet port to Tellicast is managed.
At start ecast_cfg first reads the config-files dvb-eumetcast.cfg(USB mode) and eumetcast-channels.cfg;
the last one is used to set-up the gui.
Because some channel names are not very clear (e.g. "EUMETSAT Data Channel 2" for the channel carrying HRIT MSG2)
a more convenient name mapping can be defined by the user, in file eumetcast_buttonnames.cfg.
Each line in this file should define the original name and the desired button name, between quotes, e.g.:
- default (no option): USB mode
- option -eth <portname>: ethernet mode. E.g. option -eth eth1 will use port eth1 as source.
"EUMETSAT Data Channel 2" "HRIT"
ecast_cfg will use this file for 3 purposes:
A list of actions done by ecast_cfg:
- Show the user-defined name near the selection button instead of an (abbreviation) of the original name
- Make a separate list of these selection bottons. All remaining channels are available in a second (scrollable) list.
- Sort buttons using eumetcast_buttonnames.cfg instead of the order in the eumetcast-channels.cfg file
|program start||USB||PID filtering||dvbnet-like function
|USB||connect PID to IP||ifconfig
|USB||set-up multicast routing||ifconfig
|USB,ETH||start smcroute daemon||smcroute -d
|by user||USB||start receiver||button receive
|USB||show traffic||button Mon Traffic
|USB,ETH||select channels||buttons under Select
|USB,ETH||activate selection||button Activate selection
|USB,ETH||start/stop Tellicast||button Start under Tellicast
|program stop||USB,ETH||stop Tellicast||button Quit removing config
|USB,ETH||remove all routing, filtering etc.
|USB,ETH||keep all settings, continue receiving||button Quit keep config
At restart ecast_cfg will examine which channel selection was kept at stop (using ip mroute)
and the state of all selection buttons will be restored.
Remaining needed tools are usually already present (part of normal Linux distro)
- Download ecast_cfg.tgz
- tar -zxf ecast_cfg.tgz, this will give:
Put libdvbapi.so into /usr/lib
Put the 3 remaining files into one directory, e.g. $HOME/bin.
- ecast_cfg: the executable
- libdvbapi.so: extra lib needed for dvb-related commands
- eumetcast_buttonnames.cfg: example file to map user names to channels; change to your wishes
- eumetcast-receiver.cfg: contains receiver info
- Install the tools from the eumetsat CD.
In more detail:
ecast_cfg uses the gtk toolkit (gtk2.0), which is present at about each Linux installation.
The following tools are used:
|toolname ||Mode || description ||source
|szap ||USB || Tuner config ||Linux-distro
|pkill, pgrep ||USB || others ||Linux-distro
|ifconfig ||USB || configure network ||Linux-distro
|smcroute ||USB,ETH || Static Multicast Router ||Linux-distro
|pcscd ||USB,ETH || pcsc server ||Linux/Eumetsat script
|etokend ||USB,ETH || Aladdin eToken ||Linux/Eumetsat script
|tellicast-client ||USB,ETH || Tellicast ||Eumetsat
The following files are used:
All files are searched first in the start-dir., if not present then in /etc.
|filename ||Mode ||description ||source
|eumetcast-receiver.cfg ||USB ||Tuner config. (frequency etc.) ||attached to tarbal
|dvb-eumetcast.cfg ||USB ||IP mc-addresses etc. ||Eumetsat
|eumetcast-channels.cfg ||USB,ETH ||eumetcast channels ||Eumetsat
|eumetcast_buttonnames.cfg ||USB,ETH ||User channel names ||example attached to tarbal
Note: Tools like smcroute, used by ecast_cfg, probably need root privileges. In that case ecast_cfg needs to be started as root.
NOTE: up to now nothing is saved to harddisk!
- Start ecast_cfg
- Click on 'receive'. Note signal strenhth etc; BER should be 0 or close to 0.
- Click on 'Mon Traffic'. Each PID should show changing numbers. They show received data in kb/sec.
Note that this is for information only; you don't need to keep this info running.
- Select desired channels and then click on 'Activate selection'. The selected buttons should change colour to red.
Note: The tree in the most right part is for information only. See screenshot below:
- under 'Tellicast': Click on 'Start'. Now data of selected channels will be stored onto disk.
- Check the log section at the bottom; these are the last few lines in recv.log.
If you see that Tellicast stops, with message:
Cannot resolve own ip address
then start a new command shell and give following command:
Eumetcast network between receiver and Tellicast
(Click on image to enlarge.)