Autor Thema: LIRC - Fernbedienung  (Gelesen 62135 mal)

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #15 am: August 24, 2011, 09:41:51 Vormittag »
Das Howto funktioniert nach wievor mit dem aktuellen Treiber problemlos.

Zitat
$ cat /proc/bus/input/devices

I: Bus=0003 Vendor=0000 Product=0000 Version=0001
N: Name="Sundtek Ltd. Remote Control"
P: Phys=
S: Sysfs=/devices/virtual/input/input11
U: Uniq=
H: Handlers=sysrq rfkill kbd event11
B: PROP=0
B: EV=100017
B: KEY=1fffff ffffffffffffffff ffffffffffffffff ffffffff00000000 0 feffffffffffff ffffffffffffffff ffffffffffffffff fffffffffffffffe
B: REL=0
B: MSC=0

Zitat

cat /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Linux input layer (/dev/input/eventX)"
REMOTE_MODULES=""
REMOTE_DRIVER="devinput"
REMOTE_DEVICE=/dev/input/event11
REMOTE_LIRCD_CONF="generic/devinput.conf"
REMOTE_LIRCD_ARGS=""

...

inputN und eventN kann abweichend sein, eventN muss jedoch bei /proc/bus/devices sowie hardware.conf gleich sein. Der Treiber startet automatisch /opt/bin/lirc.sh welches die Einstellungein in /etc/lirc/hardware.conf vornimmt


Zitat
$ irw
0000000000010002 00 1 linux-input-layer
0000000000010002 00 1 linux-input-layer
0000000000010002 00 1 linux-input-layer
0000000000010002 00 1 linux-input-layer
0000000000010003 00 2 linux-input-layer
0000000000010002 00 1 linux-input-layer
0000000000010003 00 2 linux-input-layer
0000000000010004 00 3 linux-input-layer
0000000000010192 00 CHANNELUP linux-input-layer
0000000000010193 00 CHANNELDOWN linux-input-layer
0000000000010007 00 6 linux-input-layer
0000000000010006 00 5 linux-input-layer
0000000000010005 00 4 linux-input-layer
0000000000010008 00 7 linux-input-layer
0000000000010009 00 8 linux-input-layer

Die Konfiguration wurde automatisch vom Treiber erstellt, einfacher kann's nun wirklich nicht mehr funktionieren


Eine Umschaltung auf RC5
Zitat
$ /opt/bin/mediaclient -l
Using device: /dev/mediainput0
supported remote control protocols:
id   protocol name
0 .. NEC IR Protocol (active)
1 .. RC5 IR Protocol
2 .. RC6 Mode0 IR Protocol
3 .. RC6 Mode6A IR Protocol

$ /opt/bin/mediaclient -s 1
Using device: /dev/mediainput0
Setting RC ID: 1

$ /opt/bin/mediaclient -l
Using device: /dev/mediainput0
supported remote control protocols:
id   protocol name
0 .. NEC IR Protocol
1 .. RC5 IR Protocol (active)
2 .. RC6 Mode0 IR Protocol
3 .. RC6 Mode6A IR Protocol

Die Fernbedienung wird erkannt sofern sich die Werte bei folgendem Befehl ändern:
Zitat
$ /opt/bin/mediaclient --pollrc

Bezüglich RC5 gibt es noch ein Update um die Key-Wiederholrate zu verlangsamen (Update 24. August 2011)

Eine statische Konfiguration der Fernbedienungswerte kann via /etc/sundtek.conf durchgeführt werden.
Siehe:
http://wiki.sundtek.de/index.php/TreiberKonfiguration
« Letzte Änderung: August 24, 2011, 10:04:45 Vormittag von Sundtek »
Failure is a good thing! I'll fix it

larry_72

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #16 am: September 20, 2012, 06:41:34 Nachmittag »
 ???
Hallo zusammen. Habe den MediaTVPro an einer ZBOX AD02 unter Ubuntu 12.04 LTS und XBMC 12 PVR / AE (wsnipex) (als normales Programm, nicht als Hauptnutzung) nach einer ganzen Weile des herumprobierens ordentlich am laufen. Nur die schwarze Fernbedienung will irgendwie nicht. Habe das HowTo durch gearbeitet. Die Abfrage /opt/bin/getinput.sh liefert mir das Ergebnis event7.
Was ich am HAL überprüfen soll weiß ich nicht; die sundtek.fdi-Datei hat der Installer aber ordnungsgemäß am angegebnen Pfad angelegt.

Nun das Problem: sudo dpkg-reconfigure lirc --> Linux input layer --> Custom --> keine /dev/input/event7 da, sondern nur /dev/lirc0 !? Was tun?

Hatte dann mit inputlirc zwischenzeitlich mal Ausgaben bei irw, war nach einem reboot aber wieder weg. Als es noch funktionierte wurde mir die OK-Taste zwar per irw angezeigt, diese hatte jedoch werder in Ubuntu noch in XBMC die Funktion Enter?!
Muss ich das manuell zuweisen, wenn ja dann wo bitte?

Viele Fragen und hoffentlich eine Antwort, da ich den Stick ansonsten sehr gelungen finde.
Viele Grüße aus dem Schwabenland  :P

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #17 am: September 20, 2012, 06:50:06 Nachmittag »
Hast du denn sicher das richtige ausgewählt?




Dort dürfte niemals lirc0 stehen!
Failure is a good thing! I'll fix it

larry_72

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #18 am: September 20, 2012, 08:44:17 Nachmittag »
Danke für die flinke Antwort!
An dieser Stelle sieht's bei mir noch genauso aus.
Danach kommt der Screen, wo ich Custom wähle, aber dann im nächsten Screen von LIRC habe ich nur die Auswahl von /dev/lirc0 und allen möglichen anderen Einträgen (wahrscheinlich von der schnurlosen Tastatur / Touchpadkombi), aber definitiv keiner davon in der Syntax /dev/input/eventX!
Habe ich mehrfach probiert, lirc entfernt, neu installiert, reboots, half alles nichts.
Hatte ich im ersten Beitrag vergessen : Ubuntu 12.04 LTS 64-Bit.



« Letzte Änderung: September 20, 2012, 09:00:31 Nachmittag von larry_72 »

larry_72

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #19 am: September 22, 2012, 10:38:16 Vormittag »
Schade, keine Antwort mehr?

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #20 am: September 22, 2012, 12:41:33 Nachmittag »
Du kannst in dem Menü irgendetwas auswählen, sobald du den Stick neu anschließt wird der Treiber die Datei bearbeiten und den richtigen Eintrag dort aktualisieren.
Es scheint wahrlich ein Bug im lircd Menü zu sein.

Falls die Fernbedienung dann dennoch nicht tut bitte die Anleitung nocheinmal genau durchlesen und den updaterc Befehl durchführen.
Failure is a good thing! I'll fix it

larry_72

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #21 am: September 22, 2012, 05:50:52 Nachmittag »
So jetzt läuft's mit "inputlirc":

sudo apt-get install lirc lirc-x liblircclient0 inputlirc
sudo dpkg-reconfigure lirc

Im LIRC Menü überall None auswählen.

Nun festen Pfad für die Fernbedienung festlegen.
Zuerst Namen der Fernbedienung auslesen:

cat /proc/bus/input/devices
Den String in Anführungszeichen unter Name kopieren.
udev-Regel / Symlink erstellen:

sudo nano /etc/udev/rules.d/10-local.rules
In der Datei folgendes eintragen, dabei den String hinter ATTRS{name}== mit dem vorher ausgelesenen Namen anpassen:

KERNEL=="event*",ATTRS{name}=="Sundtek Ltd. Remote Control",SYMLINK+="input/ir0"
Speichen mit STRG+O, ENTER, STRG+X

Jetzt inputlirc anpassen, so dass nur Befehle von ir0 angenommen werden:

sudo nano /etc/default/inputlirc
Die Datei wie folgt anpassen:

Zitat
# Options to be passed to inputlirc.
EVENTS="/dev/input/eventir0"
OPTIONS="-g -m 0"

unbedingt ir0 und -g setzen !
Speichen mit STRG+O, ENTER, STRG+X

Zitat
Für die flache Fernbedienung folgende Keymap Kopieren:

wenn es /etc/lircd gibt:
sudo cp /opt/doc/sundtek.conf /etc/lircd/lircd.confwenn es /etc/lirc gibt:
sudo cp /opt/doc/sundtek.conf /etc/lirc/lircd.conf

Für die größere Videorekorder Fernbedienung diese Keymap Kopieren:
Code:

wenn es /etc/lircd gibt:
sudo cp /opt/doc/sundtek_vcr_remote.conf /etc/lircd/lircd.confwenn es /etc/lirc gibt:
sudo cp /opt/doc/sundtek_vcr_remote.conf /etc/lirc/lircd.conf

Es kann sein das bei der neuen Fernbedienung der Stick noch umkonfiguriert werden muss

/opt/bin/mediaclient --updaterc=1 -d /dev/mediainput0

1 steht für das Fernbedienungslayout der größeren Fernbedienung, 0 für das Layout der kleinen Fernbedienung.
Anschließend muss der Stick jedoch neu angeschlossen werden, die Einstellung wird auf dem Stick abgespeichert und beim Laden des Treibers berücksichtigt

Inputlirc startet merkwürdiger Weise nicht beim Systemstart.
Deshalb die Lösung für Tvheadend beim Systemstart erweitern:
(wer tvheadend nicht nutzt lässt den Eintrag für tvheadend einfach weg)

Datei erstellen:

sudo nano /usr/bin/tvheadend_restart.sh
In die Datei folgendes einfügen:

#!/bin/bash
/etc/init.d/tvheadend restart
/etc/init.d/inputlirc restart

Speichen mit STRG+O, ENTER, STRG+X

sudo chmod 777 /usr/bin/tvheadend_restart.sh
Datei erstellen:

sudo nano /etc/sundtek.conf
In die Datei folgendes einfügen:

device_attach=/usr/bin/tvheadend_restart.sh

Speichen mit STRG+O, ENTER, STRG+X

Reboot

Neues Terminal öffnen:

sudo /etc/init.d/udev restart
Jetzt sollten Tastendrücke auf der Fernbedienung kryptische Zeichen erscheinen lassen.
STRG+C zum beenden.

irw
irw sollte jetzt "sauber" die Tastenbelegung mit /dev/input/ir0 am Ende ausgeben.

Ich hoffe das wird auch anderen helfen.
So jetzt noch irgendwie versuchen die Tastenbelgung in XBMC entsprechend zuzuordnen.
Das muss aber noch etwas warten, jetzt beginnt gleich die Sportschau ... ;D


« Letzte Änderung: September 21, 2013, 12:24:34 Nachmittag von larry_72 »

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #22 am: September 22, 2012, 06:19:17 Nachmittag »
Das ist gelungen! :-)

Zitat
Inputlirc startet merkwürdiger Weise nicht beim Systemstart.
Deshalb die Lösung für Tvheadend beim Systemstart erweitern:
(wer tvheadend nicht nutzt lässt den Eintrag für tvheadend einfach weg)

Es gibt in /opt/bin ein Skript "lirc.sh" dieses Skript aktualisiert normalerweise die "lircd" Konfiguration.

lirc.sh wird von den UDEV Skripten aufgerufen sobald die devinput/event Node registriert wird.

Zitat
SUBSYSTEM=="input", ATTRS{name}=="Sundtek Ltd. Remote Control", ACTION=="add",       RUN+="/opt/bin/lirc.sh ATTACH"
SUBSYSTEM=="input", ATTRS{name}=="Sundtek Ltd. Remote Control", ACTION=="remove",    RUN+="/opt/bin/lirc.sh REMOVE"

Siehe:
/etc/udev/rules.d/80-mediasrv-eeti.rules
/lib/udev/rules.d/80-mediasrv-eeti.rules
Failure is a good thing! I'll fix it

larry_72

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #23 am: September 22, 2012, 07:24:44 Nachmittag »
Das habe ich nun nicht so ganz kapiert!?

War das eine Erklärung für das nicht beim Systemstart startende inputlirc oder sollte ich an meiner Konfiguration noch etwas anpassen?

Also die udev-scripte führen dann wohl das lirc.sh aus, je nachdem, ob der Stick an- oder abgesteckt wird.
Wozu soll lirc.sh die lircd aktualisieren?

Im übrigen hat der Befehl /etc/init.d/inputlirc restart in der rc.local nichts gebracht.

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #24 am: September 22, 2012, 08:26:30 Nachmittag »
Du hast das mit Deinen Skripten recht elegant gelöst das du der Fernbedienung bereits eine fixe Node zugewiesen hast, ansonsten könnte es vorkommen das die Node wechselt und daher wird eigentlich das lirc.sh Skript gestartet - um dann lircd zu aktualisieren.

Du könntest an dieser Stelle bei dir halt auch inputlirc starten.
Failure is a good thing! I'll fix it

larry_72

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #25 am: September 22, 2012, 08:36:31 Nachmittag »
Ah, danke für die Erklärung.
Dann müsste ich das etc/init.d/inputlirc restart also in das lirc.sh schreiben.
Habe ich das richtig verstanden?

Und dann nochmals herzlichen Dank für den klasse Support, sogar am Samstagabend!

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #26 am: September 22, 2012, 09:07:05 Nachmittag »
Genau.
Failure is a good thing! I'll fix it

Nixus_Maximus

  • Newbie
  • *
  • Beiträge: 3
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #27 am: Januar 02, 2016, 10:37:52 Nachmittag »
Hat es in letzter Zeit mal jemand hinbekommen, Lirc mit der der Sundtek-Fernbedienung unter Linux zum laufen zu bekommen? Ich bekommen bei dpkg-reconfigure Lirc ebenfalls nicht - wie weiter oben auch schon vor einigen Jahren geschrieben - das Event (hier auch event11) überhaupt nicht zu Gesicht, obwohl es definitiv in /dev/input vorhanden ist. Die Lösung über Inputlirc ist ja doch etwas unhandlich...

Viele Grüße
NM

Sundtek

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 8512
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #28 am: Januar 05, 2016, 04:33:49 Nachmittag »
Für was benötigst du denn Lirc überhaupt?

Ohne Lirc werden die Fernbedienungsbefehle als Keyboard durchgereicht.

Welches System ist das überhaupt?

Was zeigt /opt/bin/getinput.sh an?
Failure is a good thing! I'll fix it

micki

  • Newbie
  • *
  • Beiträge: 6
    • Profil anzeigen
Re:LIRC - Fernbedienung
« Antwort #29 am: Februar 07, 2016, 07:25:33 Nachmittag »
LIRC funktioniert bei mir (LUbuntu 15.10) out of the box. Einfach bei dpkg-reconfigure linux input eventX wählen; die richtige Zahl wird dann vom Skript /opt/bin/lirc.sh eingestellt, wenn der Stick neu angeschlossen wird. Wenn das eventX nicht sichtbar ist: herunterrollen!
In der /etc/lirc/lirc.conf wird dann nur per include auf /usr/share/lirc/remotes/devinput/lirc.conf.devinput gezeigt - eine keymap steht hier out of the box nicht!
INPUTLIRC ist etwas komlizierter. Weil das vom Skript /opt/bin/lirc.sh nicht unterstützt wird, müssen die Einstellungen in /etc/default/inputlirc von Hand vorgenommen werden und inputlirc muss dann von Hand gestartet werden (sudo service inputlirc restart).