ubuntu 11.10 - imon pad - ir-keytable/lirc

  • Hallo Leute,


    ich hab da noch ein Problem mit meiner "ir-keytable/lirc"-Kombination.


    Da nach einem "do-release-upgrade" von ubuntu 11.04 auf 11.10 ca. 10 Tasten meines "imon pads" plötzlich nicht mehr funktionierten, habe ich mich erneut dem Thema "nicht funktionierende Tasten angenommen. Hier bin ich ebenfalls schonmal in eine Diskussion mit eingestiegen.


    Ich versuche mal zu schildern, was ich alles so gemacht habe.


    Erstmal alles was von lirc vorhanden ist gelöscht, um eine saubere Basis zu haben:


    Code
    1. sudo apt-get purge lirc lirc-x liblircclient0 inputlirc


    Dann meine eigene "ir-keytable" in folgenden Pfad "/etc/rc_keymaps/imonpad" kopiert:



    Dann mit folgendem Befehl meine keytable geladen:


    Code
    1. ir-keytable -w /etc/rc_keymaps/imonpad


    und mit "ir-keytable -t" überprüft. Funktioniert, alle meine keys sind vorhanden.Nun also lirc installiert:

    Code
    1. sudo apt-get install lirc lirc-x liblircclient0 inputlirc


    und dann wie folgt im lirc-menü konfiguriert:


    Code
    1. Remote control configuration: Linux input layer (/dev/input/eventX)
    2. IR transmitter, if present: None
    3. Custom event interface for your dev/input device: /dev/input/by-id/usb-15c2_ffdc-event-if00


    dann mit "irw" getestet. Passt, alle keys werden erkannt.


    Dann für xbmc, lirc entsprechend konfiguriert:


    Code
    1. /home/xbmc/.xbmc/userdata/Lircmap.xml



    Hier noch der Vollständigkeit halber die globale Key-Konfiguration:


    Code
    1. usr/share/xbmc/system/keymaps/remote.xml



    Dann lirc und xbmc restarted. Super, alles Tasten einschließlich der Maus funktionieren tadellos.


    Wenn ich nun jedoch einen Reboot durchführe, funktioniert das ganze natürlich nicht mehr so schön, da meine ir-keytable noch nirgends beim Bootvorgang geladen wird. Dafür soll angeblich "/etc"rc_maps.cfg" zuständig sein. Hier habe ich nun so ziemlich alle Möglichkeiten durch aber keine bringt den Erfolg, dass nach einem Reboot tatsächlich alle Tasten und die intergrierte Maus der Fernbedienung funktionieren. Wie muss ich hier genau vorgehen?


    Viele Grüße


    Hoppel

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • So, ich hab gerade mal meine keytabelle "/etc/rc_keymaps/imonpad" mit allen codes ergänzt, die in der "/lib/udev/rc_keymaps/imon_pad" enthalten sind und bei mir fehlten. Die Dateien haben ja denselben Aufbau. Somit müssten hier nun alle keycode-Zuweisungen enthalten sein, die das imonpad so hergibt.



    Wenn ich diese nun über die /etc/rc.local, wie folgt einbinde, funktionieren eigentlich alle Tasten bis auf die Maus-Funktion:


    Code
    1. /etc/init.d/lirc stop
    2. ir-keytable -w /etc/rc_keymaps/imonpad
    3. /etc/init.d/lirc start
    4. exit 0


    Das eigenartige ist nun, dass wenn ich nach dem reboot xbmc stoppe und neu starte, dann funktioniert alles tadellos.


    Ist lirc-Dienst jetzt zu langsam für xbmc bzw. X? Wie kann ich die Startreihenfolge der Dienste ändern? Wann wird "/etc/rc.local" geladen? Kann ich rc.local priorisieren?

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Warum machst Du das nicht über udev, wie es auch der Standard macht.
    Schau dir dies mal an: /lib/udev/rules.d/40-ir-keytable.rules

    HW: Gigabyte EP41-UD3L | Core2Duo 7400 | 2GB Kingston | MSI N220GT-MD1GZ (passiv) | L4M-Twin S2 ver 6.5 mit Flex S2 | Silverstone LC16M mit iMON VFD | Samsung LE46B750
    SW: Xubuntu 14.04 3.13.0-24 | NVIDIA 304.117 | vdr 2.1.6 | softhddevice | inputlirc | lcdproc

  • Hallo goldbär,


    danke für diesen Tip. Wenn ich die Regel wie folgt angepasse:


    Code
    1. ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s $name"
    2. ACTION=="add", RUN+="/etc/init.d/lirc stop"
    3. ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -w /etc/rc_keymaps/imonpad"
    4. ACTION=="add", RUN+="/etc/init.d/lirc start"


    funktionieren alle Tasten meiner Fernbedienung wunderbar. Leider muss ich dann immer noch xbmc einmal restarten, damit auch die Mausfunktion gegeben ist.


    Ob das nun die überhaupt die Lösung ist die man bestreben sollte kann ich nicht beurteilen.


    Wie kann ich nun das Laden der Maus-Treiber soweit beschleunigen, dass es zum initialen xbmc-start bereits vollzogen ist. Oder warum funktioniert die Maus nicht direkt?


    Viele Grüße

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Hallo Leute,


    aufgrund dbusers Kommentar in diesem Beitrag hab ich mal alle meine Settings wieder rückgängig gemacht und ausschließlich meine o.g. keymap unter "/lib/udev/rc_keymaps/imon_15c2_ffdc" angelegt und diese dann in der /etc/rc_maps.cfg wie folgt geladen:



    Code
    1. * rc-imon-pad /lib/udev/rc_keymaps/imon_15c2_ffdc



    Dies ist nun der einzige noch vorhandene Eintrag in der "/etc/rc_maps.cfg". Nach einem Reboot funktionieren alle Tasten super, aber leider immer noch nicht meine Maus-Funktion. Dafür muss ich xbmc weiterhin einmalig restarten (also "xbmc stop" / "xbmc start").


    Wie kann ich nun meine Maus Funktion beim ersten Start schon herstellen? Woran liegt das bzw. wie kriege ich heraus woran es liegt?


    Viele Grüße

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Mir ist immer noch nicht klar, wofür es lirc da überhaupt braucht - rc-core legt doch ein brauchbares Eingabegerät unter /dev/input/ an, das du direkt verwenden kannst. Kann lirc eigentlich sinnvoll mit Mäusen umgehen?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Wenn ich das wüsste. Ich könnte mir vorstellen, dass die Maus-Funktion losgelöst von der keytable geladen wird. Dies aber einfach zu spät passiert, wenn xbmc schon da ist. Könnte ich denn evtl. das Laden des Maus-Treibers irgendwie beschleunigen?


    Bevor ich mich mit ir-keytable beschäftigt habe, wegen der nicht funktionierenden blauen Taste bei ausschließlicher Verwendung von lirc, funktionierte die Maus-Funktion ohne Probleme und immer direkt nach dem ersten Reboot. Mittlerweile habe ich aber auch noch ein do-release-upgrade von natty auf oneiric durchgeführt. Die Treiber kommen komplett aus dem Kernel.

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Ich mach mal nen Doppelpost, da du schon wieder weg bist, ohne Antwort. :D Irgendwie kommt mir die dmesg-Ausgabe komisch vor: http://pastebin.com/7AxynBtk


    Hat das schonmal jemand gesehen?

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Versuche mal so etwas als erste Zeile in deiner Keymap (ggf. muss du den Namen der Table noch anpassen):

    Code
    1. # table rc-imon-pad, type: RC6


    Treten die Meldungen danach noch auf?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Bringt leider nichts, die Meldungen sind weiterhin vorhanden. Meine erste Zeile sieht nun wie folgt aus:


    Code
    1. # table imon_15c2_ffdc, type: RC6


    "ir-keytable" gibt übrigens folgendes aus:


    Code
    1. # ir-keytable
    2. Found /sys/class/rc/rc0/ (/dev/input/event7) with:
    3. Driver imon, table rc-imon-pad
    4. Supported protocols: other
    5. Enabled protocols:
    6. Repeat delay = 500 ms, repeat period = 125 ms


    Ist das normal, dass da nichts bei "Enabled protocols" steht?

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Nein, daher der Vorschlag für die table rc-imon-pad gleich RC6 über die Keymap zu laden... Hast du es mal so vor der Anpassung des Namens probiert?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hab gerade nochmal geprüft, was ir-keytable ausgibt, wenn ich den Vorschlag von dir in die erste Zeile einfüge. Gleicher Effekt, das "Enabled protocols" fehlt. Die dmesg-Meldungen bleiben ebenfalls.

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Wenn ich die Regel wie folgt angepasse:

    Code
    1. ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s $name"
    2. ACTION=="add", RUN+="/etc/init.d/lirc stop"
    3. ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -w /etc/rc_keymaps/imonpad"
    4. ACTION=="add", RUN+="/etc/init.d/lirc start"


    Was passiert, wenn du da das Protokoll mitlädst indem du "-p RC6" zusätzlich übergibst?

    Code
    1. ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -p RC6 -w /etc/rc_keymaps/imonpad"


    Evtl. auch mal lirc weglassen und verhindern dass es automatisch beim Systemstart geladen wird...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Nun sieht meine udev-rule für ir-keytable wie folgt aus:


    Code
    1. ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -p RC6 -a /etc/rc_maps.cfg -s $name"



    Der boot dauert gefühlt 20-30sec länger als normal. Hab 2x neu gestartet, dauerte beide Male so lang. Die Maus funktioniert nun, aber meine blaue Taste nicht mehr! Wo kommt das denn nun her? Die Ausgaben von dmesg und ir-keytable sind unverändert.


    Das einzige was mir gerade auffällt, ist dass sich das event (/dev/input/event6) bei der Ausgabe von ir-keytable verändert, jetzt hatte ich schon 6,7 und 11. Aber das ist wohl eher nicht so schlimm, oder?


    Ich denke, dass die Maus nun funktioniert, weil xbmc verzögert gestartet wurde. Also ca. diese 20-30sec später.


    ------------------------------------------------------
    EDIT:


    Wenn ich mir mit "ir-keytable -r" die aktuell geladenen keys ansehe, sehe ich wieder "KEY_AUDIO" usw. Das ist nicht meine keytable, denn diese Taste heißt in meiner "KEY_RED". Wo kommt die her?

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Braucht es denn "-a /etc/rc_maps.cf" überhaupt, wenn du die Keymap sowieso manuell lädst?


    Edit: vergiss das was ich zu -s $name geschrieben habe...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ist lirc beim Start deaktiviert? Sicher kein s2-liplianin-dkms installiert?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • mit ausschließlich folgendem Inhalt in der udev-Regel, funktionieren ebenfalls alle Tasten bis auf die Maus:


    Code
    1. ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -p RC6 -w /etc/rc_keymaps/imonpad"


    Wofür ist denn das "-s $name" überhaupt da? ir-keytable kennt die Option -s nicht. und ein "echo $name" kennt die Variable selbst nicht, es wird nichts ausgegeben.


    Das unten war so in der udev-Regel übrigens gar nicht mehr vorhanden, hatte sie wieder auf den Originalzustand gebracht. Es wird weiterhin kein "Enabled Protocol" angezeigt.

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Vielen Dank schonmal für deine Hilfe!


    Wenn du noch eine Idee hast, darfst du mir die natürlich gern noch mitteilen. ;D Ich mach Feierabend für heute. Eigentlich möchte ich das System nur ungern neu aufsetzen, es läuft ja alles, bis auf diese Maus-Geschichte. Grrrr


    Grüße

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Wofür ist denn das "-s $name" überhaupt da? ir-keytable kennt die Option -s nicht. und ein "echo $name" kennt die Variable selbst nicht, es wird nichts ausgegeben.


    Laut der manpage von ir-keytable in Ubuntu Oneiric

    Code
    1. -s, --sysdev=SYSDEV
    2. ir class device to control


    das $name sollte AFAIK von udev kommen.


    Wie sieht es aus, wenn du mal das aktuelle v4l-dvb-dkms (z.B. aus dem yaVDR main PPA) ausprobierst?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Stimmt, hast recht. Die Option -s gibt's tatsächlich. Hab wohl nicht recht gelesen, was in der Ausgabe stand und statt in der man zu lesen die Option --help angehängt und da stand es nicht drin...


    Nichtsdestotrotz gibt de Variable $name mit echo keinen Wert zurück, weshalb dann auch folgende Meldung zu Stande kommt:


    Code
    1. # ir-keytable -s $name
    2. ir-keytable: option requires an argument -- 's'
    3. Try `ir-keytable --help' or `ir-keytable --usage' for more information.


    Welchen Wert müsste die Variable denn zurückgeben?


    Ok, kommen wir mal zu einem wirklich sehr großen Erfolgserlebnis. Als ich gerade ziemlich müde meinen Fernseher angestarrt habe, und eigentlich schon durch war mit diesem Thema, vielen mir meine beiden Playstation-Controller auf, die über usb angeschlossen sind. Dann hatte ich die beiden plötzlich im Verdacht. Warum auch immer, es hat ja auch schon ca. 2-3 Monate lang mit den beiden funktioniert. Auf jeden Fall hab ich die beiden einfach mal abgezogen und siehe da, meine Maus funktioniert. OLEEEE, OLEEEEEEE!!!!!!!


    Kann es sein, dass ich zu viele input-devices habe? Wenn ich meinen Rechner hoch fahre, mir die Ausgabe von "sudo cat /proc/bus/input/devices" ansehe und dann die beiden Controller anstöpsel, stelle ich fest, dass nun immer nur ein Controller eingebunden wird. Wenn ich mit den Controllern hochfahre, sind auch beide inputs sichtbar.


    Nein, es bleibt egal, welchen der beiden Controller ich dran habe, sobald einer dran ist, kommt die Maus-Funktion nicht. Also sind nun beide erstmal ab, aber eigentlich sollte auch das kein Dauerzustand sein. Aber damit kann ich erstmal leben.


    Wer hätte das gedacht?! :wand


    Vielen Dank nochmal Seahawk

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8