[gelöst] LIRC-Sender...ich werd noch kirre!

  • -> Lösung


    Ich betreibe schon seit Jahren einen LIRC-Sender (siehe Sig.), mit dem ich u.a. mein HTS steuere. Seit ich von c't-VDR 6.1 (Debian) auf yaVDR 0.4 (ubuntu) umgestiegen bin, funktioniert der zwar immer noch, aber eine 'Kleinigkeit' kriege ich ums Verrecken nicht mehr hin:


    Mein HTS lässt sich über LIRC-Sender nicht mehr einschalten. Das Ganze ist deswegen so obstrus, weil sich das HTS u.a. mit Tasten einschalten lässt, mit denen man die Eingänge wählt, also z.B. 'TV' oder 'AUX'. Die Umschaltung zwischen den Eingängen funktioniert aber nach wie vor, wenn das HST schon an ist, d.h. das HTS erkennt die von LIRC gesendeten Sequenzen also prinzipiell noch. Es schaltet sich so 'nur' nicht mehr an!? Über Original- oder programmierbare Fernbedienung geht das HST aber nach wie vor an.


    Ich habe es jetzt u.a. mit neu Anlernen im RAW-Modus (meine Original-conf war/ist auch so), einer passenden RC6-conf von der LIRC-Homepage, Erhöhung der Priorität des lircd, Umstellung der txsense und weiss was noch alles probiert. Alle confs laufen, aber das HTS springt über LIRC par tout nicht mehr an.


    Was könnte da los sein? Hat noch irgend wer irgend eine Idee?

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

    Einmal editiert, zuletzt von habichthugo ()

  • Was könnte da los sein? Hat noch irgend wer irgend eine Idee?


    Da ich das noch nie genutzt habe: wie funktioniert das mit dem Senden der Befehle? Erledigt Lirc das selbst oder liest da ein zusätlicher Daemon vom Lirc-Socket (in dem Fall würde ich dringend auf lircd2uinput umstellen, da eventlircd den Lirc-Socket komplett blockiert, wenn Lirc mit --uinput gestartet wurde).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Zitat von »habichthugo« Was könnte da los sein? Hat noch irgend wer irgend eine Idee?
    Da ich das noch nie genutzt habe: wie funktioniert das mit dem Senden der Befehle? Erledigt Lirc das selbst oder liest da ein zusätlicher Daemon vom Lirc-Socket (in dem Fall würde ich dringend auf lircd2uinput umstellen, da eventlircd den Lirc-Socket komplett blockiert, wenn Lirc mit --uinput gestartet wurde).


    Z.B. 'irsend -d /var/run/lirc/lircd.$(pidof lircd) send_once hts3357 "tv". Der entsprechende Daemon ist lircd. Der 'normale Socken' (/var/run/lirc/lircd) ist wolhl anderweitig belegt (eventlircd?).

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Z.B. 'irsend -d /var/run/lirc/lircd.$(pidof lircd) send_once hts3357 "tv"


    Es könnte sein, dass irsend da nicht auf den Socket zugreifen kann, weil eventlircd ihn blockiert - mit lircd2uinput sollte es klappen, da dieser Daemon nicht exklusiv auf den Lirc-Socket zugreift (ist ab yaVDR 0.5alpha1 dabei): [0.4]XBMC- Einfacher Tastendruck -> Doppelte eingabe


    Der 'normale Socken' (/var/run/lirc/lircd) ist wolhl anderweitig belegt (eventlircd?).


    Genau, /var/run/lirc/lircd ist der Socket von eventlircd, über den letzendlich die Tastendrücke an den VDR bzw. XBMC weitergegeben werden.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Zitat von »habichthugo« Z.B. 'irsend -d /var/run/lirc/lircd.$(pidof lircd) send_once hts3357 "tv"
    Es könnte sein, dass irsend da nicht auf den Socket zugreifen kann, weil eventlircd ihn blockiert - mit lircd2uinput sollte es klappen, da dieser Daemon nicht exklusiv auf den Lirc-Socket zugreift (ist ab yaVDR 0.5alpha1 dabei): [0.4]XBMC- Einfacher Tastendruck -> Doppelte eingabe


    Ich habe --uinput mal aus /etc/init/lircd.conf raus genommen. Hilft aber nicht. Bei verklemmtem Sockne würde irsend aber auch meckern.


    irsend sendet ja. Das HTS schalten auf "TV" um, wenn ich tv sende. Aber eben nur, wenn es schon an ist. Bisher schaltete es sich dann ein, wenn es noch nicht an war. Ich kapier schon nicht, warum das HTS IR-Sequenzen anders auswertet, wenn es an ist, als wenn es aus ist. Vielleicht wird im ausgeschalteten Zustand irgend ein kleiner Stromsparprozessor zur Auswertung eingesetzt, der im Timing etwas pingeliger ist? Nimmt ja nicht mal ein Watt, die Kiste, wenn aus.


    LIRC (bzw. das modul lirc_serial) müsste mit höchster Priorität laufen, um den soft_carrier (Trägerfrequenz 36kHz) zu erzeugen. Früher ging das u.a. z.T. auf Kosten der hwclock. Kann es sein, dass LIRC hier anderweitig ausgebremst wird?

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • LIRC (bzw. das modul lirc_serial) müsste mit höchster Priorität laufen, um den soft_carrier (Trägerfrequenz 36kHz) zu erzeugen.


    Das ist aber IMHO recht kippelig, wenn das tatsächlich nur über die CPU läuft... Die Prozesspriorität für lirc hast du vermutlich schon hochgesetzt, oder? http://wiki.ubuntuusers.de/Shell/nice#Prozessprioritaet

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Zitat von »habichthugo« LIRC (bzw. das modul lirc_serial) müsste mit höchster Priorität laufen, um den soft_carrier (Trägerfrequenz 36kHz) zu erzeugen.
    Das ist aber IMHO recht kippelig, wenn das tatsächlich nur über die CPU läuft... Die Prozesspriorität für lirc hast du vermutlich schon hochgesetzt, oder? http://wiki.ubuntuusers.de/Shell/nice#Prozessprioritaet

    Tja, das ging aber über drei Rechner über sechs Jahre. Ja, /etc/init/lircd.conf hatte ich schon mit nice -20 am laufen. Hilft aber auch nicht. Wenn, dann müsste man wohl das Modul lirc_serial hochstufen. Aber wie?

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • So, das Ganze ist ein Timigproblem der besonderen Art. LIRC 'spielt' die IR-Sequenzen scheinbar ein bischen zu flott ab. Nach Anfangsverdacht habe ich die Zeiten in der lirrcd.conf (us) 'einfach' mal um 4% reduziert. Und siehe da, mein HTS lässt sich wieder zuverlässig einschalten! Und auch die Funktionen im eingeschalteten Zustand rennen so.


    Jetzt werde ich mal die Grenzen des Timings mal ausloten, um einen best möglichen Wert in der Mitte zu finden. Leider habe ich kein Oszi...


    Summa summarum muss es tatsächlich so sein, dass mein HTS, wenn es aus ist, eine andere IR-Auswertung macht, als in eingeschaltetem Zustand. Eingeschaltet sind die Tolleranzen wohl großzügiger.


    Das Timing beim Aufzeichnen (irrecord/mode2) scheint hingegen in Ordnung. Mein HTS benutzt lupenreines RC6, und u.a. die Gesamtlänge der (RAW-) Aufzeichnungen stimmt. Die einzelnen pulse/pause sind zwar etwas wackelig, aber das dürfte schon vom TSOP so kommen. Auch wenn man die auf exaktes RC6-Timing verbiegt, geht mein HTS nicht an. Erst nach 4% Reduzierung aller Zeiten...


    Wenn ich jetzt noch die Ausgabe via SPDIF gebacken kriegen würde...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

Jetzt mitmachen!

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