Lirc

  • Hallo,


    ich habe mir vor kurzem ne Skystar als 2. Karte zugelegt. Jetzt wollte ich den seriellen IR-Empfänger testen.


    Bisher verwende ich den IR-Empfänger über die Nexus 2.3. Das die FB funktionert, muss man schon direkt auf den Empfänger zeigen. Ich habe gelesen, dass es über den "seriellen" Weg besser funktioneren soll.


    Ich habe jetzt im Setup auf seriell umgestellt. Nach dem Start des Rechners kommt der Hinweis zum Anlernen der FB. Leider tut sich gar nichts.


    Die Treiber werden glaube ich geladen: Hier ein Auszag aus dmesg:


    lirc_dev: IR Remote Control driver registered, at major 61
    lirc_serial: no version for "lirc_unregister_plugin" found: kernel tainted.
    lirc_serial: auto-detected active high receiver
    lirc_dev: lirc_register_plugin: sample_rate: 0


    Was mache ich falsch? Kann mir jemand helfen?


    Viele Grüße


    Rainer

    yaVDR 0.5 ASUS M4N78-VM, Nvidia GT 430, Speicher:2 x DIMM 2 GB DDR2-800, Festplatte: Samsung HM400JI, Gehäuse: Silverstone Grandia, Atric Einschalter, Hauppauge FB
    yaVDR 0.5 ASUS AT3ION-I, SSD 60 GB
    yaVDR 0.5 als Server im Keller (1 x DVB-S TT-S 3200 mit CI, 1x DD 6.0)

  • Code
    kernel: lirc_serial: auto-detected active low receiver

    wäre die korrekte Meldung. Hast Du den Empfänger am richtigen Port? Rufst Du irgendwo

    Code
    setserial /dev/ttySx uart none

    (x gemäß Deiner Konfiguration) auf?

  • hab schon beide ports versucht. Leider ohne Erfolg.


    Wo muss ich das ttySx aufrufen?

    yaVDR 0.5 ASUS M4N78-VM, Nvidia GT 430, Speicher:2 x DIMM 2 GB DDR2-800, Festplatte: Samsung HM400JI, Gehäuse: Silverstone Grandia, Atric Einschalter, Hauppauge FB
    yaVDR 0.5 ASUS AT3ION-I, SSD 60 GB
    yaVDR 0.5 als Server im Keller (1 x DVB-S TT-S 3200 mit CI, 1x DD 6.0)

  • Irgendwo vor dem Lirc-Start. Stoppe doch mal an der Konsole lirc, setze den setserial Befehl

    Code
    setserial /dev/ttyS0 uart none

    (für COM1) ab und starte lirc wieder.
    Wenn im Log immernoch die gleiche Meldung auftaucht, hast Du wohl ein anderes Problem.

  • jetzt kommt das:


    Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
    serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

    yaVDR 0.5 ASUS M4N78-VM, Nvidia GT 430, Speicher:2 x DIMM 2 GB DDR2-800, Festplatte: Samsung HM400JI, Gehäuse: Silverstone Grandia, Atric Einschalter, Hauppauge FB
    yaVDR 0.5 ASUS AT3ION-I, SSD 60 GB
    yaVDR 0.5 als Server im Keller (1 x DVB-S TT-S 3200 mit CI, 1x DD 6.0)

  • Wird das Modul lirc_serial bei Dir beim lirc Stop entladen? Sonst erledige das mal händisch,
    bevor Du den setserial Befehl ausführst.

  • Oh je das wird jetzt für einen Laien echt kompliziert. Kannst Du es für einen Nullblicker etwas einfacher erklären?

    yaVDR 0.5 ASUS M4N78-VM, Nvidia GT 430, Speicher:2 x DIMM 2 GB DDR2-800, Festplatte: Samsung HM400JI, Gehäuse: Silverstone Grandia, Atric Einschalter, Hauppauge FB
    yaVDR 0.5 ASUS AT3ION-I, SSD 60 GB
    yaVDR 0.5 als Server im Keller (1 x DVB-S TT-S 3200 mit CI, 1x DD 6.0)

  • Bevor Du die FB im VDR anlernen kannst, muss LIRC sie erst mal kennen / anlernen. Eventuell kannst Du gleich eine fertige lircd.conf von hier nehmen, denn einige FBs kann LIRC nicht so ohne weiteres korrekt anlernen. Vorab kannst Du mit irw mal testen, ob LIRC überhaupt was empfängt...

    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...

  • Zitat

    Original von kilroy
    Wird das Modul lirc_serial bei Dir beim lirc Stop entladen? Sonst erledige das mal händisch,
    bevor Du den setserial Befehl ausführst.


    Zitat

    Original von x-99
    Oh je das wird jetzt für einen Laien echt kompliziert. Kannst Du es für einen Nullblicker etwas einfacher erklären?


    Was kilroy meinte war..


    LIRC benutzt du mit der seriellen Schnittstelle, entweder mit dem ersten seriellen Port ("/dev/ttyS0") oder dem zweiten seriellen Port ("/dev/ttyS1"). Ich geh mal stillschweigend davon aus, dass dein Board wie die meisten zwei serielle Ports hat und dein LIRC Receiver an der ersten seriellen Schnittstelle hängt.
    Nur *ein* Treiber kann auf deinen seriellen Port zugreifen, entweder LIRC oder aber der normale Treiber für die serielle Schnittstelle. Deswegen sagst du dem Treiber für die serielle Schnittstelle dass er den seriellen Port nicht nutzen soll:


    setserial /dev/ttyS0 uart none


    Erst danach (!) darfst du den LIRC Treiber für die serielle Schnittstelle laden:


    modprobe lirc_serial


    Der sollte dann - wenn alles läuft und an der Schnittstelle funktionierende Hardware für LIRC gefunden wird - melden


    kernel: lirc_serial: auto-detected active low receiver



    Danach kannst du eine passende Konfigurationsdatei für deine Fernbedienung erstellen. Wie das geht, siehe Link.


    Wenn du diese Konfigurationsdatei für deine Fernbedienung erstellt hast, kannst den Daemon (ein ständig im Hintergrund laufendes Programm) für LIRC namens lircd starten.


    lircd


    Wenn der lircd gestartet wurde heißt es den VDR zu beenden, die remote.conf des VDR zu löschen und anschließend den VDR erneut zu starten. Der VDR fragt dann die Belegung deiner Tastatur und deiner Fernbedienung ab und lässt dich für jede gewünschte Funktion ne Taste anlernen.

  • Zitat

    Original von wirbel
    Was kilroy meinte war..


    Genau. Danke für die ausführliche Erklärung. :] Im Normalfall belegt der Kernel die seriellen
    Schnittstellen automatisch und der setserial Befehl gibt den Port quasi frei, damit lirc diesen
    nutzen kann.

  • Zitat

    Original von wirbel
    setserial /dev/ttyS0 uart none


    auf debian unstable kann man /etc/serial.conf editieren, z.B.


    /dev/ttyS0 uart none
    /dev/ttyS1 uart 16550A port 0x02f8 irq 3


    das wird dann beim Booten von /etc/init.d/etc-setserial
    ausgeführt.

  • Zitat

    [i]Im Normalfall belegt der Kernel die seriellen
    Schnittstellen automatisch und der setserial Befehl gibt den Port quasi frei.


    Bei LinVDR ist der Kernel so compiliert/konfiguriert, dass setserial nicht erforderlich ist !


    Das problem von x-99 muss also woanders liegen.


    Ich würde im BIOS sonst mal die EA/IRQ-Adressen von COM1 +2 tauschen

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • also ich hab das für lirc an com2 so geändert in der 'runvdr' :


    setserial /dev/ttyS1 uart none
    loadmodule lirc_serial irq=3 io=0x2f8
    $BINDIR/lircd

    yaVDR 0.3.2 VIA-Epia MII-10000, 512MB ram, Rebach DT-HiFi-01 ,TT rev.1.6, Samsung Spinpoint SV1604N 160GB, NEC ND-2500A, 2TB FreeNAS
    -Registered VDR-User #1273
    -Registered Linux-User #420228


    yaVDR 0.5.0a auf M2NPV-VM,GT9500,4GB RAM,32GB OCZ SSD

  • Also zunächst mal vielen Dank für die umfangreiche Hilfe. Ich bin jetzt einen ganzen Schritt weiter. Leider geht es noch nicht zu 100%
    Ich habe alles so gemacht wir von wirbel beschrieben. Das Anlernen mit irrecord hat auch funktioniert.


    Ach so, ich habe nur eine serielle Schnittstelle. Ich habe aber im Bios schon beide Einstellungen versucht (IRQ 3 und 4).


    Nach dem Neustart kommt dann die Aufforderung unter VDR die LIRC-Fernbedienung anzulernen. Und hier reagiert dann die FB überhaupt nicht.


    Eine fetige lircd.conf habe auch gerade runtergeladen und nach /etc kopiert. Ging aber leider auch nicht.


    Irw hat nicht funktionert.


    Hier dmesg:


    lirc_dev: IR Remote Control driver registered, at major 61
    lirc_serial: no version for "lirc_unregister_plugin" found: kernel tainted.
    lirc_serial: auto-detected active high receiver
    lirc_dev: lirc_register_plugin: sample_rate: 0
    linvdr:~#

    yaVDR 0.5 ASUS M4N78-VM, Nvidia GT 430, Speicher:2 x DIMM 2 GB DDR2-800, Festplatte: Samsung HM400JI, Gehäuse: Silverstone Grandia, Atric Einschalter, Hauppauge FB
    yaVDR 0.5 ASUS AT3ION-I, SSD 60 GB
    yaVDR 0.5 als Server im Keller (1 x DVB-S TT-S 3200 mit CI, 1x DD 6.0)

  • Ist die Fehlermeldung nach der Eingabe von irw "connection refused" ?


    Vielleicht hilft: " chmod 666 /dev/lircd "


    Dann nochmal irw aufrufen und testen.

    Mein VDR
    vdr4arch mit softhddevice, VDR-2.2.0; KODI Mainboard: MSI 785GM-E51, CPU: iAMD Athlon II, GPU: GeForce GTX 550 Ti; nvidia:364.19, DVB1-2: DD Cine S2; DVB3-4: DD DuoFlex S2;, RAM: 1*2G DDR3, AV-Receiver Pioneer VSX-923K

  • x-99,


    Frage: Welchen seriellen IR Empfaenger hast Du denn eigentlich angeschlossen?


    Mich macht das "lirc_serial: auto-detected active high receiver" stutzig.


    Gruss

    VDR1: Humax iCord HD :evil:


    VDR2: easyVDR 0.6 / Silverstone LC20 / AMD Geode NX 1750 PC-Chips M811 / TT Prem 2300 mod + CI / Nova-S SE / PSOne TFT / ATRIC IR


    VDR3: Mahlzeit 3.3pre4 / Activy300 / DVB-S FSC 1.3 + CI

  • jetzt hab ich wieder low


    lirc_dev: IR Remote Control driver registered, at major 61
    lirc_serial: no version for "lirc_unregister_plugin" found: kernel tainted.
    lirc_serial: auto-detected active low receiver
    lirc_dev: lirc_register_plugin: sample_rate: 0


    ...ich hatte es vorhin unter com2 versucht.


    wenn ich irw eingebe passiert gar nichts!


    hab mal lircd & eingegeben. Dann kommst das:


    linvdr:~# lircd &
    [1] 1447
    lircd 0.7.0: there seems to already be a lircd process with pid 1382
    lircd 0.7.0: otherwise delete stale lockfile /var/run/lircd.pid

    yaVDR 0.5 ASUS M4N78-VM, Nvidia GT 430, Speicher:2 x DIMM 2 GB DDR2-800, Festplatte: Samsung HM400JI, Gehäuse: Silverstone Grandia, Atric Einschalter, Hauppauge FB
    yaVDR 0.5 ASUS AT3ION-I, SSD 60 GB
    yaVDR 0.5 als Server im Keller (1 x DVB-S TT-S 3200 mit CI, 1x DD 6.0)

    Einmal editiert, zuletzt von x-99 ()

  • LIRC-Daemon beenden mit:


    Code
    killall lircd


    Siehe auch HIER unter
    Q: Ich habe keine Konfigurationsdatei für meine Fernbedienung gefunden.



    Gruß, Frederik

    Coolermaster ATC-620C | Asrock K8Upgrade-VM800 | Sempron 64 2600+ | MDT 512MB | TT 1.3 | Skystar2 2.6 | Medion 41169
    Gepanschtes LinVDR 0.7 | DrSeltsam Kernel 2.6.15 | MT-Patch05182005 | Tarandor-Libs | Cody Patch 1.3.37

  • Hey ich habe es geschafft (fast). Vielen Dank für die Hilfe. Jetzt hab ich nur noch das Problem, daß alle Befehle doppelt ausgeführt werden. Als FB verwende ich die originale der Nexus 2.3.


    Gibt es für dieses Problem auch ne Lösung? Kann man vielleicht die sensibiltät einstellen?

    yaVDR 0.5 ASUS M4N78-VM, Nvidia GT 430, Speicher:2 x DIMM 2 GB DDR2-800, Festplatte: Samsung HM400JI, Gehäuse: Silverstone Grandia, Atric Einschalter, Hauppauge FB
    yaVDR 0.5 ASUS AT3ION-I, SSD 60 GB
    yaVDR 0.5 als Server im Keller (1 x DVB-S TT-S 3200 mit CI, 1x DD 6.0)

  • Da gab's mal was, was man machen konnte, bei doppelt ausgeführten Befehlen, aber leider weiss ich nicht mehr was, oder wo es stand!
    Such mal nur im Forum Fernbedienungen, da wirste schon was finden...


    Gruß, Frederik

    Coolermaster ATC-620C | Asrock K8Upgrade-VM800 | Sempron 64 2600+ | MDT 512MB | TT 1.3 | Skystar2 2.6 | Medion 41169
    Gepanschtes LinVDR 0.7 | DrSeltsam Kernel 2.6.15 | MT-Patch05182005 | Tarandor-Libs | Cody Patch 1.3.37

Jetzt mitmachen!

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