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
Features
for USB devices:
Receiver:
- Tune and start receiver
- Show signal strength, SNR, Bit Error Rate
PID settings:
- 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
Tellicast:
- 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.
Description
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:
- USB mode; traffic from USB receiver to Tellicast is managed. (virtual ethernet)
- Ethernet mode; traffic from a physical ethernet port to Tellicast is managed.
The mode is defined using commandline option:
- default (no option): USB mode
- option -eth <portname>: ethernet mode. E.g. option -eth eth1 will use port eth1 as source.
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.:
"EUMETSAT Data Channel 2" "HRIT"
ecast_cfg will use this file for 3 purposes:
- 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
A list of actions done by ecast_cfg:
When | Mode | Action | Using
|
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 | stop receiving
|
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.
Download
Version | Type | Download | Size | Comment
|
v2_0
| Eumetcast config channel select start/stop
| ecast_cfg
| 304k
| Linux only
|
v1_0
| Eumetcast config channel select start/stop
| ecast_cfg_v1.tgz
| 320k
| Linux only
|
Installation
In short:
- Download ecast_cfg.tgz
- tar -zxf ecast_cfg.tgz, this will give:
- 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
Put libdvbapi.so into /usr/lib
Put the 3 remaining files into one directory, e.g. $HOME/bin.
- Install the tools from the eumetsat CD.
Remaining needed tools are usually already present (part of normal Linux distro)
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:
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
|
All files are searched first in the start-dir., if not present then in /etc.
Usage
Note: Tools like smcroute, used by ecast_cfg, probably need root privileges. In that case ecast_cfg needs to be started as root.
- 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: up to now nothing is saved to harddisk!
- 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:
hostname localhost.localdomain
Note: The tree in the most right part is for information only. See screenshot below:
Eumetcast network between receiver and Tellicast
(Click on image to enlarge.)