Technisat Skystar2 mit USB IR-Empfänger

Aus MythDeWiki

Wechseln zu: Navigation, Suche

Nach wochenlangem Herumexperimentieren und Lesen vieler fürchterlicher Anleitungen bin ich endlich auf die Lösung gekommen, die neue Fernbedienung der Skystar-Karten von Technisat (mit USB-IR Empfänger) zum Laufen zu kriegen. Das ganze hat sich als etwas trickreich herausgestellt, da das IR-Setup von Knoppmyth auch in der aktuellen Release R5E50 diese Remote noch nicht sauber unterstützt wird, obwohl sie im Setup auswählbar ist. Wenn man sie im Setup wählt, folgt die Meldung, dass es dafür noch keine Konfig gibt :). Also selbermachen...

Noch eines vorneweg: Diese Fernbedienung ist nicht unbedingt "das Gelbe vom Ei". Viele wichtige Tasten fehlen (z.B. Diashow, Videos, DVD, Skip, Rewind, Play, Pause, Rec, usw.), einige sind doppelt belegt und beim Thema Reichweite sowie Blickwinkel gibt es für kleines Geld weitaus bessere Geräte.

Basis: Knoppmyth R5E50 (2.6.18-chw-13)

Updates: keine

Lirc-Version: 0.8.0.9 aber nicht eingerichtet

TV-Karte: Technisat Skystar 2 DVB-S

IR-Empfänger: Technisat USB IR-Receiver 0900/3704

Fernbedienung: Technisat TTS35AI

MythTv eingerichtet, Mythfrontend beendet, MythTV-Backend und (falls bereits gestartet) Lircd gestoppt (/etc/init.d/DAEMON stop).

Über

 #cat /proc/bus/input/devices

sieht man, ob und welche Eingabe-Geräte bereits im System erkannt wurden. Oft wird der USB-Empfänger nach der ersten Installation nicht erkannt. Entweder taucht dieser gar nicht auf oder er wird als "unknown device" angezeigt.

Neu einstecken, dann erscheint bei Aufruf von cat /proc/bus/input/devices (variiert leicht je nach Distri und HW):

 I: Bus=0003 Vendor=147a Product=e02d Version=0005
 N: Name="USB IR Receiver USB IR Receiver"
 P: Phys=usb-0000:00:1f.4-1/input0
 S: Sysfs=/class/input/input2
 H: Handlers=kbd event2
 B: EV=10000b
 B: KEY=e080ffdf 1cfffff ffffffff fffffffe
 B: ABS=300 0

Es sind zusätzlich noch eine PS/2-Maus und eine PS/2-Tastatur angeschlossen, welche wegen der Übersichtlichkeit hier nicht aufgeführt wurden. Wichtig ist hier die Zeile mit "Handlers". Dahinter verbirgt sich, wo der IR-Empfänger auf Eingaben wartet (hier: "kbd event2" also /dev/input/event2). Dies kann je nach System auch etwas anders aussehen. Sollte der USB-Empfänger auch nach erneutem Einstecken nicht sauber im System auftauchen, ist irgendwas Grundlegendes noch nicht in Ordnung. (Mal anderen USB Port versuchen, daß hat bei mir geholfen. --mario) Solange dies der Fall ist, wird der Rest dieser Anleitung nicht funktionieren.

Weiter geht's mit der Konfiguration /etc/lirc/lircd.conf

 # brand: Technisat
 # model no. of remote control: TTS35AI
 # devices being controlled by this remote: Skystar2 / Airstar2
 #
 # Note: The codes for PROG+, PROG-, VOL+ and VOL- are double assigned
 # These codes also appear by pressing UP, DOWN, LEFT or RIGHT
 
 begin remote
 
   name      TTS35AI
   bits           32
   eps            30
   aeps          100
 
   one             0     0
   zero            0     0
   gap          107965
   toggle_bit      0
 
 
       begin codes
           MUTE                     0x80010032
           1                        0x80010002
           2                        0x80010003
           3                        0x80010004
           4                        0x80010005
           5                        0x80010006
           6                        0x80010007
           7                        0x80010008
           8                        0x80010009
           9                        0x8001000A
           0                        0x8001000B
           -/--                     0x80010013
           A/B                      0x8001001F
           RED                      0x8001003F
           GREEN                    0x80010040
           YELLOW                   0x80010041
           BLUE                     0x80010042
           UP                       0x80010067
           RIGHT                    0x8001006A
           DOWN                     0x8001006C
           LEFT                     0x80010069
           OK                       0x8001001C
           SFI                      0x80010012
           EXIT                     0x80010021
           INFO                     0x80010017
 #         PROG+                    0x80010067
 #         PROG-                    0x8001006C
           TV/RADIO                 0x80010043
           MENU                     0x8001003C
 #         VOL+                     0x8001006A
 #         VOL-                     0x80010069
           HELP                     0x80010017
           TXT                      0x80010014
           STOP                     0x80010019
           EXT                      0x8001002F
       end codes
 end remote
 

Man beachte, dass die Zeilen mit PROG und VOL auskommentiert sind. Dies ist eine Besonderheit der TTS35AI. Diese Tasten senden den selben Code wie die Pfeiltasten, sind also obsolet. Hintergrund ist, dass diese Remote auch für diverse DVB-S Settop Boxen verwendet wird, welche auch über die Pfeiltasten Programm und Laustärke ändern. (Ich habe selber so ein Ding: Telestar Diginova 2 PNS). ;)

/etc/lirc/hardware.conf

 # /etc/lirc/hardware.conf
 #
 # Arguments which will be used when launching lircd
 LIRCD_ARGS=""
 
 #Don't start lircmd even if there seems to be a good config file
 #START_LIRCMD=false
 
 #Try to load appropriate kernel modules
 LOAD_MODULES=true
 
 # Run "lircd --driver=help" for a list of supported drivers.
 DRIVER="dev/input"
 # If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
 # automatically used instead
 DEVICE="/dev/input/event2"
 MODULES=""
 
 # Default configuration files for your hardware if any
 LIRCD_CONF=""
 LIRCMD_CONF=""

Hier noch eine andere Variante für die selbe Datei: (Arch-Linux mit LIRC 0.8.2 - Der Dateipfad und die Parameternamen sind hier etwas anders. --kjb)

/etc/conf.d/lircd

 LIRC_DRIVER="dev/input"
 LIRC_DEVICE="name=USB IR Receiver USB IR Receiver"

Bei dieser Variante wird direkt die Beschreibung (Name - siehe oben) des USB-Gerätes verwendet. (Der genaue Pfad /dev/input/event... kann sich auch mal ändern, vor allem wenn man auch noch eine USB-Tastatur und/oder Maus hat.)

Damit das trotz der Leerzeichen funktioniert, muß man evtl. noch im Aufruf von lircd Anführungszeichen beim Deviceparameter hinzufügen.

/etc/rc.d/lircd (Auszug - bei anderen Distributionen /etc/init.d/lircd o.ä. )

 lircd -d "$LIRC_DEVICE" ...

bzw.

 lircd --device="$LIRC_DEVICE" ...

Noch einfacher gehts z. B. unter Ubuntu (8.04 Hardy). Dort gibt es ein /dev/input/by-id/usb-USB_IR_Receiver_USB_IR_Receiver-event-ir nimmt man diesen als LIRC_DEVICE (oder bei Ubuntu REMOTE_DEVICE) dann hat man die Probleme mit den Leertasten nicht und der Empfänger wird trotz Tastatur erkannt!

Testen der Konfiguration: In der ersten Konsole startet man lircd, sodaß man eventuelle Fehler sehen kann.

 #lircd --nodaemon --device=/dev/input/event2 --driver=dev/input /etc/lirc/lircd.conf

bzw.

 #lircd --nodaemon --device="name=USB IR Receiver USB IR Receiver" --driver=dev/input /etc/lirc/lircd.conf

In einer zweiten Konsole starten wir jetzt irw.

 irw

Wenn man jetzt Tasten auf der Fernbedienung drückt, sieht man das Tasten-Mapping aus /etc/lirc/lircd.conf.

Als letztes muss noch die Datei /home/Benutzername/.mythtv/lircrc angepasst werden:

 # ~/.mythtv/lircrc
 #
 # MythTV native LIRC config file for
 # the Skystar 2 remote control
 #
 #
 # Kanal rauf
 begin
 prog = mythtv
 button = UP
 repeat = 2
 config = Up
 end
 #
 # Auswahl links
 begin
 prog = mythtv
 button = LEFT
 repeat = 1
 config = Left
 end
 #
 # Auswahl links
 begin
 prog = mythtv
 button = RIGHT
 repeat = 1
 config = Right
 end
 #
 # Kanal runter
 begin
 prog = mythtv
 button = DOWN
 repeat = 2
 config = Down
 end
 #
 # OK/Auswahl
 begin
 prog = mythtv
 button = OK
 config = Space
 end
 #
 # Play
 begin
 prog = mythtv
 button = PLAY
 config = Return
 end
 #
 # Escape/Exit/Back
 begin
 prog = mythtv
 button = EXT
 config = Esc
 end
 # 
 # Power Off/Exit
 begin
 prog = mythtv
 button = POWER
 config = Esc
 end
 #
 # Rote Taste
 begin
 prog = mythtv
 button = RED
 config = Esc
 end
 #
 # Pause
 begin
 prog = mythtv
 button = PAUSE
 repeat = 3
 config = P
 end
 #
 # Mute
 begin
 prog = mythtv
 button = MUTE
 repeat = 3
 config = F9
 end
 #
 # Lautstärke +
 begin
 prog = mythtv
 button = RIGHT
 repeat = 2
 config = F10
 end
 #
 # Lautstärke -
 begin
 prog = mythtv
 button = LEFT
 repeat = 2
 config = F11
 end
 #
 # Vorwärts (30 s. Standard)
 begin
 prog = mythtv
 button = FFW
 repeat = 3
 config = Left
 end
 #
 # Zurück (10 s. Standard)
 begin
 prog = mythtv
 button = REW
 repeat = 3
 config = Right
 end
 #
 # Sprung vorwärts (10 min Standard)
 begin
 prog = mythtv
 button = SKIP
 repeat = 3
 config = PgDown
 end
 #
 # Skip zurück (10 min Standard)
 begin
 prog = mythtv
 button = REPLAY
 repeat = 3
 config = PgUp
 end
 #
 # Aufnahme
 begin
 prog = mythtv
 button = RECORD
 repeat = 3
 config = R
 end
 #
 # Löschen
 begin
 prog = mythtv
 button = BLANK
 repeat = 3
 config = D
 end
 #
 # OSD 
 begin
 prog = mythtv
   button = GREEN
 repeat = 3
 config = O
 end
 #
 # EPG während in live TV,
 # 
 begin
 prog = mythtv
 button = MENU
 repeat = 3
 config = M
 end
 #
 # Scroll up
 begin
 prog = mythtv
 button = VOL+
 repeat = 3
 config = Right
 end
 #
 # Scroll down
 begin
 prog = mythtv
 button = VOL-
 repeat = 3
 config = Left
 end
 #
 # OSD Info zeigen
 begin
 prog = mythtv
 button = GO
 repeat = 3
 config = I
 end
 #
 # Anzeigegröße ändern
 begin
 prog = mythtv
 button = FULL
 repeat = 3
 config = W
 end
 #
 # Vorherigen Werbeblockmarker suchen
 begin
 prog = mythtv
 button = YELLOW
 repeat = 3
 config = Q
 end
 #
 # Nächsten Werbeblockmarker suchen
 begin
 prog = mythtv
 button = BLUE
 repeat = 3
 config = Z
 end
 #
 #
 # Nummerntasten 0-9
 #
 begin
 prog = mythtv
 button = 0
 repeat = 3
 config = 0
 end
 #
 begin
 prog = mythtv
 button = 1
 repeat = 3
 config = 1
 end
 #
 begin
 prog = mythtv
 button = 2
 repeat = 3
 config = 2
 end
 #
 begin
 prog = mythtv
 button = 3
 repeat = 3
 config = 3
 end
 #
 begin
 prog = mythtv
 button = 4
 repeat = 3
 config = 4
 end
 #
 begin
 prog = mythtv
 button = 5
 repeat = 3
 config = 5
 end
 #
 begin
 prog = mythtv
 button = 6
 repeat = 3
 config = 6
 end
 #
 begin
 prog = mythtv
 button = 7
 repeat = 3
 config = 7
 end
 #
 begin
 prog = mythtv
 button = 8
 repeat = 3
 config = 8
 end
 #
 begin
 prog = mythtv
 button = 9
 repeat = 3
 config = 9
 end

Wer lieber mit dem Device-Nodes "lirc" oder "lircd" arbeiten möchte, lese bitte die Manpages von mknod. Darüber gibt es bereits sehr viele und gute Anleitungen. Das selbe gilt für die Anleitung für den automatischen Start von lircd mit den o.g. Parametern.

Persönliche Werkzeuge