Home

Zgemma H9.2S Wake on LAN no funciona tras habilitarlo en la tarjeta de red

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
Indicar el modelo de deco/receptor que tienes.
Zgemma H9.2S

Versión de OpenSpa:
7.4.003, pero pasa al menos desde la 7.3.011

Descripción del fallo:
Tras habilitar la opción de Wake on LAN (WOL) en la tarjeta de red y pasar a reposo profundo, el deco no se queda en modo WOL, por lo que no se puede despertar desde la red.

Características especiales:
En el siguiente post aparecen los cambios que indicó @fogo que se tienen que hacer en los ficheros (/usr/lib/enigma2/python/Components/UsageConfig.py y /usr/share/enigma2/setup.xml), pero creo que sería conveniente que dichos cambios estuviesen de serie en las imágenes que lo soporten, para que el que quiera habilitarlo tan sólo deba indicarlo en los ajustes de la tarjeta de red.

En mi caso el modo WOL es necesario, ya que si dejo el deco en modo reposo no me funciona ninguno de los otros dispositivos (Raspberry Pi y Mi Box) a través de CEC y si lo dejo en reposo profundo no puedo iniciarlo cuando estoy fuera de casa para ver algo en remoto.

Se adjunta Crash-log: No

Salida del comando ethtool eth0:

image.png


Configuración de la tarjeta de red:

LAN-Settings.jpg
 
Última edición:

chiquito

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Sep 2008
322
14
0
El problema es que la funcion wake on lan no funciona fuera de tu red..
 

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
El problema es que la funcion wake on lan no funciona fuera de tu red..
Sé cómo funciona la función WOL, y cuando la utilizo desde fuera de casa lo hago a través de VPN.

El problema que indico es que cada vez que actualizo tengo que hacer las modificaciones que indico @fogo para que funcione correctamente dentro de mi red, tanto en local como a través de VPN.

Enviado desde mi MI 9 mediante Tapatalk
 

norhap

Usuario Destacado
Vip OpenSPA
5 Ene 2010
4.350
992
0
El python que modifico hace la llamada desde el setup usage, el código es simple, habilito aquellos receptores que tiene la función "fp/wol" osea aquellos receptores que tenga estos drivers habilitados para WakeOnLan pues lo habilito, en el código actual OpenSPA tal y como está no es suficiente, no se hace la llamada desde UsageConfig.py y no funciona.
 
Última edición:

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
En la 7.4.004 sigue sin habilitarse WoL aunque se marque en la tarjeta de red.

Tal y como indica @fogo, el único cambio para que funcione correctamente es cambiar en /usr/lib/enigma2/python/Components/UsageConfig.py de

Python:
    ...
    if SystemInfo["WakeOnLAN"]:
        def wakeOnLANChanged(configElement):
            if getBoxType() in ('multibox','hd61','hd60','h9twin','h9combo','h10','h9','et7000', 'et7100', 'et7500', 'gbx1', 'gbx2', 'gbx3', 'gbx3h', 'et10000', 'gbquadplus', 'gbquad', 'gb800ueplus', 'gb800seplus', 'gbultraue', 'gbultraueh', 'gbultrase', 'gbipbox', 'quadbox2400', 'mutant2400', 'et7x00', 'et8500', 'et8500s'):
                open(SystemInfo["WakeOnLAN"], "w").write(configElement.value and "on" or "off")
            else:
                open(SystemInfo["WakeOnLAN"], "w").write(configElement.value and "enable" or "disable")
        config.network.wol = ConfigYesNo(default = False)
        config.network.wol.addNotifier(wakeOnLANChanged)
a
Python:
    ...
    if SystemInfo["WakeOnLAN"]:
        def wakeOnLANChanged(configElement):
            if "fp" in SystemInfo["WakeOnLAN"]:
                open(SystemInfo["WakeOnLAN"], "w").write(configElement.value and "enable" or "disable")
            else:
                open(SystemInfo["WakeOnLAN"], "w").write(configElement.value and "on" or "off")
        config.network.wol = ConfigYesNo(default = False)
        config.network.wol.addNotifier(wakeOnLANChanged)
 
Última edición:

norhap

Usuario Destacado
Vip OpenSPA
5 Ene 2010
4.350
992
0
exacto, la condición fp es la que hay que verificar y no geboxType... y habilitar esto para el usuario decida en el setup.xml, el setup nunca se verá si el receptor no tiene driver para WOL.
 

elTorres

Aprendiz de casi todo
Amigo OpenSPA
18 Ene 2019
48
29
0
exacto, la condición fp es la que hay que verificar y no geboxType... y habilitar esto para el usuario decida en el setup.xml, el setup nunca se verá si el receptor no tiene driver para WOL.
Para la 7.4.004 sólo he introducido ese cambio, sin añadir la opción al setup.xml y me ha funcionado

Enviado desde mi MI 9 mediante Tapatalk
 

norhap

Usuario Destacado
Vip OpenSPA
5 Ene 2010
4.350
992
0
Si, si lo tienes habilitado en la tarjeta de red con eso te vale, lo del setup es para que el usuario pueda habilitarlo desde personalizar, entonces con ese código el que tenga un receptor con función WOL le saldrá en el menu personalizar, el que no lo tenga no le debería salir, no es determinante el setup, es dar una opción aparte de la configuración del dispositivo de red para habilitar o no habilitar dicha función desde ese menú, entonces añadiendo el usage config al setup.xml, un receptor sin soporte WOL, pues no debería salir en ese menú-setup activar o no activar WOL.
 

kaspita

Usuario Destacado
Vip OpenSPA
30 Ago 2008
703
196
0
En la 7.4.004 sigue sin habilitarse WoL aunque se marque en la tarjeta de red.

Tal y como indica @fogo, el único cambio para que funcione correctamente es cambiar en /usr/lib/enigma2/python/Components/UsageConfig.py de ...

exacto, la condición fp es la que hay que verificar y no geboxType... y habilitar esto para el usuario decida en el setup.xml, el setup nunca se verá si el receptor no tiene driver para WOL.

Estaba yo esta mañana probando el reposo profundo en mi vu+ solo se. He activado el wake-on-lan en el menu de red de la openspa 7.4.004 pero nada que no hay manera que despierte del reposo profundo (salvo desde el mando claro).

Con el comando ethtool eth0 me sale parecido al compi elTorres:

- Auto-negotation: on
- Supports Wake-on = ags
- Wake-on: d

La "d" en wake-on supongo que es de desactivado.
He visto este post, iba a hacer los cambios en el archivo UsageConfig.py, pero mira por donde en mi caso no se encuentra, está sí, pero con la extensión .pyo, la cual no puedo modificar. ¿Como lo habeis hecho vosotros?

graciasss
 

kaspita

Usuario Destacado
Vip OpenSPA
30 Ago 2008
703
196
0
¿"Naide" puede ayudarme, ni siquiera los dos compis que si que veo que han podido editar ellos ese archivo, pero con extensión .py? :lluvia:
 

kaspita

Usuario Destacado
Vip OpenSPA
30 Ago 2008
703
196
0
haz lo que comento en este post y olvidate de archivo pyo.
https://openspa.info/threads/wake-on-lan.48860/post-395294

Lo primero gracias por la ayuda @fogo . Lo segundo, perdon un poco, no porque sea offtopic, sino por ser otro receptor distinto al expuesto en la descripción del post.

A ver, he puesto los 2 archivos que me dijiste así a pelo, y no va.
Supongo que o bien por ser distinto deco (el mio es un vu+ solo se), o por ser de una versión distinta de Openspa (7.4.004 la que tengo ahora mismo), o por un compendio de todo ello.
Al subir esos 2 archivos (previo backup de los mios) y reinicar E2 pantalla azul con este log:

Código:
10:25:36.0051 { D }   File "/usr/lib/enigma2/python/mytest.py", line 921, in <module>
10:25:36.0057 { D }     runScreenTest()
10:25:36.0060 { D }   File "/usr/lib/enigma2/python/mytest.py", line 643, in runScreenTest
10:25:36.0066 { D }     runNextScreen(session, screensToRun)
10:25:36.0068 { D }   File "/usr/lib/enigma2/python/mytest.py", line 638, in runNextScreen
10:25:36.0073 { D }     session.openWithCallback(boundFunction(runNextScreen, session, screensToRun[1:]), screen, *args)
10:25:36.0077 { D }   File "/usr/lib/enigma2/python/mytest.py", line 368, in openWithCallback
10:25:36.0081 { D }     dlg = self.open(screen, *arguments, **kwargs)
10:25:36.0084 { D }   File "/usr/lib/enigma2/python/mytest.py", line 381, in open
10:25:36.0088 { D }     dlg = self.current_dialog = self.instantiateDialog(screen, *arguments, **kwargs)
10:25:36.0091 { D }   File "/usr/lib/enigma2/python/mytest.py", line 316, in instantiateDialog
10:25:36.0096 { D }     return self.doInstantiateDialog(screen, arguments, kwargs, self.desktop)
10:25:36.0099 { D }   File "/usr/lib/enigma2/python/mytest.py", line 338, in doInstantiateDialog
10:25:36.0103 { D }     dlg = screen(self, *arguments, **kwargs)
10:25:36.0105 { D }   File "/usr/lib/enigma2/python/Screens/InfoBar.py", line 81, in __init__
10:25:36.0118 { D }   File "tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-spzmenu/1.1+gitAUTOINC+96f7a8b2e8-r0/git/spzmenu/plugin/spzPlugins/newChannelSelection/plugin.py", line 65, in plugin.spzPlugins.newChannelSelection.plugin.nchannelSelection__init__
10:25:36.0164 { D }   File "/usr/lib/enigma2/python/mytest.py", line 316, in instantiateDialog
10:25:36.0168 { D }     return self.doInstantiateDialog(screen, arguments, kwargs, self.desktop)
10:25:36.0171 { D }   File "/usr/lib/enigma2/python/mytest.py", line 345, in doInstantiateDialog
10:25:36.0178 { D }     dlg.applySkin()
10:25:36.0180 { D }   File "/usr/lib/enigma2/python/Components/GUISkin.py", line 118, in applySkin
10:25:36.0193 { D }   File "/usr/lib/enigma2/python/Components/GUISkin.py", line 28, in createGUIScreen
10:25:36.0199 { D }   File "/usr/lib/enigma2/python/Components/GUIComponent.py", line 117, in GUIcreate
10:25:36.0206 { D }   File "/usr/lib/enigma2/python/Components/ServiceList.py", line 331, in postWidgetCreate
10:25:36.0213 { D }   File "/usr/lib/enigma2/python/Components/ServiceList.py", line 319, in setFontsize
10:25:36.0219 { D }   File "/usr/lib/enigma2/python/Components/config.py", line 1964, in __getattr__
10:25:36.0232 { D } AttributeError: progressinfo_fontsize
10:25:36.0253 {   } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-02-20 10:25:36+0100 [-] [mytest.py] quitMainloop #4
10:25:36.0279 {   } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-02-20 10:25:36+0100 [-] ------------------------------------------------------------
10:25:36.0317 [   ] enigma.cpp:405 main [MAIN] (exit code 5)

Volvemos a lo mismo, el setup.xml si que podría editarlo y añadir al mío la línea nueva que pusiste:

Código:
    <item level="1" text="Wake On LAN" description="test de prueba para wakeonlan" requires="WakeOnLAN">config.usage.wakeOnLAN</item>

Pero como mi archivo UsageConfig.pyo no puedo editarlo para añadir lo que pusiste en el .py tuyo:

Código:
if SystemInfo["WakeOnLAN"]:
        def wakeOnLANChanged(configElement):
            if "fp" in SystemInfo["WakeOnLAN"]:
                open(SystemInfo["WakeOnLAN"], "w").write(configElement.value and "enable" or "disable")
            else:
                open(SystemInfo["WakeOnLAN"], "w").write(configElement.value and "on" or "off")
        config.usage.wakeOnLAN = ConfigYesNo(default = False)
        config.usage.wakeOnLAN.addNotifier(wakeOnLANChanged)

Pues estoy en las mismas. ¿Se te ocurre a tí alguna posible solución? :cry:
 

norhap

Usuario Destacado
Vip OpenSPA
5 Ene 2010
4.350
992
0
Es que a ver, daba por entendido que tenias información de que WOL trabajaba en vu+ solo se y por eso lo estabas intentando, pero no es así, parece que en VU+ solo esta disponible en el DUO2, entonces es normal ese crash, en resumen, olvidate que en tu receptor puedas poner WOL en marcha por que por hardware no lo admite.
 

kaspita

Usuario Destacado
Vip OpenSPA
30 Ago 2008
703
196
0
Es que a ver, daba por entendido que tenias información de que WOL trabajaba en vu+ solo se y por eso lo estabas intentando, pero no es así, parece que en VU+ solo esta disponible en el DUO2, entonces es normal ese crash, en resumen, olvidate que en tu receptor puedas poner WOL en marcha por que por hardware no lo admite.

Ahh vale no lo sabía. Encontré información muy difusa por la red la verdad. Y como en el menú de la tarjeta de red pude activar esa opción de wake-on-lan, pensaba que si salía ese submenú es que si que lo permitía.
Pero si me dices que el vu+solo se, no tiene esa función pues me olvido y a otra cosa mari...


byeee
 
Última edición:

norhap

Usuario Destacado
Vip OpenSPA
5 Ene 2010
4.350
992
0
No debería salir ese menú en la tarjeta de red, si el receptor no admite una función ese menú no debe salir...entonces puede ser normal que por eso estabas confundido.
Parece ser, que WOL esta solo disponible en el Vu + Duo² y no en los otros receptores de esta marca.

pica aqui abajo para verlo.

Info WOL Vu+
 

kaspita

Usuario Destacado
Vip OpenSPA
30 Ago 2008
703
196
0
No debería salir ese menú en la tarjeta de red, si el receptor no admite una función ese menú no debe salir...entonces puede ser normal que por eso estabas confundido.
Parece ser, que WOL esta solo disponible en el Vu + Duo² y no en los otros receptores de esta marca.

pica aqui abajo para verlo.
Info WOL Vu+

Aquí me salía dicha opción para activarla:

8yHbHvb.jpg


Pero bueno, he leido la wiki que me has enlazado, así que, mi goso en un poso ñik: Me iba a venir bien para unas cosillas, pero va, me quedo como estoy jeje

gracias por todo :birra:
 

kaspita

Usuario Destacado
Vip OpenSPA
30 Ago 2008
703
196
0
No debería salir ese menú en la tarjeta de red, si el receptor no admite una función ese menú no debe salir...entonces puede ser normal que por eso estabas confundido.
Parece ser, que WOL esta solo disponible en el Vu + Duo² y no en los otros receptores de esta marca.

pica aqui abajo para verlo.
Info WOL Vu+

Te invoco fogo jojojo

Al final me he comprado una regleta inteligente Wifi de 4 enchufes y 3 usb amol En ella programo que se encienda el enchufe donde tengo el Vu+ a una hora determinada todos los días. Así se enciende el aparato, el EPG lo tengo programado para que cinco minutos despues de ese encendido lo descargue, y finalmente en la regleta he programado tambien el "desenchufado" media hora despues. Una maravilla vaya, asi llego a casa con el deco con los deberes hechos y apagaito xD

Pero a lo que iba, haciendo el otro día pruebas con el VU+ Solo SE (antes de comprarme la regleta vaya, (ya no me hace falta hacer más ya que me las apaño con lo que te he puesto arriba)) pues descubrí que si que se enciende del REPOSO PROFUNDO si configuro la descarga de EPG en una hora en la que esté en dicho reposo profundo.
Es decir:
- El deco lo tenia programado para que se apagara a las 1:30 de la madrugada todos los días
- El EPG en la Openspa lo tenia puesto que a las 7:30 de la mañana lo descargase.

Pues bien, haciendo eso, comprobé varios días que el deco se despertaba del reposo profundo 5 minutos antes de la hora que le puse (7:25), luego descargaba su EPG y volví a ponerse el solito en reposo profundo una vez descargado el EPG.

Sin embargo, si le ponía un temporizador para que se despertara del reposo profundo a X hora no le hacía ni caso. Vamos, que seguía tan pancho en ese estado de reposo permanente

¿Como se come eso? o_O Se despertaba solo y unicamente gracias a que estaba programado en el EPG. Añadiendo el despertar en un temporizador de alimentación pasaba olimpicamente de él.

Es ya mas curiosidad que otra cosa el saber el motivo xD ¿Eso es función wake-on-lan ó epgWake-on-lan? :DDD
 

norhap

Usuario Destacado
Vip OpenSPA
5 Ene 2010
4.350
992
0
pon una captura de como configuras el temporizador de alimentación para despertar.