LIRC-Daemon - Support für externen USB IR Empfänger

  • also früher im alten Kernel habe ich es so gestartet



    /usr/sbin/lircd --device=/dev/input/event1
    sleep 2
    /usr/sbin/ircontrol &
    ;;



    nichts mit ircontrol(früher irw) --device=dev/input/event2 ,diese option gab es bei mir nicht
    wenn ich mit dieser Option starte kommt eine Fehlermeldung


    root@dm800:~# /usr/sbin/lircd --device=/dev/input/event2
    root@dm800:~# /usr/sbin/ircontrol --device=/dev/input/event2 &
    /usr/sbin/ircontrol: unrecognized option '--device=/dev/input/event2'
    unrecognized option: -
    Try `ircontrol 0.5 --help' for more information.
    root@dm800:~#



    Welches ist denn nun eigentlich das richtige dev


    I: Bus=0003 Vendor=6253 Product=0100 Version=0100
    N: Name="Twinhan Tech Remote Control"
    P: Phys=usb-ohci-brcm-2/input0
    S: Sysfs=/class/input/input1
    H: Handlers=kbd event1
    B: EV=120003
    B: KEY=800000 0 e0b0ffdf 1cfffff ffffffff fffffffe
    B: LED=1f


    I: Bus=0003 Vendor=6253 Product=0100 Version=0100
    N: Name="Twinhan Tech Remote Control"
    P: Phys=usb-ohci-brcm-2/input1
    S: Sysfs=/class/input/input2
    H: Handlers=event2
    B: EV=7
    B: KEY=70000 0 0 0 0 0 0 0 0
    B: REL=3




    event 1 ooder event 2?

  • Mit event1 oder event2 gibst du das input device für enigma an.
    Das hat nichts mit den Eingabequeues der IR Devices zu tun.
    Ich habe bei mir event2 benutzt, da damit auch alle Tasten funktionieren.

  • Quote

    Original von minufi
    lokipo
    Sorry, habe momentan auch keine build Umgebung.


    Das ist ja sehr ärgerlich... Kann das evtl. jemand anderes mal neu kompilieren? Horney vielleicht? :)

  • so habe nochmal oozoon 1.6 beta im flash installiert. mein lircd geht jetzt wie vorher mit event5.


    Wenn ich jetzt BarryAllen nachschiebe wirft es mir irgend etwas mit den Events durcheinander und der Empfänger wird zu event 0 oder 1 damit kann ich zwar noch lircd starten, aber die Dream ragiert nicht mehr darauf.


    Man müßte den Twinhan Receiver immer auf event5 festmachen. Jetzt habe ich schon mal in die udev.conf geschaut werde aber nicht richtig schlau daraus bzw steht nix wirklich verwertbares darin.


    Weiter ist im Oozoon der usbhid.ko nicht ab start geladen. dies macht man ja normalerweise mit der modules.conf. Hier steht aber das man im etc/modutils schauen soll, den gibt es aber bei mir nicht.


    Fragen:


    wie bekomme ich es hin das der Receiver meiner Twinhan immer event5 bekommt?und nicht event 0 oder 1 sich nimmt.
    Und. wie lade ich den Treiber usbhid permanent ab start über ne modules.conf datei?

  • Ich hatte dieses Problem der unterschiedlichen event queues auch schonmal, als ich den Empfänger von Twinhan benutzt habe.
    Ich habe dann unter /etc/init.d (mit symlink nach rc3.d) ein Skript für das Laden der Module angelegt und dort mit sleep eine Verzögerung eingebaut, sodass die Module erst geladen wurden, nachdem enigma fertig geladen wurde.
    Dann haben sich die event queues nicht verschoben.
    Da wird es aber sicherlich eine geschicktere Lösung geben.

  • sehr schön danke.


    Habe mir soeben einen Igor bestellt und werde diesen mal als alternative zu meinem Twihan Empfänger probieren.


    Btw. ich habe mein irw mal durch Ircontrol ver 0.5 ersetzt. Bei irw konnte man soweit ich weis nicht das event der DreamRC angeben. Ich hatte ja das Problem, das sich mit GP2 5 und BA die Events verschieben. Mein Twinhan war nach dem booten event 1 und oder 2. Somit konnte irw die Befehle, welche sie vom lircd bekommen hat nicht an die DreamRC senden, die rutschte nämlich auf event 5 oder so. Folge war ich sah zwar eingaben im irw Telnet aber bei der Dream regte sich nichts.


    Mit dem IRControl kann man ja das event der DreamRC angeben, somit sollte es mir möglich sein das event z.B. 5 der DreamRC anzugeben. Ich werde am WE mal probiern GP2 5 zu installieren und die Events korrekt anzugeben.


    Wenn ich es richtig verstanden habe. Liest lircd den Befehl der ext. RC aus und sendet ihn an IRControl dies schickt sie an die Dream Schnittstelle z.b. Event 2 (Dreambox ir control).


    Edit: Und noch ne frage: das ircontrol2 mit der ircontrol.conf ist das nur für die doppelten Tastenanschläge gemacht worden? oder wozu ist das?


    Frage an die Entwickler von lircd/irw/ircontrol Sind diese Annahmen so ok?

  • so es ist vollbracht Oozoon im Flash und Gemini 5 auf USB mit funtionierender ext RC control :winking_face: das Problem mit den verschobenen Events hab ich wie hier beschrieben gelöst: unter Fernbedienung


    http://www.xbmc.de/xbmc/e107_p…forum_viewtopic.php?24678


    ich habe eine 50-private.rules erstellt und meine phys Attr des Twinhan Receivers eingetragen und daraufhin einen Symlink nach /dev/input/ erstellen lassen mit der original DreamRC habe ich das gleiche gemacht. Die neuen Links in /dev/input/ kann ich dann per lircd und ircontrol ansprechen, da sich die Symlinks nicht mehr ändern und es egal ist auf welchem Event sich die Hardware befindet ist es immer gewährleistet, das die Twinhan rc richtig funzt. :tongue:

  • Hi Jungs kann es sein, dass es mit Gemni 5.0 nicht funkt?!


    Habe hier folgende Fehlermeldung


  • Das geht tatsächlich nicht... Du brauchst neue Kernelmodule, die hab ich aber schon neu kompiliert, findest Du weiter oben...


    Die gehören nun auch nicht mehr in /lib/modules/2.6.12-5.1-brcmstb-dm800/kernel/drivers/usb/i
    nput/ sondern in /lib/modules/2.6.18-7.3-dm800/kernel/drivers/usb/input/


    Dazu brauchst Du, ob des anderen devices in gp5 auch noch ein neues Startscript, das hänge ich dir mal an...


    Das script kannst Du normal mit "/usr/sbin/lircd start" starten, falls Du möchtest, dass der Rümpel automatisch beim booten geladen wird, kannst Du das mit "/usr/sbin/lircd.sh enable" bewerkstelligen.


    Viel Erfolg!

  • komisches Phänomen...



    wurde die Box neugestartet und ich drücke auf der Logitech die Menu Taste kommt das Menu auch und verschwindet gleich wieder.


    Ich muss 5-6 mal drauf drücken ..bis es dann bleibt es. Selbiges ist bei GUIDE also bei EventView..


    Danach geht es aber ?!


    Hat jemand von euch ne IDEE?

  • Hallo zusammen,


    ich habe dank Homeys super Hilfe seit ein paar Monaten einen Creative SB0540 + Harmony 885 im Einsatz (auch unter 1.6 Image). Der ganze Kram funktioniert sehr gut bis auf eine Kleinigkeit.
    Wenn man (meine Frau....) im Graphischen Multiepeg z.B. nach rechts scrollt (Pfeil Rechts Taste gedrückt halten) dann stürzt der ircontrol ab und die DM 800 läßt sich nicht mehr bedienen. Egal was für eine Taste man dann betätigt, es wird immer Taste Rechts ausgeführt. Gibt es hier einen C++ Experten, der sich Homeys Sourcen mal anschauen kann, meine Kenntnisse reiche da leider nicht aus.


    Gruß
    yukon

  • Quote

    Original von yukon100
    Hallo zusammen,


    ich habe dank Homeys super Hilfe seit ein paar Monaten einen Creative SB0540 + Harmony 885 im Einsatz (auch unter 1.6 Image). Der ganze Kram funktioniert sehr gut bis auf eine Kleinigkeit.
    Wenn man (meine Frau....) im Graphischen Multiepeg z.B. nach rechts scrollt (Pfeil Rechts Taste gedrückt halten) dann stürzt der ircontrol ab und die DM 800 läßt sich nicht mehr bedienen. Egal was für eine Taste man dann betätigt, es wird immer Taste Rechts ausgeführt. Gibt es hier einen C++ Experten, der sich Homeys Sourcen mal anschauen kann, meine Kenntnisse reiche da leider nicht aus.


    Gruß
    yukon


    Das ist leider ein auch bei mir auftretender Bug unter OE 1.6... Bevor ich oder jemand anderes (eher jemand anderes, ich hab gerade so gar keine Zeit) da Zeit reinsteckt... Hast Du mal geschaut, was da abstürzt? lircd oder ircontrol?
    Ich hatte auch schon das "Vergnügen", dass lircd selber abgestürzt ist.

  • Hi lokipo,


    es stürtzt der ircontrold ab. Der lircd schickt die richtigen Signale, der ircontrold leitet aber die falschen Signale weiter. Ein Neustart der ircontrold behebt das Problem.
    Das Problem hat übrigens nichts mit dem 1.6 Image zu tun, unter 1.5 war das nicht anders.


    Gruß
    yukon

  • Nochmal Hallo,


    es ist nicht so als wenn ich nicht schon etwas experimentiert hätte.
    Ich habe folgende Erweiterung im ircontrol beim Einlesen der Tasten gemacht.
    Leider ist das mit der clock Funktion in der mipsel Umgebung anscheinend etwas anders.
    Sie tut schlicht und ergreifend einfach nicht.


  • Hey,


    "abstürzen" wäre aber da der falsche begriff, das teil läuft ja noch. Nur wie richtig erkannt sendet es komischerweise den falschen Befehl weiter. von LIRC kommt das richtige, aber ircontrol macht komischerweise dann nicht mehr das was es soll udn sendet immer den einen Befehl dann weiter, egal was man für Tasten drückt. Das passiert meistens nachdem man LANGE eine taste gedrückt gehalten hat. Hab ich noch nie gehabt wenn ich mehrmals die taste kurz drücke, immer nur wenn ich die Taste lange gehalten hab. Irgendwas verschluckt sich dann manchmal da, ausgelöst durch das lange halten einer taste.


    Weiss aber nicht wirklich woran es liegt, evtl. Buffer-Overflow oder irgendwie sowas, das übersteigt leider meine C++ Kenntnisse, kenn sowas nicht.


    Hatte ich hier auch schonmal angesprochen und auch gesagt das der codeschnibbel dazu eigtl von Gutemine kommt, ich selber hätte sowas nicht hinbekommen, auch wenn's nur paar Zeilen sind aber C++ ist echt nicht mein Ding. Gutemine hat da auch 2 postings später was zu gesagt, aber ich habs weder verstanden noch hat ihr lösungsvorschlag mir gefallen da ircontrol immer neuzustarten alle paar sekunden ...


    Das verwirrende ist sogar das wie vor ein paar Tagen bei mir: Habe LANGE Info Taste gedrückt ... danach war kaputt und beim drücken von rechts/links und boquet tasten hat er immer INFO befehl gesendet, MENU und OK Taste dagegen haben funktioniert und das richtige ausgeführt, aber die hälfte der Tasten war dann die INFO taste ... muss man nicht verstehen !?


    Weiss nich ... muss wer gucken der mehr Ahnung von C++ hat. Hab da schon einige Stunden verbracht, aber war mir zu hoch alles. Scheiss C++ :)


    Wäre schön wenn wir das ganze auch noch gelöst kriegen, weil das ist eigentlich eins von zwei dingen die mir noch nicht gefallen bzw. kaputt sind. Wenn wir das noch hinkriegen hätten wir die PERFEKTE lösung. So ists halt manchmal etwas nervig dann LIRC neuzustarten ...



    yukon100
    was haste denn da probiert, was soll das werden?? :face_with_rolling_eyes: Das was gutemine vorgeschlagen hat?


    An der richtigen stelle biste aufjedenfall schonmal, ich weiss das ...


    Code
    for(;;)  {
    		i=read(fd,buf,128);


    ... halt aufeinmal die falschen Werte liefert und irgendwie immer die eine taste zurückwirft ... warum weiss ich aber nicht.

  • Also ich hab das mit dem igorplug unter 1.5 nicht einmal zum hängen gekriegt... kann natürlich sein, dass das bei dem creativezeug anders ist

  • ja kann sein das da die wiederholraten der tasten oder so anders sind. Passiert ja wie gesagt bei uns immer wenn wir ganz ganz ganz schnell ganz ganz oft die selbe taste hintereinander drücken oder eine Taste lange halten (da macht unsere harmony auch nur ganz schnell kurze tastendrücke hintereinander, so richtig HALTEN die taste gibts da nicht).


    Und irgendwas is dann zuviel für ircontrol wenn's halt zugehämmert wird mit befehlen einmal.


    Und das auch nicht immer. Mal kann ich stundenlang ne Taste halten, rauf runter und alles machen und tun und es geht wunderbar. Und dann auf einmal kurz die taste lang gehalten und er verschluckt sich wieder und game-over ...

  • Hi,


    durch die Schleife sollte verhindert werden das mehr als 5 Signale pro Sekunde weitergegeben werden können.
    D.h wenn in 0,5 Sekunden bereits 5 Signale empfangen worden sind, dann passiert solange nichts, bis die Sekunde voll ist und dann sollten wir erst wieder richtung Enigma schreiben.
    Da kann aber durchaus auch noch ein Denkfehler drin sein, wirklich Ahnung habe ich davon nicht.


    Gruß
    yukon