Satelco Highend PCI (DVB-S)

From LinuxTVWiki
Revision as of 23:15, 31 December 2007 by CityK (talk | contribs) (added link to Rev.1.3 article)
Jump to navigation Jump to search
Satelco Highend PCI (DVB-S), rev2.3

A DVB-S PCI card from Satelco.

Revisions

  • rev 2.3 (as seen in the image above) ...

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