Wie lade ich das Modul lirc_serial richtig

  • Hallo,


    versuche seit zwei Tagen das Modul lirc_serial ordentlich beim Systemstart zu laden.
    Wenn ich es in /etc/modules (Ist das richtig ?) eintrage, wird es zwar geladen, aber meine Fernbedinung funktioniert nicht.
    lircd läuft und lsmod zeigt das lirc_serial geladen ist.


    Wenn ich beides stoppe mit


    killall lircd
    rmmod lirc_serial


    und danach wieder mit der Hand starte


    modprobe lirc_serial
    /usr/local/sbin/lircd


    funktioniert es.


    Bitte einen Tipp. Ist mein erster Debian-Rechner

  • Hallo,


    du mußt dafür sorgen das dein modul vor dem Start von lircd geladen ist. Ich mache das über ein Start-Skript das im entsprechenden Runlevel (z.B. init 3) so ziemlich vorne steht.


    Also z.B. ist (in etwa, je nach distri usw.) so vorzugehen:
    cp /etc/init.d/skeleton /etc/init.d/lirc-starter
    ln -s /etc/init.d/rc.3 s05lirc-start ./lirc-starter
    ln -s /etc/init.d/rc.3 k05lirc-start ./lirc-starter


    Dann mittels Lieblingseditor deine lirc-starter entsprechend so verändern das sie auf die Kommandos Start/Stop/Restart reagiert, indem lircd gekillt wird usw.


    Mittels Runlevel-Editor kannst du dann sicherstellen das alles funktioniert.


    Und voila ;)


    Ich hoffe das war nicht zu kurz, aber du wolltest ja nur einen Tip ...

    HW: Hermes 651-P, Celeron 2GHz, 512MB, 120GB HD, WG511 WLAN, NEC-1300A, TechnoTrend DVB-C
    SW: ctvdr4, VDR 1.3.44, div. Plug-ins

  • Hallo StayCool,


    habe das Start-Script von Lirc mit dem Befehl update.rc.d lirc defaults 20 (oder so, Rechner gerade nicht zur Hand) geladen.
    Das Script hat dann das Script lirc in alle Runlevel eingetragen ( 1-5).


    Ging natürlich nicht.


    Zum testen habe ich die Scripte dann mit der Hand aus 1 und 2 gelöscht.


    Ging natürlich auch nicht. ;(

  • Hi,


    pack die Zeilen in die runvdr:



    ....
    LIRC=/usr/local/sbin/lircd
    LIRC_CONF=/etc/vdr/lircd.conf


    rmmod lirc_serial &>/dev/null
    killal -q lircd ; killal -q -9 lircd
    insmod lirc_serial &>/dev/null
    $LIRC $LIRC_CONF
    ....




    entweder außerhalb der while ... do ... done schleife oder darin
    (je nachdem wie stabil lirc bei dir so klappt) oder beides.


    So sparst du dir einen weiteren start dienst.


    Gruß

    --
    viel spass am geraet
    ---
    AMD1100/512 # 200GB-VDR # 220GB-DIVX #
    1.3 Siemens # 2.1 Haupauge(primary) # RH 7.3

  • Hallo memed,


    werde es heute abend direkt probieren.
    Hatte das auch mal so änlich probiert.
    Dann gab es aber immer wieder eine Neustart von runvdr.
    Da hatte ich wohl was verkehrt gemacht.


    Wenns klappt kommt bestimmt ein Feedback. :]


    MfG herb

  • Das Feedback,


    das starten funktioniert jetzt mit runvdr. Pfade natürlich angepasst.


    runvdr


    #!/bin/bash
    LIRC=/usr/local/sbin/lircd
    LIRC_CONF=/etc/lircd.conf


    DVBDIR="/usr/local/src/DVB/driver"
    VDRPRG="/usr/local/src/VDR/vdr"
    VDRCMD="$VDRPRG -w 60 $*"


    LSMOD="`/sbin/lsmod | grep -w '^dvb' | wc -l`"
    KILL="/usr/bin/killall -q -TERM"


    # Load driver if it hasn't been loaded already:
    if [ $LSMOD -eq 0 ] ; then
    (cd $DVBDIR; make insmod)
    fi


    rmmod lirc_serial &>/dev/null
    killall -q lircd ; killall -q -9 lircd
    insmod lirc_serial &>/dev/null
    $LIRC $LIRC_CONF


    while (true) do
    su -c "$VDRCMD" $VDRUSR
    if test $? -eq 0 -o $? -eq 2; then exit; fi
    date
    echo "restarting VDR"
    $KILL $VDRPRG
    sleep 10
    (cd $DVBDIR; make rmmod; make insmod)
    date
    done


    Danke für die klasse Hilfe :applaus

  • Danke, kein Problem :)


    nen tip noch, ich würde genrell bei lirc eher nen sleep 1 zuviel als zuwenig keinmachen, das ist etwas zeitkritisch.
    ich muss bei mir auch das lirc modul einmal laden, entladen und dann wieder laden, sonst klappt es garnicht....


    Gruß

    --
    viel spass am geraet
    ---
    AMD1100/512 # 200GB-VDR # 220GB-DIVX #
    1.3 Siemens # 2.1 Haupauge(primary) # RH 7.3

Jetzt mitmachen!

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