Satelco Highend PCI (DVB-S)

From LinuxTVWiki
Revision as of 13:20, 22 November 2007 by CityK (talk | contribs) (fixed link)
Jump to navigation Jump to search
Satelco High End rev2.3

A DVB-S PCI card from Satelco.

Installation


Card drivers will be automatically detected and loaded by most linux distributions (e.g. Kubuntu). You need just to ensure that the firmware file "dvb-ttpci-01.fw" is installed in "/lib/firmware".

Remote Control (revision 2.3)

You need to load the description file for the remote control used.

av7110_loadkeys /etc/dvb-rc/satelco-highend.rc5 >/proc/av7110_ir

A script should be added to /etc/init.d which executes the command above. Then it need to be added to the runlevel directory.

Description file "satelco-highend.rc5"

0x27 KEY_SETUP
0x1a KEY_AUDIO
0x01 KEY_POWER
0x21 KEY_OPTION
0x12 KEY_MENU
0x22 KEY_EPG
0x14 KEY_RED
0x13 KEY_EXIT
0x15 KEY_GREEN
0x16 KEY_YELLOW
0x17 KEY_BLUE
0x0e KEY_LEFT
0x0d KEY_UP
0x10 KEY_RIGHT
0x11 KEY_DOWN
0x0f KEY_OK
0x19 KEY_TEXT
0x23 KEY_CHANNELUP
0x24 KEY_CHANNELDOWN
0x25 KEY_VOLUMEUP
0x26 KEY_VOLUMEDOWN
0x03 KEY_1
0x04 KEY_2
0x05 KEY_3
0x06 KEY_4
0x07 KEY_5
0x08 KEY_6
0x09 KEY_7
0x0a KEY_8
0x0b KEY_9
0x0c KEY_0
0x02 KEY_BACK
0x18 KEY_MUTE


VDR

The easiest way to use vdr with the remote control is the vdr-remote plugin. You can add the following paramater to your runvdr script in the line where vdr is started:

IRDEV="`/usr/local/bin/getIRRReceiver.pl`"
vdr -P "remote -i $IRDEV"

The following command will return a list with input devices:

cat /proc/bus/input/devices

I: Bus=0001 Vendor=13c2 Product=000e Version=0002
N: Name="DVB on-card IR receiver"
P: Phys=pci-0000:00:07.0/ir0
S: Sysfs=/class/input/input2
H: Handlers=kbd event2I: Bus=0001 Vendor=13c2 Product=000e Version=0002
N: Name="DVB on-card IR receiver"
P: Phys=pci-0000:00:07.0/ir0
S: Sysfs=/class/input/input2
H: Handlers=kbd event2
B: EV=100013
B: KEY=1 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe
B: MSC=18
B: EV=100013
B: KEY=1 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe
B: MSC=18


In this example the IR is on "/dev/input/event2". The script "getIRRReceiver.pl" automatically detects this and environment variable "IRDEV" is set accrodingly in the above example.

Script "getIRRReceiver.pl"

#!/usr/bin/perl
#
# Find /dev/input/eventXX device used by DVB on-card IR receiver.
#
use strict;

my %device;
my $deviceNr = 0;

open(FIN, "<", "/proc/bus/input/devices") or die "Failed to open file";
while(<FIN>)
{
	s/\n//g;
	s/\r//g;
	if (/=/) {
		my ($name, $value) = split(/=/);
		$device{$name} = $value;
	} else {
		if ($device{"N: Name"} eq "\"DVB on-card IR receiver\"") {
			if ($device{"H: Handlers"} =~ /event([0-9]*)/) {
				$deviceNr = $1;
			}
		}
	}
}
close(FIN);

printf("/dev/input/event%d\n", $deviceNr);

External Links