Satelco Highend PCI (DVB-S)

From LinuxTVWiki
Revision as of 16:15, 26 August 2007 by Juergen (talk | contribs)
Jump to navigation Jump to search

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.

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);