Remote-plugin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Aktuelle Version

Version 0.4.0

Beschreibung

Autor: Oliver Endriss

Das Plugin (auch genannt: Remote Control Plugin) erweitert die Möglichkeiten zur Fernbedienung des VDR. Es handelt sich um einen modularen Zusatz zur VDR-Software, mit dem sich insbesondere der IR-Original-Empfänger der DVB-Karte Hauppauge Nexus 2.1/2.2 nutzen lässt. Es werden die mit den Karten mitgelieferten Fernbedienungen (sowohl die alte schwarze als auch die neue silberne) unterstützt. Außerdem kann prinzipiell jede Fernbedienung verwendet werden, die RC5-Code sendet.

Anmerkung: Bei "full-featured" Karten der Version 1.3/1.5/1.6 kann ein IR-Empfänger am J2 Jumperblock angeschlossen werden. Dieser Empfänger wird ebenfalls unterstützt, ebenfalls die in CI-Modulen integrierten Empfänger.

Unterstützte Eingabegeräte

Wer genauer wissen möchte, welche Eingabegeräte verwendet werden können, der entnehme der Readme-Datei des Plugins die folgenden Hinweise (hier in übersetzter Version, weiter unten im Original nachzulesen):

(a) Linux Eingabegeräte ('/dev/input/eventX', X=0,1,2,...)

  • eingebauter Fernbedienungs-Port av7110-basierter DVB-Karten (sog. full-featured card), wie z.B. DVB-S Nexus [1] (bis Rev 2.2) und Technotrend Revisionen 1.3,1.5 und 1.6 (auch über Erweiterungsplatinen z.B. das AVBoard)
  • Fernbedienungs-Ports einiger budget cards, wie z.B. Nova-CI [2] und Hauppauge nova-t usb2
  • HTPC Panelknöpfe/Tastaturen(USB), z.B. Silverstone LC16M(R) siehe hier
  • andere Eingabegeräte (noch nicht getestet, bitte erfolgreiche Geräte melden!)
  • Siehe die FAQ-Datei mit einer Liste erfolgreich verwendeter Geräte.

(b) Tastatur (tty driver): /dev/console, /dev/ttyX, optional auch mit OSD (wie bei TCP, s.u.)

(c) TCP-Verbindung (telnet)

(d) LIRC

Anmerkungen:
[1] wird von DVB und DVB-Kernel unterstützt
[2] wird nur vom DVB-Kernel unterstützt

[Das Zusammenspiel von LIRC und Remote-Plugin -anscheinend ein neues Feature- verdient eine eigene Erklärung...]

Bilder

tcp

Konfiguration

Parameter

Parameter (kurz) Parameter (lang) Beschreibung
-i <DEV> --input=<DEV> kernel input device (/dev/input/...)
-l <DEV> --lirc=<DEV> lirc device (/dev/lircd)
-p <TCP:n> --port=<TCP:n > listen on tcp port <n>
-t <DEV> --tty=<DEV> tty device
-T <DEV> --TTY=<DEV> tty device with OSD

Probleme

Infrarot-Port x 1

Es funktioniert immer nur der Infrarot-Port der zuletzt initialisierten Karte. Deshalb kann es passieren, dass mit zwei Premium Karten das Remote-Plugin nicht läuft. Dann hilft das Tauschen der PCI-Slots. Auch durch das Erneuern der DVB-Treiber kann sich die Initialisierungsreihenfolge ändern.

Ergänzung: Für aktuelle Versionen scheint diese Einschränkung nicht mehr zu gelten. U. U. können damit auch Probleme mit udev gelöst werden. In der Praxis kann es nämlich vorkommen, daß z. B. die event-Devices einer Budget-CI und einer Full-Featured Karte von Booten zu Booten die Positionen ändern. Mittels z. B. "-i /dev/input/event1 -i /dev/input/event2" können dann beide Devices angegeben werden - wichtig vor allem, wenn eine andere als die Standard-Fernbedienung verwendet wird.

Wiederholrate zu schnell

Wenn die Wiederholrate der Tastendrücke zu schnell ist (dass der VDR sie nicht mehr verarbeiten kann), hilft dieses Programm:

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <linux/input.h>
#include <sys/ioctl.h>

#ifndef EVIOCSREP
#define EVIOCSREP _IOW('E', 0x03, int[2])
#endif

/* compile with gcc -o setspeed setspeed.c */


int main(int argc, char** argv) {
   int retval = 0;
   int fd = 0;
   int rep[2];

   rep[0] = 400; // delay
   rep[1] = 200; // repeat rate

   if ((fd = open( "/dev/input/event4", O_RDWR )) < 0) {   // better use /dev/input/ir
       printf("unable to access /dev/input/event4, exiting..\n");
       exit(1);
   }
   if (ioctl(fd, EVIOCSREP, rep)) {
       perror("unable to set delay and repeat rate for input devices");
       exit(1);
   }

   close(fd);
}

With the bases lodead you struck us out with that answer!

Links

  1. Homepage des Plugins
  2. Evexec
  3. Readme des Plugins
  4. FAQ
In anderen Sprachen