Lirc Device Reihenfolge beim Booten

  • Ich habe eine lirc (Atric) IR Empfänger am seriellen Port. Zusätzlich findet das System aber auch 3 ungenutzte IR Empfänger von Nova S2 DVB Karten.
    Das Problem ist, daß die Reihenfolge der gefundenen Geräte sich beim Booten manchmal ändern kann und dann der Atrix IR Empfänger nicht unter
    /dev/lirc3 sondern /dev/lirc0 zu finden ist.


    Daher die Frage, wie kann ich sicherstellen, daß der Atric Empfänger zuerst gefunden wird und damit /dev/lirc0 wird? Oder wie kann ich
    sicherstellen, dass in /etc/lirc/hardware.conf immer das richtige Atric /dev/lirc Device steht? Ich hatte schon versucht, ir-lirc-codec zu blacklisten damit die
    Nova IR Empfänger nicht geladen werden: ohne Erfolg. Kann ich evtl. bei udev verhindern, dass /dev/lircx für die Nova erstellt wird?


    Hier mal eine grep lirc /var/log/syslog Ausgabe:


    Code
    01:35:38 zotac kernel: [   12.033769] lirc_dev: IR Remote Control driver registered, major 249
    Apr 16 01:35:38 zotac kernel: [   12.597418] rc rc0: lirc_dev: driver ir-lirc-codec (cx88xx) registered at minor = 0
    Apr 16 01:35:39 zotac kernel: [   13.025524] rc rc1: lirc_dev: driver ir-lirc-codec (cx88xx) registered at minor = 1
    Apr 16 01:35:39 zotac kernel: [   13.258527] rc rc2: lirc_dev: driver ir-lirc-codec (cx88xx) registered at minor = 2
    Apr 16 01:35:42 zotac kernel: [   16.818010] lirc_serial: module is from the staging directory, the quality is unknown, you have been warned.
    Apr 16 01:35:43 zotac kernel: [   17.770035] lirc_serial: auto-detected active low receiver
    Apr 16 01:35:43 zotac kernel: [   17.770120] lirc_serial lirc_serial.0: lirc_dev: driver lirc_serial registered at minor = 3

    Stable: YaVDR 0.4, Asus M4N78 Pro mit nVidia 8300, Atric IR, Athlon 235e/2GB RAM, HVR-4000, 2xNova S2, Onkyo SR875, Samsung TV
    Testing: YaVDR mit Zotac ND 22, Hama MCE

  • Habe ein ähnliches Problem, dass mein Atric sporadisch beim Start von lirc0 auf lirc1 springt und zurück.. kann sich einfach nicht entscheiden ;)
    Bisher behelfe ich mir damit gegebenenfalls die hardware.conf manuell zu ändern, aber schön ist anders..
    Eine entsprechende udev-Regel hatte ich auch mal, aber die führe aus irgendeinem Grund nicht zum erhofften Erfolg..

    VDR: Asus M3N78-EM mit Onboard Nvidia 8300, AMD 5050e, 2x2GB Ram, 8GB SATA Transcend SSD + 1 TB WD green, Atric-Einschalter, Hitachi-LCD 240x128 (HD61830) & AX206 (Pearl), Terratec S2 HD & TeVii S464 (unterstützt durch v4l-dvb per selfmade-patch), yaVDR 0.4

  • Ich habe mir derzeit damit geholfen, das bei mir störende ir_lirc_codec Modul in /etc/init/lircd.conf mit rmmod zu entladen bevor die in hardware.conf angegebenen Module geladen werden. Mit rmmod ir_lirc_codec verschwinden bei mir /dev/lirc0-2 der IR Empfänger der Sat-Karten. Ein zusätzlicher sleep Befehl war nötig, weil manchmal der serielle Port trotz setserial Aufruf belegt war. Jetzt sieht der load_modules Aufruf in /etc/init/lircd.conf also so aus:


    Code
    if [ "$LOAD_MODULES" = "true" ]; then
    sleep 4
    /sbin/rmmod ir_lirc_codec
      load_modules $REMOTE_MODULES
    fi


    Nur schön oder updatesicher ist diese vorgehensweise sicher nicht, weshalb ich hier (bislang erfolglos) gefragt habe. Auch im Internet konnte ich nur Fragen aber keine sauber funktionierende Lösung finden.

    Stable: YaVDR 0.4, Asus M4N78 Pro mit nVidia 8300, Atric IR, Athlon 235e/2GB RAM, HVR-4000, 2xNova S2, Onkyo SR875, Samsung TV
    Testing: YaVDR mit Zotac ND 22, Hama MCE

    3 Mal editiert, zuletzt von backalive ()

  • Hier noch eine elegantere Lösung:


    Das folgende udev-Skript verlinkt das von lirc_serial erstellte /dev/lirc[0-9] nach /dev/lirc.

    Code
    KERNEL=="lirc?", SUBSYSTEM=="lirc", SUBSYSTEMS=="platform", DRIVERS=="lirc_serial", SYMLINK+="lirc"


    Einfach nach /etc/udev/rules.d/66-lirc-symlink.rules kopieren und in der hardware.conf als Schnittstelle /dev/lirc angeben (ist default).

    Dateien

    Gruss
    SHF


Jetzt mitmachen!

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