lirc bleibt nach Störung minutenlang tot

  • Hallo,


    ich habe linvdr (Mahlzeit 4.0 beta 2) im Einsatz. Der VDR steht im Keller, läuft 7/24 durch und der IR-Sensor ist über ca. 10 m Kabel angeschlossen.


    Wenn ich den Fernseher einschalte kommt in logread -f oft eine Störung wie:

    Code
    Jul 21 18:37:39 linvdr user.warn kernel: [70786.526611] lirc_serial: ignoring spike: 0 1 4884bb53 4884bad1 c08c 6fb84
    Jul 21 18:37:39 linvdr user.warn kernel: [70786.526637] lirc_serial: ignoring spike: 0 1 4884bb53 4884bad1 c0b0 6fb84
    Jul 21 18:37:39 linvdr user.warn kernel: [70786.816245] lirc_serial: AIEEEE: 1 1 4884bb53 4884bad1 52caa 6fb84


    Der VDR reagiert dann nicht mehr auf die Fernbedienung. irw lässt sich starten, gibt aber nichts aus.
    Nach einigen langen Minuten (mal mehr und mal weniger) kommt z.B.

    Code
    Jul 21 18:38:21 linvdr user.warn kernel: [70829.000796] lirc_serial: AIEEEE: 0 0 4884bb7d 4884bb6b 867e3 c3875


    Dann läuft alles wieder normal. Auch irw gibt dann die erkannten codes aus.


    Was bedeuten das? Und was kann ich tun, um die Totzeit zu verkürzen?


    Danke für Vorschläge,
    Uwe

    Test-VDR: Asrock J4205 (Intel-Grafik), 4GB RAM, 30GB SSD, Cine S2 PCIe twin tuner + DuoFlex an Durline UK119 SCR LNB

  • Könnte ja sein das dein Kabel einfach zu lang ist oder Du ein ungeschirmtes Kabel nutzt und darüber Störungen bekommst.
    Zu dem Problem genau kann ich aber auch nichts sagen, evtl. einfach mal nen Tag mit nur nem meter Kabel testen...


    Was hast Du für ne DVB Karte drin?
    Evtl. mal nen Empfänger an einer FF mit remote plugin probieren...

  • Mit kurzem Kabel geht es. Möchte aber zum Umschalten nicht immer in den Keller laufen. Das lange Kabel liegt unter Putz. Austausch ist also nicht möglich.


    Ich nehme an, dass lirc die Störimpulse für den Anfang einer Nachricht hält und dann auf weitere Zeichen wartet, bis ein Timeout erreicht ist. Vielleicht lässt sich dieser Timeout irgendwie verringern.


    Grüße,
    Uwe

    Test-VDR: Asrock J4205 (Intel-Grafik), 4GB RAM, 30GB SSD, Cine S2 PCIe twin tuner + DuoFlex an Durline UK119 SCR LNB

  • Ich würde das Problem eher an der Wurzel packen als nachträglich in Software dran rumzudoktern. Vorschlag wäre das Kabel so zu lassen wie es eben ist und das Kabel für ne RS485 Übertragung zu nutzen.


    RS485 Chips sind klein und billig und eine symmetrische Übertragung wäre kaum noch störungsempfindlich. Du müßtest natürlich direkt am Photoempfänger eine Stromversorgung bereitstellen für den RS485 Sender (Batterie könnte u.U. reichen) und auf der VDR Seite dann den RS485 Empfänger mit der seriellen Schnittstelle verheiraten, ich denk mal der Aufwand wäre vertretbar.

  • Es gibt ja auch so IR Weiterleitungsteile mit nem Empfänger und nem Sender...
    Evtl. könntest Du ja mit so einem Ding das Signal über dein Kabel schicken und den Sender direkt an deinen Empfänger mit kurzem Kabel packen.
    Dürfte die Unkomplizierteste Lösung sein.

  • Zitat

    Original von wirbel
    Ich würde das Problem eher an der Wurzel packen als nachträglich in Software dran rumzudoktern. Vorschlag wäre das Kabel so zu lassen wie es eben ist und das Kabel für ne RS485 Übertragung zu nutzen.


    Die Bitzeiten bei den Fernbedienungen liegen im Bereich von 0,5 .. 1ms. Da muß man noch nicht mit RS485 zuschlagen. Ich hoffe mal, daß ein C die Versorgung direkt am TSOP17xx abblockt. Als erste Maßnahme würde ich einen RC-Tiefpaß(470Ohm/4,7nF) PC-seitig in die Signalleitung einbauen. Der Pull-Up muß dabei auf der TSOP-Seite sein.


    Gruß
    e9hack

  • Zitat

    Original von videopix
    Wenn ich den Fernseher einschalte kommt in logread -f oft eine Störung wie:

    Code
    Jul 21 18:37:39 linvdr user.warn kernel: [70786.526611] lirc_serial: ignoring spike: 0 1 4884bb53 4884bad1 c08c 6fb84
    Jul 21 18:37:39 linvdr user.warn kernel: [70786.526637] lirc_serial: ignoring spike: 0 1 4884bb53 4884bad1 c0b0 6fb84
    Jul 21 18:37:39 linvdr user.warn kernel: [70786.816245] lirc_serial: AIEEEE: 1 1 4884bb53 4884bad1 52caa 6fb84


    Der VDR reagiert dann nicht mehr auf die Fernbedienung. irw lässt sich starten, gibt aber nichts aus.
    Nach einigen langen Minuten (mal mehr und mal weniger) kommt z.B.

    Code
    Jul 21 18:38:21 linvdr user.warn kernel: [70829.000796] lirc_serial: AIEEEE: 0 0 4884bb7d 4884bb6b 867e3 c3875


    Es sieht so aus, als ob LIRC_SERIAL einen Bug hat. Wenn nach längerer Zeit (>15sec) ein Flankenwechsel kommt, der scheinbar nicht zur Empfängerpolarität paßt (low od. high aktiv), dann wird diese invertiert. Lircd wird dann keine Key-Codes mehr finden. Das ganze muß sich nochmal wiederholen, sodaß die Poarität wieder gedreht wird. Die zweite Zahl in der Debug-Message ist die Polarität vom Empfänger (0=high u. 1=low aktiv). Der normale (einfache) Empfänger ist low aktiv.


    Gruß
    e9hack

  • Hallo alle,


    die Lösung war ganz profan: Ich Dösel hatte schlichtweg den Pull-Up vergessen. Bei der Gelegenheit habe ich auch gleich 100nF direkt am TSOP in die Spannungsversorgung gehängt.
    Danach hatte ich bisher keine Störungen mehr.


    Vielen Dank für eure Antworten!
    Uwe

    Test-VDR: Asrock J4205 (Intel-Grafik), 4GB RAM, 30GB SSD, Cine S2 PCIe twin tuner + DuoFlex an Durline UK119 SCR LNB

  • Und das ging _überhaupt_? *staun*

  • Zitat

    Original von wirbel
    Und das ging _überhaupt_? *staun*


    Der TSOP hat einen internen Pull-Up von 100k. Wenn der UART-Eingang auch in der Größenordnung liegt, könnte es funktionieren. Mit einem MAX232 würde das nicht gehen.


    Gruß
    e9hack

  • okay. das wär wenigstens ne logische Erklärung.

Jetzt mitmachen!

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