Új hozzászólás Aktív témák

  • vargalex

    félisten

    válasz PistiSan #17258 üzenetére

    Hi!

    Természetesen tetszőleges scriptet lehet tenni bármelyik gomb (WL-500gP esetében 2 gomb van) megnyomására, felengedésére. Ezeket a scripteket a /etc/hotplug.d/button könyvtár alá kell tenned tetszőleges néven.

    A Wiki szerint a WL-500gP gombjait OpenWrt alatt reset-nek, illetve ses-nek hívják. Ha például a ses-re (EZSETUP gomb) akarsz egy scriptet, akkor pl. a /etc/hotplug.d/button/10-ezsetup file tartalma:

    #!/bin/sh

    if [ "$BUTTON" = "ses" ] ; then
    if [ "$ACTION" = "pressed" ] ; then
    TRANSMISSIONRUN=`ps -ef | grep transmission-daemon | grep -v grep | wc -l`
    if [ "$TRANSMISSIONRUN" != "0" ]; then
    logger -t sesbutton "Stopping transmission-daemon"
    /etc/init.d/transmission stop
    else
    logger -t sesbutton "Starting transmission-daemon"
    /etc/init.d/transmission start
    fi
    fi
    fi

    Ez gombnyomás esetén elindítja a transmission-t, ha nem futott, illetve leállítja, ha futott. Természetesen lehetne a gombnyomásokat számlálni (páros esetén leállítani, páratlan esetén indítani), de így egyszerűbb.
    Ahogy láthatod a kódban, nem magát az init script-et kell figyelni (mert nyilván nem az fut), hanem az init script által elindított programot.

    Ha esetleg nem működne a fenti script, az azért lehet, mert hibás a Wiki és nem ses-nek hívják a gombot. Hogy kiderítsd a helyes nevét, csinálj egy /etc/hotplug.d/button/00-buttontest file-t a következő tartalommal:

    #!/bin/sh
    logger -t buttontest Button: $BUTTON

    Ez a syslog-ba kiírja a gomb nevét.

    Alex

Új hozzászólás Aktív témák