Satelco Highend PCI (DVB-S)
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);