Ubuntu HD VDR mittels SoftHDDevice und VDPAU/IRTrans

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Inbetriebnahme IRTrans

In meinem verwendeten Gehäuse ist bereits ein Infrarot Empfänger im Display verbaut. Dieser kann mit der IRTrans Software verwendet werden.

Fernbedienung

Ich verwende eine Logitech Harmony 650 Remote Fernbedienung. Für die Konfiguration der Fernbedienung ist ein Benutzerprofil auf der Logitech Webseite einzurichten. Dort kann ein individuelles Profil für die Fernbedienung erstellt werden. Hier der Link zur Webseite:

Einrichten der Harmony

Geräte hinzufügen

Im ersten Schritt im Konfigurations-Wizard werden die verwendeten Geräte wie TV, Spielekonsole, VDR etc. hinzugefügt. Für den VDR habe ich folgende Konfiguration verwendet:

Hersteller:   KLS
Modellnummer: VDR 1.6

Fernbedienung aktualisieren

Zum Schluss muss die Fernbedienung aktualisiert werden damit die Konfiguration übertragen wird.

IRTrans

Downloadverzeichnis vorbereiten

mkdir -p /data/installfiles/irtrans

Software herunterladen

cd /data/installfiles/irtrans/
wget http://www.irtrans.de/download/Server/Linux/irserver.tar.gz

Installation

mkdir -p /tmp/irtrans
cd /tmp/irtrans/
tar -xzf /data/installfiles/irtrans/irserver.tar.gz
sudo /tmp/irtrans/install.sh

IRTrans Server starten und Verbindungstest durchführen

sudo /usr/local/irtrans/irserver64 -loglevel 4 -debug_code /dev/ttyUSB0

Nach dem starten des IRTrans Servers kann mittels drücken einer beliebigen Taste auf der Fernbedienung der Infrarotempfang getestet werden.

Beispiel:

Init Server Socket done
IRServer64 Version 6.09.04
Init Events done
Opening Device: /dev/ttyUSB0
IRTRans Send Done: 1
Name   :
Version: D5.08.10
FW SNo : 14035
Capab  : Power On;
FW Cap : 0x3c8019
USB SNo:
Node   : /dev/ttyUSB0

Init communication ...
[ 0]:                      D5.08.10     SN: 14035
Chdir to DB OK
Read routing OK
Read Switches OK
Open DIR: 12
Get Dirent: 512
Remote dream                compiled:     0 Timings -     36 Commands
Remote kathrein-ufs         compiled:     2 Timings -     36 Commands
Remote dbox2                compiled:     1 Timings -     26 Commands
Remote mediacenter          compiled:     1 Timings -     49 Commands
**** CCF Error: ac1 [Remote: ccf.rem]
Remote ccf                  compiled:    20 Timings -     20 Commands
Remote mce-mouse            compiled:     1 Timings -      1 Commands
Remote sky-hd               compiled:     1 Timings -     34 Commands
Remote pace                 compiled:     2 Timings -     38 Commands
Remote irtrans              compiled:     1 Timings -     33 Commands
Remote sky-digital          compiled:     1 Timings -     31 Commands
Remote mce-keyboard         compiled:     1 Timings -     77 Commands
Get Dirent: 0
Duplicate Commands for ccf.1:   ccf.2  ccf.3  ccf.4
Duplicate Commands for ccf.2:   ccf.3  ccf.4
Duplicate Commands for ccf.3:   ccf.4
Duplicate Commands for pace.0:   pace.0-
Total:  11 Remotes  -  31 Timings -  381 Commands -    0 Calib. Commands
         0 Togglec. -  19 CCF Data -   0 CCF RAW  -    1 CCF Error
IRTRans Send Done: 1
IRTRans Send Done: 1
[0.0]: LEN: 14  11000000001010
[0.0]: LEN: 14  11000000001010
[0.0]: LEN: 14  11000000001011

IRTrans Server als Daemon starten

sudo /usr/local/irtrans/irserver64 -daemon -logfile /usr/local/irtrans/irserver.log /dev/ttyUSB0

IRTrans Client starten und Konfigurationsdatei (rem) für die Fernbedienung erstellen

IRTrans Client starten

sudo /usr/local/irtrans/irclient64 localhost

Konfigurationsdatei für Fernbedienung erstellen

Hier wird eine passende Konfigurationsdatei für eure Fernbedienung erstellt. Falls Ihr ebenfalls wie ich eine Logitech Harmony 885 verwendet könnt Ihr einfach die untige Konfiguration kopieren.

  • Learn
1 - Send
2 - Learn
3 - Status

99 - Exit

Select command 2
  • Select remote

Hier wird ein Name für die Konfigurationsdatei vergeben.

Selected Remote: []

1 - Select remote
2 - Learn Timing
3 - Learn Command [Based on timing]
4 - Learn Command [Command with timing]
5 - Learn Command [RAW Data]

99 - Exit

Select command 1

Enter Remote Name: harmony885
  • Learn Command [Command with timing]

Hier werden die einzelnen Tasten der Fernbedienung angelernt. Es wird erst der Name der Taste festgelegt und danach wird man aufgefordert die Taste auf der Fernbedienung zu drücken. Einfach alle Tasten der Fernbedienung wie im untigen Beispiel durchgehen.

Selected Remote: [harmony885]

1 - Select remote
2 - Learn Timing
3 - Learn Command [Based on timing]
4 - Learn Command [Command with timing]
5 - Learn Command [RAW Data]

99 - Exit

Select command 4
Command Name: Up
Command Name: Down
Command Name: Menu
Command Name: OK
Command Name: Exit
Command Name: Left
Command Name: Right
Command Name: Red
Command Name: Green
Command Name: Yellow
Command Name: Blue
Command Name: 0
Command Name: 1
Command Name: 2
Command Name: 3
Command Name: 4
Command Name: 5
Command Name: 6
Command Name: 7
Command Name: 8
Command Name: 9
Command Name: INFO
Command Name: PLAY
Command Name: PAUSE
Command Name: STOP
Command Name: REC
Command Name: FWD
Command Name: REW
Command Name: SKIP
Command Name: REPLAY
Command Name: POWER
Command Name: CH+
Command Name: CH-
Command Name: PREV
Command Name: VOL+
Command Name: VOL-
Command Name: MUTE
Command Name: Audio
Command Name: Subtitle
Command Name: GUIDE
Command Name: Channels
Command Name: Timer
Command Name: Recordings
Command Name: Setup
Command Name: Commands
Command Name: User1
Command Name: User2
Command Name: User3
Command Name: User4
Command Name: User5
Command Name: User6
Command Name: User7
Command Name: User8
Command Name: User9 

Press Remote Button to learn ....OK
99 - Exit

harmony885.rem Konfigurationsdatei

Die Datei wird erstellt und automatisch unter folgendem Verzeichnis abgelegt:

/usr/local/irtrans/remotes/harmony885.rem
[REMOTE]
  [NAME]harmony885

[TIMING]
  [0][N]0[RC]2[RP]87[FREQ]36[RC5]

[COMMANDS]
  [Volume+][T]0[D]11000000000001
  [Volume-][T]0[D]11000000000010
  [Channel+][T]0[D]11000000000100
  [Channel-][T]0[D]11000000000011
  [Clear][T]0[D]11000000100000
  [Enter][T]0[D]11000000100010
  [Up][T]0[D]10001011000100
  [Down][T]0[D]10001011000101
  [Menu][T]0[D]10001011001001
  [OK][T]0[D]10001011001000
  [Exit][T]0[D]10001011001010
  [Left][T]0[D]10001011000110
  [Right][T]0[D]10001011000111
  [Red][T]0[D]10001011000000
  [Green][T]0[D]10001011000001
  [Yellow][T]0[D]10001011000010
  [Blue][T]0[D]10001011000011
  [0][T]0[D]11001011000000
  [1][T]0[D]11001011000001
  [2][T]0[D]11001011000010
  [3][T]0[D]11001011000011
  [4][T]0[D]11001011000100
  [5][T]0[D]11001011000101
  [6][T]0[D]11001011000110
  [7][T]0[D]11001011000111
  [8][T]0[D]11001011001000
  [9][T]0[D]11001011001001
  [INFO][T]0[D]10001011001100
  [PLAY][T]0[D]11001011110101
  [PAUSE][T]0[D]11001011110011
  [STOP][T]0[D]11001011110110
  [REC][T]0[D]11001011110111
  [FWD][T]0[D]11001011110100
  [REW][T]0[D]11001011110010
  [SKIP][T]0[D]11001011110001
  [REPLAY][T]0[D]11001011110000
  [POWER][T]0[D]11001010001100
  [CH+][T]0[D]11001011100000
  [CH-][T]0[D]11001011100001
  [PREV][T]0[D]11001011100010
  [VOL+][T]0[D]11001011010000
  [VOL-][T]0[D]11001011010001
  [MUTE][T]0[D]11001011001101
  [Audio][T]0[D]10001011010001
  [Subtitle][T]0[D]10001011010010
  [GUIDE][T]0[D]10001011001011
  [Channels][T]0[D]10001011010011
  [Timer][T]0[D]10001011001111
  [Recordings][T]0[D]10001011001110
  [Setup][T]0[D]10001011010000
  [Commands][T]0[D]10001011001101
  [User1][T]0[D]10001011110000
  [User2][T]0[D]10001011110001
  [User3][T]0[D]10001011110010
  [User4][T]0[D]10001011110011
  [User5][T]0[D]10001011110100
  [User6][T]0[D]10001011110101
  [User7][T]0[D]10001011110110
  [User8][T]0[D]10001011110111
  [User9][T]0[D]10001011111000

IRTRans in den Autostart

Skript erstellen

sudo vi /etc/init.d/irtrans
#! /bin/bash
#
# IRTrans initscript
#
### BEGIN INIT INFO
# Provides:          irtrans
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: irtrans
# Description:       Start IRTrans Server
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="IRTrans Server"
NAME=irtrans
SCRIPTNAME=/etc/init.d/$NAME

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        sudo /usr/local/irtrans/irserver64 -daemon -logfile /var/log/irserver.log /dev/ttyUSB0
        if [ ! -h /var/run/lirc/lircd ] ; then mkdir /var/run/lirc ; ln -s /dev/lircd /var/run/lirc/lircd ; fi
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        sudo killall irserver64
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        $0 stop
        sleep 1
        $0 start
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

Skript ausführbar machen

sudo chmod +x /etc/init.d/irtrans

IRTrans in den Autostart aufnehmen

sudo update-rc.d irtrans defaults 99 99

IRTrans aus dem Autostart entfernen

Falls das Skript mal nicht funktionieren sollte kann man dieses wieder aus dem Autostart entfernen:

sudo update-rc.d -f irtrans remove

Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen

Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.

sudo visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/irtrans/irserver64,/etc/init.d/irtrans


Linksammlung

  1. IRTrans