?>/script>'; } ?> ¿Como puedo crear un script para apagar los leds y otro para autoiniciar pyload? Widgets Magazine

Autor Tema: ¿Como puedo crear un script para apagar los leds y otro para autoiniciar pyload?  (Leído 12822 veces)

0 Usuarios y 1 Visitante están viendo este tema.

machiminax

  • Visitante
Hola he encontrado este script para apagar los leds del wndr3700v2


#!/bin/sh

if [ "$1" ] && [ "$1" == "--on" ]
then
        echo 255 > /sys/devices/platform/leds-gpio/leds/wndr3700:green:power/brightness
        echo 255 > /sys/devices/pci0000:00/0000:00:11.0/leds/ath9k-phy0/brightness
        echo 255 > /sys/devices/pci0000:00/0000:00:12.0/leds/ath9k-phy1/brightness
        /sbin/swconfig dev rtl8366s port 1 set led 6
        /sbin/swconfig dev rtl8366s port 2 set led 9

elif [ "$1" ] && [ "$1" == "--off" ]
then
        echo 0 > /sys/devices/platform/leds-gpio/leds/wndr3700:green:power/brightness
        echo 0 > /sys/devices/pci0000:00/0000:00:11.0/leds/ath9k-phy0/brightness
        echo 0 > /sys/devices/pci0000:00/0000:00:12.0/leds/ath9k-phy1/brightness
        /sbin/swconfig dev rtl8366s port 1 set led 0
        /sbin/swconfig dev rtl8366s port 2 set led 0
fi

Alguien puede echarme una mano para adaptarlo a mi router soy nuevo en openwrt he conseguido instalar 12.09 en mi WDR3600 con pyload y transmissions y lo que me faltaria seria deshabilitar los leds para que no parpadee toda la noche.
Gracias.
« Última modificación: 23-01-2014, 15:48 (Jueves) por machiminax »

Noltari

  • Visitante
Re: Script para apagar leds WDR3600
« Respuesta #1 en: 19-01-2014, 18:23 (Domingo) »
Hola he encontrado este script para apagar los leds del wndr3700v2


#!/bin/sh

if [ "$1" ] && [ "$1" == "--on" ]
then
        echo 255 > /sys/devices/platform/leds-gpio/leds/wndr3700:green:power/brightness
        echo 255 > /sys/devices/pci0000:00/0000:00:11.0/leds/ath9k-phy0/brightness
        echo 255 > /sys/devices/pci0000:00/0000:00:12.0/leds/ath9k-phy1/brightness
        /sbin/swconfig dev rtl8366s port 1 set led 6
        /sbin/swconfig dev rtl8366s port 2 set led 9

elif [ "$1" ] && [ "$1" == "--off" ]
then
        echo 0 > /sys/devices/platform/leds-gpio/leds/wndr3700:green:power/brightness
        echo 0 > /sys/devices/pci0000:00/0000:00:11.0/leds/ath9k-phy0/brightness
        echo 0 > /sys/devices/pci0000:00/0000:00:12.0/leds/ath9k-phy1/brightness
        /sbin/swconfig dev rtl8366s port 1 set led 0
        /sbin/swconfig dev rtl8366s port 2 set led 0
fi

Alguien puede echarme una mano para adaptarlo a mi router soy nuevo en openwrt he conseguido instalar 12.09 en mi WDR3600 con pyload y transmissions y lo que me faltaria seria deshabilitar los leds para que no parpadee toda la noche.
Gracias.
Tómate un tiempo para rehacer el post con algún que otro signo de puntuación, explicándolo más detalladamente y en frases separadas.

Gracias.

machiminax

  • Visitante
Re: Script para apagar leds WDR3600
« Respuesta #2 en: 19-01-2014, 23:18 (Domingo) »
Post editado:

Tengo un router WDR3600.Con openwrt 12.09 instalado.Quisiera apagar los leds del router.He encontrado un script para hacerlo en otro modelo de router (wndr3700v2)


El script es el siguiente:



#!/bin/sh

if [ "$1" ] && [ "$1" == "--on" ]
then
        echo 255 > /sys/devices/platform/leds-gpio/leds/wndr3700:green:power/brightness
        echo 255 > /sys/devices/pci0000:00/0000:00:11.0/leds/ath9k-phy0/brightness
        echo 255 > /sys/devices/pci0000:00/0000:00:12.0/leds/ath9k-phy1/brightness
        /sbin/swconfig dev rtl8366s port 1 set led 6
        /sbin/swconfig dev rtl8366s port 2 set led 9

elif [ "$1" ] && [ "$1" == "--off" ]
then
        echo 0 > /sys/devices/platform/leds-gpio/leds/wndr3700:green:power/brightness
        echo 0 > /sys/devices/pci0000:00/0000:00:11.0/leds/ath9k-phy0/brightness
        echo 0 > /sys/devices/pci0000:00/0000:00:12.0/leds/ath9k-phy1/brightness
        /sbin/swconfig dev rtl8366s port 1 set led 0
        /sbin/swconfig dev rtl8366s port 2 set led 0
fi




Quisiera que alguien me explicara que tengo que hacer para adaptar este script a mi router.
Añado alguna cosa mas por si es de utilidad.La ruta para acceder a la configuracion de los leds de mi router es la siguiente:

          /sys/devices/platform/leds-gpio/leds

Ejecutando "echo 0 > brightness" he conseguido apagar todas menos la de power.
En el script citado anteriormente la ruta para la luz de power es la siguiente:

         /sys/devices/platform/leds-gpio/leds/wndr3700:green:power/brightness

Pero en el mio no aparece led power.¿Alguien sabe donde se encuentra el archivo para gestionar el led de power?
Si nadie lo sabe por lo menos a ver si me podeis explicar como creo un script basandome en el anterior para que se me apaguen los leds que tengo localizados.

Espero haberme explicado mejor.
Gracias.
« Última modificación: 20-01-2014, 00:46 (Lunes) por machiminax »

danitool

  • Visitante
Re: Script para apagar leds WDR3600
« Respuesta #3 en: 20-01-2014, 10:15 (Lunes) »
Poco hay que decir, si ya conseguiste apagar los leds manualmente, será sustituir las líneas del script por los comandos que usas en el tuyo.

El led de power sino aparece tal vez sea porque no está cableado a ningún gpio, y seguramente sea un tipo de led "tonto" que simplemente se enciende cuando enchufas el router, no controlable.

teck

  • Visitante
Re: Script para apagar leds WDR3600
« Respuesta #4 en: 21-01-2014, 03:49 (Martes) »
lo mas rápido es así, yo lo tengo como modo noche y lo cambio por interfaz web

Código: [Seleccionar]
   if [ $value == "noche" ]; then
        for i in /sys/class/leds/* ; do echo 0 > "$i"/brightness ; done
    else
       /etc/init.d/led restart
    fi

Apagar
for i in /sys/class/leds/* ; do echo 0 > "$i"/brightness ; done

Prender
/etc/init.d/led restart
« Última modificación: 21-01-2014, 03:58 (Martes) por teck »

machiminax

  • Visitante
Re: Script para apagar leds WDR3600
« Respuesta #5 en: 21-01-2014, 18:52 (Martes) »
Soy novato en el tema de openwrt.Ahora mismo me quedan dos cosas para terminar con el router.

1 . No encuentro un tutorial en el que se explique claramente como crear un script.
Que pasos tengo que seguir exactamente.


    1.a.   vi/etc/init.d/leds  --->  ¿se puede poner el nombre que se quiera?
    1.b    ahora simplemente agrego el texto
    1.c     hay que aplicar chmod +x  --->¿cual es su funcion?


2. En Luci tengo un apartado System-Startup-Initscripts.Aqui por ejemplo aparece Transmissions y se puede iniciar o detener.¿Es posible hacer lo mismo con pyload?
Mas abajo aparece Local Startup.He agregado esta linea.

    python /usr/share/python/pyload/pyLoadCore.py --daemon

Pero al reiniciar el router pyload no se inicia tengo que ejecutarlo yo desde putty.

A ver si me podeis echar un cable.Estoy con el router casi listo.Solo me faltarian estas dos cosas los leds y poder iniciar pyload desde Luci o en su defecto que se inicie automaticamente al reiniciar el router.
Gracias.

teck

  • Visitante
Re: Script para apagar leds WDR3600
« Respuesta #6 en: 21-01-2014, 20:02 (Martes) »
Tienes que buscar info de bash en linux

ejemplo hola mundo en bash, creamos por ejemplo un archivo con vim o nano  

nano /etc/hola

Código: [Seleccionar]
#!/bin/sh
echo "HOLA"

Aplicamos permisos de ejecución con
chmod +x /etc/hola

y lo podemos ejecutar así

/etc/hola

o así

cd /etc ; ./hola


si quieres correr algún comando en el arranque edita el archivo "/etc/rc.local" y agregas los comandos antes del "exit 0"

« Última modificación: 21-01-2014, 20:06 (Martes) por teck »

machiminax

  • Visitante
Re: Script para apagar leds WDR3600
« Respuesta #7 en: 22-01-2014, 00:33 (Miércoles) »
Tienes que buscar info de bash en linux

ejemplo hola mundo en bash, creamos por ejemplo un archivo con vim o nano  

nano /etc/hola

Código: [Seleccionar]
#!/bin/sh
echo "HOLA"

Aplicamos permisos de ejecución con
chmod +x /etc/hola

y lo podemos ejecutar así

/etc/hola

o así

cd /etc ; ./hola


si quieres correr algún comando en el arranque edita el archivo "/etc/rc.local" y agregas los comandos antes del "exit 0"



Gracias por responder.
Lo he intentado desde Luci en el apartado startup y desde el fichero que me has mencionado.¿Seria correcto asignar estos comandos para que pyload se ejecute al iniciar el sistema o tengo que agregar alguna cosa mas a la linea?

   # Put your custom commands here that should be executed once
   # the system init finished. By default this file does nothing.
   /etc/init.d/pyload start
   exit 0


Lo digo porque con esto no se me inicia.Tambien he probado con:
   
   python /usr/share/python/pyload/pyLoadCore.py

Es extraño porque si desde putty ejecuto cualqiera de las dos lineas funciona perfectamente.

« Última modificación: 22-01-2014, 00:37 (Miércoles) por machiminax »

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607
Re: Script para apagar leds WDR3600
« Respuesta #8 en: 22-01-2014, 08:36 (Miércoles) »
Prueba con este script

Código: [Seleccionar]
#!/bin/sh /etc/rc.common
# For OpenWRT 10.03.1 and Pyload 0.49 stable.

START=99

prefix=/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
SESSIONNAME=pyload"
DAEMON=screen -dmS $SESSIONNAME python [b]/mnt/hdd1/programy/pyload/pyLoadCore.py[/b]"
DAEMON_OPTS="

start() {
        if  screen -ls | grep $SESSIONNAME ; then
            echo "a screen-session of pyLoad is already running"
        else
            echo "Starting screen-session of pyLoad"
            $DAEMON $DAEMON_OPTS
        fi
          }
       
stop() {
        if  screen -ls | grep $SESSIONNAME ; then
                    echo "Stopping screen-session of pyLoad"
                    screen -r $SESSIONNAME -X quit
                    if  screen -ls | grep $SESSIONNAME ; then
                        echo "stop screen-session of pyLoad failed"
                    else
                        echo "screen-session of pyLoad stopped"
                    fi
        else
            echo "pyLoad is not running"       
        fi
        }
       
restart() {
                stop
                sleep 10
                start
          }

Recuerda que debes crearlo en /etc/init.d y darle los permisos pertinentes.
Además, debes modificar en el script, la ruta al ejecutable "/mnt/hdd1/programy/pyload/pyLoadCore.py"

Ah, y tienes que tener 'screen' instalado.

Por cierto, el título del hilo ... no crees que deberías modificarlo ?

machiminax

  • Visitante
Titulo cambiado.
Con las pautas que me habeis marcado voy intentar crear los scripts.
Volvere a postear con el resultado.A ver si ahora lo consigo.
Gracias.

machiminax

  • Visitante
Hola de nuevo a todos.He tardado mucho en contestar porque estuve de mudanza y me quede sin conexion a internet un tiempo.
Bueno no he conseguido hacer funcionar el script de pyload.
Sin embargo consigo arrancarlo desde Luci - Startup - pyload
Aunque aparece como Enabled tengo que iniciarlo manualmente haciendo click en start.

He añadido lo siguiente en Local Startup en Luci


# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
/etc/init.d/pyload enable
exit 0
Pero aun asi no se inicia automaticamente.

Bueno solo posteo para agradecer la ayuda.
En principio asi ya me vale solo no queria tener que entrar por putty cada vez que queria iniciar pyload.
Simplemente me queda la duda de porque no me funciona automaticamente y tengo que iniciarlo yo a mano.
Gracias.
« Última modificación: 07-03-2014, 22:07 (Viernes) por machiminax »

danitool

  • Visitante
Hola de nuevo a todos.He tardado mucho en contestar porque estuve de mudanza y me quede sin conexion a internet un tiempo.
Bueno no he conseguido hacer funcionar el script de pyload.
Sin embargo consigo arrancarlo desde Luci - Startup - pyload
Aunque aparece como Enabled tengo que iniciarlo manualmente haciendo click en start.

He añadido lo siguiente en Local Startup en Luci


# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
/etc/init.d/pyload enable
exit 0
Pero aun asi no se inicia automaticamente.

Bueno solo posteo para agradecer la ayuda.
En principio asi ya me vale solo no queria tener que entrar por putty cada vez que queria iniciar pyload.
Simplemente me queda la duda de porque no me funciona automaticamente y tengo que iniciarlo yo a mano.
Gracias.


Eso que pones en el startup no parece muy ortodoxo. Si ejecutas
Código: [Seleccionar]
/etc/init.d/pyload enable solo necesitas hacerlo una vez, luego ya debiera arrancar automáticamente siempre, ya que eso habilita el script de inicio.

Tendría más sentido esto
Código: [Seleccionar]
/etc/init.d/pyload start O quizás esto otro
Código: [Seleccionar]
/etc/init.d/pyload restart
« Última modificación: 08-03-2014, 14:44 (Sábado) por danitool »

machiminax

  • Visitante
No me ha funcionado ni con start ni con restart.
No se cual es el error pero no hay manera.
No encuentro explicacion pues en la tabla de Initscripts aparece pyload como enable con el simbolo de start en verde.
Sin embargo si no pulso start manualmente no se inicia automaticamente.
Es extraño pues Transmissions si que se me inicia si lo dejo en enable y samba tambien arranca automatico.
Gracias por ayudarme.
Ya comente en el otro post que puedo iniciarlo desde Luci.Simplemente seria comodo poder automatizarlo para cuando lo necesite.
Gracias otra vez.

vk496

  • Visitante
Dejo un comentario aquí mismo porque en un futuro cercano me interesará hacer esto, y así no se pasa de largo este post.

Yo usaría este script para cuando quiera desmontar un disco duro, pulsar el botón wps, y que detuviese todos los procesos que pudiesen estar escribiendo en el hdd, para poder desmontar el dispositivo de forma segura. Cuando acabe eso, el script haría señales para decir que el proceso a acabado satisfactoriamente.

De todas formas, estaré atento a este hilo, y en cuanto pueda, aportaré datos también...

Salu2

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607
Dejo un comentario aquí mismo porque en un futuro cercano me interesará hacer esto, y así no se pasa de largo este post.

Yo usaría este script para cuando quiera desmontar un disco duro, pulsar el botón wps, y que detuviese todos los procesos que pudiesen estar escribiendo en el hdd, para poder desmontar el dispositivo de forma segura. Cuando acabe eso, el script haría señales para decir que el proceso a acabado satisfactoriamente.

De todas formas, estaré atento a este hilo, y en cuanto pueda, aportaré datos también...

Salu2

Aquí hay un post interesante de danitool que también podría serte útil: https://foro.seguridadwireless.net/openwrt/pregunta-como-hacer-funcionar-el-boton-exterior-wi-fi/msg278185/#msg278185
« Última modificación: 11-03-2014, 09:10 (Martes) por jar229 »

machiminax

  • Visitante
Re: ¿Como puedo crear un script para apagar los leds y otro para autoiniciar pyload?
« Respuesta #15 en: 12-03-2014, 00:02 (Miércoles) »
Vuelvo a la carga.
Navegando por la red encontre una pagina en un idioma ininteligible para mi.
Algun alma caritativa puede ehcarle un vistazo.
Explica como autoarrancar pyload con screen.
Debido a mi falta de conocimientos voy un poco perdido.
Si no me equivoco en el punto 5 explica algo relacoinado con screen.


5. Manualne uruchomienie w tle za pomocą screena

Jezeli chcemy uruchomić pyLoad na żądanie, w tle, to wystarczy wykorzystać polecenie screen który tworzy konsole w tle, ktora jest aktyna nawet po zakończeniu bierzacej sesji SSH

cd /mnt/hdd1/programy/pyload/
screen -dmS pyload python ./pyLoadCore.py
aby podglądnać co dzieje się na tej ukrytej konsoli należy wpisać:

 screen -r pyload
aby powrócić do głownej konsoli wciśnij "ctrl+a d"


En el punto 6 crea el script para que pyload se ejecute usando screen.


6. Autostart jako usługa systemowa

Tworzymy plik "pyload" w /etc/init.d/ o zawartości:

#!/bin/sh /etc/rc.common
# For OpenWRT 10.03.1 and Pyload 0.49 stable.

START=99

prefix=/opt"
PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
SESSIONNAME=pyload"
DAEMON=screen -dmS $SESSIONNAME python /mnt/hdd1/programy/pyload/pyLoadCore.py"
DAEMON_OPTS="

start() {
        if  screen -ls | grep $SESSIONNAME ; then
            echo "a screen-session of pyLoad is already running"
        else
            echo "Starting screen-session of pyLoad"
            $DAEMON $DAEMON_OPTS
        fi
          }
       
stop() {
        if  screen -ls | grep $SESSIONNAME ; then
                    echo "Stopping screen-session of pyLoad"
                    screen -r $SESSIONNAME -X quit
                    if  screen -ls | grep $SESSIONNAME ; then
                        echo "stop screen-session of pyLoad failed"
                    else
                        echo "screen-session of pyLoad stopped"
                    fi
        else
            echo "pyLoad is not running"       
        fi
        }
       
restart() {
                stop
                sleep 10
                start
          }
Nadajemy prawa wykonywania:

cd /etc/init.d/
chmod 755 pyload
aktywujemy:

/etc/init.d/pyload enable
Jezeli aktywacja się powiodła to w katalogu /etc/rc.d powstał link symboliczny o nazwie S99pyload.


i uruchamiamy:

/etc/init.d/pyload start
zobaczymy potwierdzenie

Starting screen-session of pyLoad
Podgląd konsoli z uruchomionym pyloadem tak samo jak w punkcie 5.


7. Otwarcie portów dla WebUI i ThriftBackend na firewallu

Aby dostac się do WebUI należy odblokować port 8000 edytujemy /etc/config/firewall dodając na końcu pliku:

config rule
    option name        pyLoad_WebUI
    option src         wan   
    option proto       tcp
    option dest_port   8000
    option target      ACCEPT
teraz restart firewalla:

 /etc/init.d/firewall restart
Dodatkowo aby pozwolić na dostęp zewnętrznych aplikacji jak Androidowy klien pyLoad nalezy odblokowac port 7227:

config rule
    option name       pyLoad_ThriftBackend
    option src        wan   
    option proto      tcp
    option dest_port  7227
    option target     ACCEPT
8. WebUI

Pozostaje teraz wpisac iproutera:8000 i zalogować się danymi podanymi podczas konfiguracji.


Con un poco mas de ayuda por vuestra parte creo que se puede adaptar a cualquier router.
Por cierto dejo el link de la pagina donde he encontrado el tutorial:
http://eko.one.pl/forum/viewtopic.php?id=3928
Gracias.
« Última modificación: 12-03-2014, 00:14 (Miércoles) por machiminax »

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607

Desconectado jar229

  • Moderador
  • *
  • Mensajes: 4607
Re: ¿Como puedo crear un script para apagar los leds y otro para autoiniciar pyload?
« Respuesta #17 en: 12-03-2014, 13:29 (Miércoles) »
Aquí tienes otro script posteado por francis81 para arrancar pyload: https://foro.seguridadwireless.net/openwrt/pyload-en-hg556a/msg302657/#msg302657

machiminax

  • Visitante
Re: ¿Como puedo crear un script para apagar los leds y otro para autoiniciar pyload?
« Respuesta #18 en: 12-03-2014, 17:21 (Miércoles) »
Aquí tienes otro script posteado por francis81 para arrancar pyload: https://foro.seguridadwireless.net/openwrt/pyload-en-hg556a/msg302657/#msg302657

Yo tengo este


#!/bin/sh /etc/rc.common
# Copyright (C) 2008-2010 OpenWrt.org

START=70


start(){
        python /usr/share/python/pyload/pyLoadCore.py --daemon
}

stop(){
         python /usr/share/python/pyload/pyLoadCore.py --quit
}


Lo cree con el bloc de notas como pyload.Lo subi con wnspc a init.d y aplicque chmod +x pyload desde putty.
El problema es que no se autoinicia.Solo arranca pyload si desde Luci hago click en la pestaña de start.
Que puede estar mal para que no autoarranque pero si funcione de manera manual.
Gracias.

P.D Con el script frankcis81 ni siquiera se me inicia manualmente.Gracias otra vez.



danitool

  • Visitante
Re: ¿Como puedo crear un script para apagar los leds y otro para autoiniciar pyload?
« Respuesta #19 en: 12-03-2014, 23:47 (Miércoles) »
¿Y si pruebas a poner la ruta completa de python?

Código: [Seleccionar]
#!/bin/sh /etc/rc.common
# Copyright (C) 2008-2010 OpenWrt.org

START=90


start(){
        /usr/bin/python /usr/share/python/pyload/pyLoadCore.py --daemon
}

stop(){
          /usr/bin/python /usr/share/python/pyload/pyLoadCore.py --quit
}



también con un start más tardío, ahí puse 90

edito, o también en lugar de  /usr/bin/python, prueba con /usr/bin/python2.7 ya que el otro es un enlace simbólico
« Última modificación: 12-03-2014, 23:50 (Miércoles) por danitool »