KurzHowto: Linux4Media USB Farbdisplay 128x64 - Einbinden der Fernbedienung

  • [Blockierte Grafik: http://wiki.easy-vdr.de/images/0/0f/Disp-Bootlogo.jpg]




    Ich hab es nun geschafft die Fernbedienung mit allen Tasten einzubinden.


    Eigentlich ist es total einfach die Fernbedienung mit allen Tasten zu verwenden.
    Es funktionieren alle Tasten, sogar der Play/Pause Toggle.
    Alle Tasten lassen sich frei belegen.
    Zudem gibt es auch keine störenden Tastaturevents auf der Console und die Keymap muß auch nicht angepasst werden.


    Für den Preis ein Top Display mit IR Fernbedienung, wenn auch mit wenigen Einschränkungen.



    Hier ein kurzes Howto für die Einbindung unter VDR:


    Einigen Text habe ich aus dem Wiki von http://wiki.ubuntuusers.de/Lirc kopiert.
    Für weitere Infos über inputlirc ebenfalls zu empfehlen.


    Benötigtes Programm: inputlirc
    Benötigtes VDR Plugin: lircrc (Native LIRC-Unterstützung )


    Die Tastaturevents werden mit "inputlirc" abgefangen.
    Das Programm sollte eigentlich bei allen Dist. vorhanden sein.
    Ich selber verwende GNU/Debian
    inputlirc liest automatisch alle Impulse aller /dev/input/event*-Geräte aus.


    In der Config Datei (/etc/default/inputlirc) folgende Optionen eintragen:


    Code
    # Options to be passed to inputlirc.
    EVENTS="/dev/input/event0 /dev/input/event1"
    OPTIONS="-g -m 0"


    Damit wird festgelegt dass nur inputlirc auf die Impulse der Fernbedienung reagiert. Keine Ausgabe auf der Console.
    Die Devices (/dev/input/eventx)müssen natürlich von jedem auf das eigene System angepasst werden.


    Inputlirc schreibt alle empfangenen Signale direkt in /dev/lircd.


    Mittels udev noch eine Regel festlegen damit die Zuordnung der Devices (eventx) immer gleich bleiben.


    Einbinden des VDR Plugins lircrc Anleitung


    lircrc Config aus dem Anhang benutzen und ev. noch die Tasten anpassen.


    Der LIRC-daemon (lircd) braucht nicht gestartet werden.




    Genial einfach oder?


    Gruß




    EDIT:
    Neue .lircrc hinzugefügt wenn inputlirc aus dem svn verwendet wird


    Link auf easyVDR Wiki Linux4Media-USB - easyVDR Wiki

  • Bei mir klappt es leider nicht, ich nutze Easyvdr und weiß nicht ob ich Lirc aktivieren muß und wenn ja welchen Treiber muß ich auswählen?Wo gehört die lircrc config hin? Ich habe sie in lircrc umbenannt und in /etc/ abgelegt
    Anbei mal die Ausgabe von lircrc

    Code
    easyVDR:~# cat /var/log/syslog | grep lircrc
    Apr 13 13:18:39 (none) vdr: [6271] loading plugin: /usr/vdr/plugins/libvdr-lircrc.so.1.7.0
    Apr 13 13:18:40 (none) vdr: [6271] initializing plugin: lircrc (0.0.2): Adds LIRC support by using '.lircrc'
    Apr 13 13:18:40 (none) vdr: [6271] lircrc: fatal error - can't init LIRC (VDR)
    Apr 13 13:18:51 (none) vdr: [6271] starting plugin: lircrc


    Hier die /etc/default/inputlirc:

    Code
    GNU nano 2.0.2                     Datei: /etc/default/inputlirc                                                   
    
    
    # Options to be passed to inputlirc.
    EVENTS="/dev/input/event1 /dev/input/event2"
    OPTIONS="-g -m 0"


    und noch die inputdevices

  • Hallo


    Lirc selber ist für den VDR betrieb nicht notwendig. Der lircd Daemon braucht nicht gestartet werden, kann aber. Inputlirc schreibt ebenfalls per Default nach /dev/lircd.



    Bei easyVDR (Oder generell Debian) folgende /etc/default/inputlirc.
    Dort ist eine Udev Regel schon vorhanden die beide Sysmlinks per Default erstellt die unten eingetragen werden.

    Code
    # Options to be passed to inputlirc.
    EVENTS="/dev/input/by-id/usb-Linux4Media_GmbH_IR._RF_Control-event-kbd /dev/input/by-id/usb-Linux4Media_GmbH_IR._RF_Control-event-mouse"
    OPTIONS="-g -m 0"


    Inputlirc restarten

    Code
    /etc/init.d/inputlirc restart


    Überprüfen kann man nun ob es funktioniert mit dem Programm irw

    Code
    irw /dev/lircd


    Wenn dort nix ankommt ist noch etwas falsch gemacht.


    So und nun kann man sich entscheiden:
    1. Einbindung mit dem lircd Plugin (getestet)
    2. Einbindung mittels dem remote Plugin (getestet, jedoch langsame Verarbeitung der Keys)
    3. Einbindung über lircd (Option --lirc bei VDR) (Nicht getestet)


    4. Es wäre noch jedes andere Programm möglich das die libary von lirc client verwendet (http://www.lirc.org/html/technical.html#library). z.B. XBMC, MMS, usw...



    So und nun wegen der lircrc.


    Default Verzeichniss vorgesehen vom Plugin ist "$HOME/.lircrc".

  • Noch kurz ein paar Anmerkungen:


    Wenn man die Möglichkeit hat sollte man inputlirc neu kompilieren. Link


    In Debian / EasyVDR sind veraltete Versionen zu finden die die Option -c nicht unterstützt. (man inputlircd)


    Mit dieser Option in inputlirc werden die Tasten "STRG + SHIFT + F3" nicht mehr wie hintereinanderfolgende Tasten erkannt sondern als "STRG_SHIFT_KEY_F3".


    Ohne Option -c gibt es eine Doppelbelegung mit der Roten Taste und der HELP Taste.


    Hierzu ist dann auch das lircrc file anzupassen.


    Weiter die Taste Mute wird auf manchen Systemen auch als "KEY_MIN_INTERESTING" erkannt.


    Hier zusätzlich noch einen Eintrag in lircrc erstellen.



    Wer ein bischen Programiererfahrung hat kann inputlirc auch soweit anpassen das die Toggle Taste (PLAY/PAUSE) auch nativ unterstützt wird.
    z.B als Einbindung unter dem remote Plugin das von sich aus keine Togglekeys unterstützt, das selbe nativ beim VDR.
    Zusätzlich für die Taste RECORD damit diese nicht versehentlich gedrückt wird. (2x Betätigen damit die Taste an /dev/lircd gesendet wird.


    Weiter kann man sich die Ausgabe auf /dev/lircd ein bischen umbiegen damit nur Multimediakeys reportet werden.
    Damit entfällt das sich Inputlirc das Device exklusiv den Zugriff sichert und die Tasten nicht mehr an die Console weitergibt.
    Somit wäre z.B eine gleichzeitige Benutzung einer kompatiblen Tastatur + der Fernbedienung auf der Console/X und dem VDR (Oder auch XBMX, MMS, usw...) möglich.
    (Mit der Einschränkung der Zifferntasten! Aber die könnte man auch mit einer Toggle Taste aus / an schalten).


    Gruß
    GetItAll

  • Danke für deine ausführliche Beschreibung.
    Die Ausgabe von irw /dev/lircd funktioniert, aber natürlich auch nur die Tasten die vorher auch schon gingen. siehe:


    Dann habe ich Inputlirc selber compilert, (inputlirc_11.orig.tar.gz)

    Code
    easyVDR:~# cd /usr/src/inputlirc-11
    easyVDR:/usr/src/inputlirc-11# make
    ./gennames /usr/include/linux/input.h > names.h
    cc -Wall -g -O2 -pipe -o inputlircd inputlircd.c
    easyVDR:/usr/src/inputlirc-11# make install
    mkdir -p /usr/local/sbin
    install inputlircd /usr/local/sbin/
    mkdir -p /usr/local/share/man/man8/
    install -m 644 inputlircd.8 /usr/local/share/man/man8/


    Da konnte ich auch keine Verbesserung mit den Farbtasten sehen. Eine -c option habe ich auch nicht in der manpage gefunden.


    Die ".lircrc" habe ich bei mir im /root Verzeichnis (da ich als Root arbeite), das müßte ja richtig sein.
    Ich habe die von dir genommen und keine veränderung gemacht. Der VDR startet mit dem Plugin \"-Plircrc \"



    Ich hoffe das ich dich nicht nerve, aber im EasyVDR Entwicklerbereich geht es nicht so richtig vorwärts und öffentlich ist es auch noch nicht obwohl schon einige das Display benutzen aber naja...

  • Hi,
    ich habe das Display ohne Fernbedienung bestellt, da ich gerne meine Harmony 555 verwenden möchte. Was für ein IR Empfänger muss ich denn anschließen, damit das überhaupt funktioniert (TSOP1733, 1736, 1738 etc.)? Irgendwo habe ich gelesen, dass der Controller das Protokoll der Ruwido Fernbedienungen versteht, aber das entsprechende Profile bei Logitech enthält leider keine Codes. Kann mir vielleicht jemand eine alternative Fernbedienung nennen, die die gleichen Codes verwendet und die ich bei Logitech finde?


    Gruß Darkstar.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • Servus,


    Darkstar:
    wenn Du keinen IR-Sensor dran hast, laß es bleiben und verwende einfach einen normalen LIRC Empfänger mit Deiner Harmony. Ist einfach anzulernen und macht wenig Probleme.
    Der benötigte Empfänger wäre ein TSOP1756, das ist ein IR Empfänger für 56 KHz.


    Gruß
    OS/2

    Hardware: Asus Pundit, Celeron 2,4GHz, 1 x TT 1.5, 1 x Skystar2 2.6c, B&O Beolink 5000 an LIRC
    Software: verpanschtes LinVDR 0.7 mit mt20050414 Edition

  • Hi,


    ich hätte da gerne mal ein paar Probleme.. - Hilfe!! :(


    1) /etc/init.d/inputlirc restart


    Woher kommt das init script? Ich habe keines, nehme an das ich eines brauche. Selbst schreiben und verlinken? ./inputlircd /dev/input/event* ?




    2) inputlircd erkennt nur ein paar Tasten, keine Farben, kein Play / Rewind
    mkdir -p /build/inputlirc
    cd /build/inputlirc
    svn co http://svn.sliepen.eu.org/inputlirc/trunk/
    cd trunk
    make
    ./inputlircd /dev/input/event* ## -c ?


    irw # Manche Tasten kommen an!



    3) lircrc plugin aktiv - die meisten Tasten lassen sich anlernen
    Farben funktionieren, lauter, leiser, Play & Rewind nicht.



    Was könnte noch fehlen?


    ItsMee




    cat .inputlirc /root/.inputlirc & /etc/default/inputlirc
    # Options to be passed to inputlirc.
    EVENTS="/dev/input/by-id/usb-Linux4Media_GmbH_IR._RF_Control-event-kbd /dev/input/by-id/usb-Linux4Media_GmbH_IR._RF_Control-event-mouse"
    OPTIONS="-g -m 0"

  • HI,


    itsmee
    pflege mal Deine Signatur, kein mensch weiß welches OS Du bspw. nutzt. das Initscript ist bei ubuntu bspw. dabei...


    Lass mal testhalber das "-c" von inputlircd weg und schaue Dir irw an...


    MFG
    Kris

    Intel DN2800MT 4GB RAM; 32GB mSata, Ubuntu 15.04, TVHeadend 4.1, Digibit R1 SatIP

  • Zitat

    Originally posted by itsmee
    Hi,


    ich hätte da gerne mal ein paar Probleme.. - Hilfe!! :(


    Wenn du schon so nett fragst bekommst du gene noch ein paar Probleme von mir wenn du möchtest ;)



    Zitat


    1) /etc/init.d/inputlirc restart


    Woher kommt das init script? Ich habe keines, nehme an das ich eines brauche. Selbst schreiben und verlinken? ./inputlircd /dev/input/event* ?


    Das init script ist bei GNU/Debian dabei.
    Du kannst natürlich auch selbst eines erstellen....



    Es ist in der Vergangenheit schon ein paar mal vorgekommen das alte Versionen der LCD Module ausgeliefert worden sind. (Firmware)


    Hänge bitte mal folgende Ausgaben an um den Fehler schneller einzugrenzen zu können:


    * cat /proc/bus/input/devices
    * ls -l /dev/input
    * ls -l /dev/input/by-id/
    * cat /etc/default/inputlirc
    * Alle Ausgaben mit irw


    Und nach dem start von VDR:
    * cat /var/log/syslog | grep lircrc


    Zitat


    3) lircrc plugin aktiv - die meisten Tasten lassen sich anlernen
    Farben funktionieren, lauter, leiser, Play & Rewind nicht.


    Wenn du die Steuerung über lircrc machst brauchst du nicht anlernen bzw das wird nicht funktioniren.
    Dafür ist nun die Datei ~/lircrc zuständig.
    Dort sind die Befehle eingetragen die an den VDR gesendet werden ohne den Umweg über die remote.conf.
    Wenn du von SVN kompilierst (Neueste Version) kannst du die Option -c und -r100 aktivieren.
    Du benötigst jedoch eine neueres lircrc file. (Hänge ich unten an)
    Dort sind auch schon ein paar repeat Befehle angepasst.


    Starten würdest du mittels "./inputlircd /dev/input/event* -c -m0 -g -r100"


    Wobei die Angabe vom * (/dev/input/event*) jedes inputdev übersetzt in lirc Befehle, also auch die normale Tastatur.
    Die Option -g (grab) bewirkt das keine Ausgabe mehr auf die Konsole und an den Kernel erfolgt.




    Gruß
    GetItAll


    ps. Einige Hinweiße lassen sich auch im Thread vom easyVDR Forum finden.
    easyVDR Forum

  • Hi,


    das schaut gut aus - fast!


    IRW erkennt jetzt alle Tasten. Der VDR reagiert ohne anlernen (nach löschen von der remote.conf) gar nicht. Lerne ich ihn an (XKeySym) geht das nur wenn der Paramter -g beim Aufruf von inputlircd NICHT angegeben ist.


    Du sagst: nicht anlernen. Dann fehlt mir wohl noch eine Kleinigkeit? inputlircd ist gestartet, vdr startet, FB Klicks führen zu nix..


    Geändert: (komplettes howto wenn ich es am fliegen habe..)
    ========================================
    - deine .lircrc übernommen
    - init script gezogen & inputlircd options in /etc/default/inputlirc angepasst



    >pflege mal Deine Signatur, kein mensch weiß welches OS Du bspw. nutzt. das Initscript ist bei ubuntu bspw. dabei...
    Sorry, ist noch im Aufbau.


    • EasyVDR 0.6.07 - sheep
    • P5N7A-VM / Pentium E5200 / GeForce 9300
    • vga2scart an Röhre
    • Linux4Media USB Color Display mit FB


    >Das init script ist bei GNU/Debian dabei.
    Ok, "apt-get install inputlirc". Danach noch mal ein 'make install' meiner Version.


    >Hänge bitte mal folgende Ausgaben an um den Fehler schneller einzugrenzen zu können
    Ok



    ItsMee

  • Hi,
    benutzt jemand das Display zum Rechner einschalten? Das das funktioniert weiß ich ziemlich genau: sobald ich den Power-Taster an das Display anschließe und dann mit dem Mainboard verbinde läuft der Rechner jeden Morgen... Kann es sein dass das Display sowas wie einen Wecker hat??? Sobald ich den Taster abziehe, bleibt der Rechner aus und das Display zeigt einfach nur die Uhrzeit an.


    Nochmal zum IR Empfänger: gibt es denn vielleicht eine bestehende Fernbedienung in der Logitech Datenbank, so dass ich die nicht anlernen muss? Ich habe ehrlich gesagt wenig Lust noch einen IR Einschalter in meinen Rechner zu bauen.


    Gruß Darkstar.

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

  • Hi,


    ob das ein Wecker (Wakup) ist kann ich nicht sagen (wenn ja habe ich noch nirgends gesehen wie er sich stellen lässt), aber ja, eine Uhr die über Standby Power versorgt wird ist enthalten.


    Das Display funktioniert nur mit der beigelegten FB soweit ich das verstanden habe. Und bisher auch nur über die von GetItAll beschriebene Methode.


    Ich hoffe das er mir noch einen kleinen entscheidenen Tip gibt - dann ist das Display voll nutzbar: Display, Uhr, PowerOn, FB.


    ItsMee

  • Hi


    itsmee
    Also wenn mit irw alle tasten erkannt werden versuch mal die Option bei dem Plugin anzugeben wo es die .lircrc config findet.
    (-P "lircrc /pfad/zu/.lircrc")


    Wenn du den VDR als User startest muß die Config Datei in das Homeverzeichniss gelegt werden.




    Darkstar
    Das LCD hat einen Timer den man programmieren kann.
    Ich hab es leider noch nicht geschafft das der Rechner übers LCD aufwacht.
    Siehe auch:
    serdisplib

    Aber ich denke das dürfte noch ein Bug in der Firmware sein...
    Das Ein/Ausschalten über die Fb funktioniert ansonsten einwandfrei da es auch ein kleines Relaise auf der Platine hat.
    Gesteuert wird es mit dem Button auf der Fb für Ein/Aus.


    Das Protokoll das verwendet wird beim LCD nennt sich "ruwido", eventuell findest du ja etwas in der Datenbank.

  • Hi GetItAll,


    easyVDR startet den VDR automatisch - ich gehe mal davon aus das dann in /root/.lircrc geschaut wird?


    Zusätzlich habe ich den Aufruf in der sysconfig geändert:
    \"-P lircrc /etc/lircrc \"


    analog zum live Plugin
    \"-Plive -p 6001\"


    Leider hat sich nichts verändert, die remote.conf habe ich noch komplette geleert, nach dem start fragt der VDR ob er anlernen soll. Nach dem timeout geht keine Fernbedienung nicht :(


    Installiert ist ein lircrc V 0.0.2


    ???
    ItsMee

  • Mmmh.. Nix mehr geändert sondern nur ein wenig fern gesehen - und jetzt funktionieren einige Tasten im VDR (Nummerisch + Vol + Channel). Muss ich nicht verstehen?


    Menu + Farben immer noch inaktiv.. Bin nur ich ungeschickt?


    ItsMee


    /Edit/ Die nicht funktionierenden Tasten sind die Multitasten:
    44 1 CTRL_SHIFT_KEY_F10 event2
    44 0 CTRL_SHIFT_KEY_F10 event2
    42 0 CTRL_SHIFT_KEY_F8 event2
    Ein parallel laufendes irw 'sieht' sie.

  • Es lüppt!


    "-c" passt nicht zur obigen lircrc habe ich verstanden. -c ersetzt die dreifach Tasten durch eine.
    In der lircrc unten sind zwei Kombinationen enthalten, könnte also eventuell mit beiden Varianten funktionieren.


    Mal schauen ob ich das noch mal alles in einer ordentlichen Beschreibung zusammen bekomme..


    Vielen Dank für die Hinweise!


    ItsMee


    /edit/ Mein EasyVDR Howto:


    1) apt-get install inputlirc
    1b) neu compilieren, Vorsichtsmaßnahme damit -c geht..
    2) /etc/lircrc & /root/.lircrc erstellen # Vorsichtshalber beides mit gleichem Inhalt?
    3) /etc/init.d/inputlirc restart
    4) irw ## Kommen hier FB Tasten an?


    5) /etc/vdr/sysconfig ergänzen: \"-P lircrc /etc/lircrc \"
    6) remote.conf sichern und ersetzen
    7) VDR restart


    fehlt:) inputlirc autostart - damits auch nach dem Reboot wieder geht. Steht bei mir erst mal in der RCStartBefore..

  • Super das es funktioniert. :)


    Wobei aber die Option -r100 bei inputlirc noch aktiviert gehört damit die Tastenwiederholung konfiguriert werden kann in lircrc. (delay und repeat)


    Was ich noch ändern würde bei deinen configs ist die Zuordnung der Devices.
    Bei Debian (und auch easyVDR) werden die inputevents durch udev erstellt und unter
    "/dev/input/by-id/usb-Linux4Media_GmbH_IR._RF_Control-event-kbd /dev/input/by-id/usb-Linux4Media_GmbH_IR._RF_Control-event-mouse".
    zur Verfügung gestellt.
    Dann macht auch die Option -g (grab) auch Sinn.


    Ansonsten bekommst du ein Problem wenn du mal eine Tastatur anschliessen solltest für Wartungszwecke.


    Gruß
    GetItAll


  • Schaut gut aus...
    Ich hab es noch ein bischen angepasst und weitere Hinweiße hinzugefügt.


    Kannst du noch den Punkt 11) vervollständigen mit dem Befehl des Symlinks.
    Ich hab leider kein easyVDR inst. und es hält sich ja nicht an den normalen init beim Start.


    Gruß

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!