Lo hice y lo entendí

El blog de Vicente Navarro
03 jun

Wake on LAN

Hoy en día hay mucha gente que tiene en casa un ordenador conectado a Internet casi siempre encendido y al que se puede acceder desde cualquier lugar, normalmente por SSH en sistemas UNIX (aunque también hay servidores SSH para sistemas Windows, son menos frecuentes, porque las posibilidades que tenemos en la shell de Windows son muy limitadas) y por VNC o RDP en Windows. En muchos casos, es bastante normal que además de ese ordenador siempre encendido se tenga algún otro que sólo se enciende cuando se está en casa.

Pero hay veces que, estando lejos, nos puede interesar encender ese otro ordenador de forma remota porque necesitamos un fichero que tenemos en él o necesitamos hacer algo en él. Para esas situaciones, lo mejor es tener el Wake on LAN (WoL) preparado en esa máquina y las utilidades necesarias para activarlo en la máquina que no solemos apagar.

El WoL es posible en los PCs actuales gracias a las fuentes de alimentación ATX que, cuando el ordenador está apagado, siguen alimentando a ciertas partes de la placa base permitiendo asimismo el Wake on Ring y la posibilidad de arancar el PC sólo pulsando una tecla del teclado o que se encienda a una determinada hora.

Requisitos Hardware

Para que una tarjeta de red pueda hacer un WoL, es necesario que la tarjeta bien soporte el estándar PCI 2.2, bien sea unida con un cable a un conector específico de la placa base:

NIC con WOL

En las placas base más modernas, con uno o más interfaces de red ya integrados en la propia placa, no necesitamos hacer nada a nivel de hardware para que el WoL funcione.

Configurar la BIOS

Por tanto, el primer paso tras verificar que el hardware es apto, es configurar la BIOS para que permita que dispositivos PCI despierten al ordenador. Las opciones tienen el siguiente aspecto en las BIOS, y tenemos que permitir el Power On by PCI Devices o el Power On by PCI Cards:

BIOS Power 1
BIOS Power 2

Configurar la tarjeta de red en el sistema operativo

A continuación, es necesario decirle a la tarjeta de red que cuando apaguemos el ordenador, ella se ha de quedar en espera de una señal de WoL. Esto lo hacemos a través del driver, tanto en Windows como en Linux.

En Windows, accedemos al panel de propiedades del interfaz de red en cuestión:

Propiedades LAN Win

En él le damos al botón de Configurar la tarjeta y nos aparece un nuevo diálogo con los parámetros de la tarjeta que el driver nos deja cambiar. Estos parámetros son diferentes y tienen distinto nombre según el fabricante, pero no nos es difícil localizar al encargado del WoL:

Propiedades LAN Win - WoL

En Linux, para hacer esto mismo, la herramienta más indicada es el ethtool. Este comando nos permite mostrar o cambiar parámetros de la mayoría de los drivers de las tarjetas Ethernet incluidos en kernels >=2.4.

# ethtool eth1
Settings for eth1:
        Supported ports: [ MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 9
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes

Para cambiar los parámetros de WoL, tenemos varias opciones que podemos consultar en el man ethtool, en función de bajo qué circunstancias queremos que el PC despierte:

       wol p|u|m|b|a|g|s|d...
              Set  Wake-on-LAN  options.  Not all devices support this.  The argument to this
              option is a string of characters specifying which options to enable.
              p  Wake on phy activity
              u  Wake on unicast messages
              m  Wake on multicast messages
              b  Wake on broadcast messages
              a  Wake on ARP
              g  Wake on MagicPacket(tm)
              s  Enable SecureOn(tm) password for MagicPacket(tm)
              d  Disable (wake on nothing).  This option clears all previous options.

Lo mejor para asegurarnos de que el PC sólo se despertará cuando nosotros queramos y no por otro tipo de tráfico que podría aparecer en la red, es elegir que despierte con un MagicPacket, que es una trama ethernet que comienza con FF FF FF FF FF FF y sigue con 16 repeticiones de la dirección MAC. Si la MAC fuera 01:02:03:04:05:06, el paquete mágico contendría en el campo de datos:

FFFFFFFFFFFF010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506

Por tanto, activamos el WoL para MagicPacket:

# ethtool -s eth1 wol g

# ethtool eth1
Settings for eth1:
        Supported ports: [ MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 9
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: g
        Link detected: yes

Antes de apagar el PC para probar el WoL, es necesario anotar la dirección MAC para poder usarla en el sistema donde vamos a lanzar la petición. Para ello, desde la línea de comandos, en Windows podemos ejecutar ipconfig /all, comando que, entre otras cosas, nos mostrará para todos los interfaces la Physical Address. En Linux podemos ejecutar ifconfig ethX, que también nos mostrará, entre otras cosas, la HWaddr para el interfaz elegido.

Es importante tener en cuenta que si la tarjeta no se queda configurada para el WoL, no funcionará. Esto puede ocurrir en la mayoría de los casos en los que apaguemos el PC de forma incorrecta (por botonazo).

En envío del paquete mágico

Finalmente, tras dejar el PC correctamente apagado, para despertarlo desde otro PC necesitaremos alguna utilidad que mande el paquete mágico. El paquete se puede encapsular en otros protocolos, como UDP/IP, lo que permite mayor interoperabilidad entre sistemas operativos y la posibilidad de enviarlo sin ser root, ya que la mayoría de sistemas no permiten enviar paquetes raw a usuarios normales. Esto podría permitir también que el paquete atravesara redes y routers, pero es más sencillo hacerlo funcionar si ambos PCs están en la misma red ethernet.

El wol – Wake On LAN client es un programa que funciona bien tanto en Linux como en Windows. Para ambas plataformas es un programa para la línea de comandos. La versión de Windows ha sido compilada usando Cygwin, por lo que necesita archivos adicionales como el cygwin1.dll, pero ya vienen incluidos.

En la Wikipedia, Wake-on-LAN programs, Windows aparece una buena lista de programas que mandan el paquete mágico desde el entorno gráfico. Quizás uno de los más conocidos sea el Magic Packet Sender (necesita el .NET Framework de Microsoft).

Magic Packet Sender

En Debian tenemos dos utilidades ya empaquetadas a tiro de apt-get, el wakeonlan y el etherwake:

# etherwake -u
usage: ether-wake [-i <ifname>] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55

        This program generates and transmits a Wake-On-LAN (WOL)
        "Magic Packet", used for restarting machines that have been
        soft-powered-down (ACPI D3-warm state).
        It currently generates the standard AMD Magic Packet format, with
        an optional password appended.

        The single required parameter is the Ethernet MAC (station) address
        of the machine to wake or a host ID with known NSS 'ethers' entry.
        The MAC address may be found with the 'arp' program while the target
        machine is awake.

        Options:
                -b      Send wake-up packet to the broadcast address.
                -D      Increase the debug level.
                -i ifname       Use interface IFNAME instead of the default 'eth0'.
                -p <pw>         Append the four or six byte password PW to the packet.
                                        A password is only required for a few adapter types.
                                        The password may be specified in ethernet hex format
                                        or dotted decimal (Internet address)
                -p 00:22:44:66:88:aa
                -p 192.168.1.1

# wakeonlan
Usage
    wakeonlan [-h] [-v] [-i IP_address] [-p port] [-f file] [[hardware_address] ...]

Options
    -h
        this information
    -v
        displays the script version
    -i ip_address
        set the destination IP address
        default: 255.255.255.255 (the limited broadcast address)
    -p port
        set the destination port
        default: 9 (the discard port)
    -f file
        uses file as a source of hardware addresses

See also
    wakeonlan(1)

Si ejecutamos por ejemplo etherwake 00:11:d8:c4:59:5e sin más opciones mientras en el PC que debería estar apagado ejecutamos un tcpdump vemos el paquete llega en forma de paquete ethernet raw:

12:17:01.636887 00:50:63:b5:0c:32 (oui Unknown) > 00:11:d8:c4:59:5e (oui Unknown), ethertype Unknown (0x0842), length 116:
        0x0000:  ffff ffff ffff 0011 d8c4 595e 0011 d8c4  ..........Y^....
        0x0010:  595e 0011 d8c4 595e 0011 d8c4 595e 0011  Y^....Y^....Y^..
        0x0020:  d8c4 595e 0011 d8c4 595e 0011 d8c4 595e  ..Y^....Y^....Y^
        0x0030:  0011 d8c4 595e 0011 d8c4 595e 0011 d8c4  ....Y^....Y^....
        0x0040:  595e 0011 d8c4 595e 0011 d8c4 595e 0011  Y^....Y^....Y^..
        0x0050:  d8c4

Sin embargo, con el wakeonlan, lo que vemos es un paquete UDP al puerto de discard (9)

# wakeonlan 00:11:D8:C4:59:5E
Sending magic packet to 255.255.255.255:9 with 00:11:D8:C4:59:5E

12:19:33.017278 IP hostorigen.2482 > 255.255.255.255.discard: UDP, length 102

El etherwake es un programa en C de apenas 392 líneas cuyo estudio nos puede dar información interesante sobre el tema: ether-wake.c (v1.09)

Para finalizar

Resumen de los que necesitamos para que el WoL funcione:

  • Que el hardware lo permita
  • Configurar la BIOS
  • Configurar el interfaz de red para que acepte las peticiones de WoL
  • Dejar el PC correctamete apagado
  • Enviar la petición desde otro sistema

Curiosidades relacionadas:

Actualización 7/6/07: Sobre el WoL a través de routers domésticos. Ejemplo con un Zyxel 660HW.

Con routers profesionales el tema de dejar pasar el paquete del WoL se puede solucionar de diversas maneras, ya que tenemos muchas posibilidades de configuración y nos podemos ver en muchos escenarios distintos.

Con los routers caseros, en los que normalmente el router tendrá la IP pública de Internet y dentro tendremos una red privada, típicamente del tipo 192.168.X.X hacia la que el router hará NAT, si queremos mandar el paquete WoL encapsulado en UDP hacia una de las máquinas internas, tenemos dos problemas:

  • Que el router mande el paquete al equipo adecuado

    Simplemente un tema de mapeo de puertos UDP a IPs internas, algo que todos los routers domésticos soportan.

  • Que el router sepa mandar el paquete estando el equipo que ha de recibirlo apagado.

    El problema es que si el router, tras el mapeo de puertos, decide que ha de mandarle el paquete a la IP 192.168.1.22 por ejemplo, lo primero que hace es una petición ARP para averiguar la dirección MAC del sistema al que ha de mandar el paquete. Como el sistema está apagado, no puede responder a la petición y, por tanto, el router no envía el paquete por la red. Para salvar este obstáculo tenemos dos posibilidades:

    1. Tratar de introducir una entrada estática en la tabla ARP del router en cuestión
    2. Tratar de conseguir que el router mande un paquete broadcast por la red.

Si a modo de ejemplo nos centramos en el Zyxel Prestige 660HW-61, accediendo al interfaz de línea de comandos (telnet al router, seleccionar 24, seleccionar 8), podemos poner:

Router> ip arp add 192.168.1.22 ether 00:11:D8:C4:59:5E
                                                   
Router> ip arp status
received 4111 badtype 0 bogus addr 0 reqst in 3925 replies 28 reqst out 81
cache hit 11968503 (98%), cache miss 237220 (1%)
IP-addr         Type           Time  Addr              stat iface
192.168.1.22    10 Mb Ethernet 0     00:11:d8:c4:59:5e 43   NULL
192.168.1.24    10 Mb Ethernet 300   00:32:64:a1:ea:28 41   enif0
192.168.1.255   10 Mb Ethernet 0     ff:ff:ff:ff:ff:ff 43   NULL

y a continuación, tenemos que configurar en la tabla de mapeos NAT del router el puerto que queremos usar para el paquete UDP del WoL:

WoL NAT Unicast Zyxel

Ahora con un simple wakeonlan desde una máquina de Internet externa a la red despertaríamos a la máquina en cuestión. El tener configurada en el router la resolución dinámica de la IP pública que el ISP le ha dado al router (con DynDNS o con cualquier otro proveedor de este tipo de servicios) nos ayuda muchísimo para no necesitar saber siempre dicha IP pública en el caso de que sea dinámica:

# wakeonlan -i pruebawol.dyndns.org -p 6789 00:11:D8:C4:59:5E
Sending magic packet to pruebawol.dyndns.org:6789 with 00:11:D8:C4:59:5E

Si quisiéramos ahorrarnos la molestia de alterar la tabla de ARP del router manualmente, en este router en concreto funciona el poner una IP de broadcast en la tabla de mapeo de NAT:

WoL NAT Broadcast Zyxel

Tras esto, el mismo comando wakeonlan de antes despertaría la máquina sin necesidad de ningún cambio en el interfaz de línea de comandos del router.

Para finalizar la actualización, comentar que cuando estaba buscando qué comando usar para alterar la tabla ARP del router, he encontrado este excelente tutorial en ADSLZone: WAKE ON LAN/WAN (Encender remotamente un ordenador) (tienen más tutoriales sobre el 660HW), que además de aportar muchos detalles muy interesantes comenta cómo modificar el autoexec.net para que la entrada de la tabla ARP permanezca incluso después de reiniciar el router. En cualquier caso, creo que la opción de la IP de broadcast es mucho más sencilla, aunque mucho menos instructiva también.

Entradas relacionadas

76 Comentarios a “Wake on LAN”

  • Iván dice:

    Me has quitado el artículo ;-) . Llevo algún tiempo queriendo meterme con esto. De hecho, cuando monté mi nuevo ordenador y reutilizé el antiguo para servidor de backup lo primero que le hice cuando lo abrí fue cambiar la tarjeta de red por una con el cablecito para el wol.
    En mi caso puedo mandar los “paquetes mágicos” desde el linksys con el firmware dd-wrt, aunque tengo que probarlo porque la última vez que lo miré fue con poco tiempo y me funcionó una sola vez.

    Artículo muy bueno.

    Saludos, Iván.

  • Iván ¡Muchas gracias! Ya siento haberte robado la idea ;-) Pero bueno, te animo a escribirlo igualmente. ¡Seguro que cuentas cosas en las que yo ni había pensado! Por ejemplo, lo de hacerlo desde el router…

    Con un router con un firmware como el tuyo que te deje hacer lo que quieras, las posibilidades de esto son ilimitadas. Imagínate: El router ejecuta un script periódicamente que verifica si la máquina está arriba, y si no lo está intenta arrancarla con el WoL y si no lo consigue, puede intentar arrancar otro PC de casa que tenga configurados los mismos servicios. Sólo de pensarlo me emociono… ¿a que me tocará comprarme un router que permita un firmware de estos abiertos? ;-) Lo malo es que como tenga que decidir cuál usando Internet me tiro años 8O

  • locualo dice:

    Genial! Muchas gracias! Llevaba algún tiempo pensando en que tenía que buscar la manera de hacerlo y he llegado aquí sin querer. Me ha sido muy útil, excelente artículo.

  • locualo Muchas gracias a ti por la visita :-)

  • makeio dice:

    Muchas gracias por el documento es muy interesante y hacía tiempo que necesitaba información detallada sobre el tema. He estado leyendo sobre el tema y (corrigeme si no es cierto) que muchos de los problemas cuando se quiere implementar un WOL es por el ROUTER ya que muchos de los “convecionales” no soportan el tráfico de peticiones WOL. Feliciadades por el BLOG.

    Makeio

  • Iván dice:

    Estaba probando ahora en el servidor de backup (Debian Etch) y me ha funcionado bien. El problema es que cuando ha arrancado la máquina debido al “paquete mágico”, he mirado de nuevo las opciones de la tarjeta de red y tenía el wol a “d”.
    La máquina ha apagado bien (con halt), pero parece que no guarda la configuración correctamente. Sabes de qué puede ser?.
    Si no, a las malas, añado un script de arranca que por defecto me active el wol.

    Saludos, Iván.

  • makeio ¡Muchas gracias! Sí, el router puede dar problemas para dejar pasar el paquete mágico UDP, pero no debería de ser imposible, sólo es necesario configurarlo adecuadamente, aunque seguramente habrá casos en que no sea posible.

    Iván Lo que comentas es totalmente normal. Cuando configuras la tarjeta para aceptar el WoL, simplemente estás escribiendo en un registro de la tarjeta. Al apagar y volver a arrancar ese registro se resetea y es necesario volver a configurar la tarjeta para que la siguiente vez vuelva a aceptar el WoL.

    Por eso el WoL no está perfeccionado del todo: Si nos dejamos el PC preparado para WoL y se va la luz de la casa, o si desenchufamos el PC y lo volvemos a enchufar, el WoL no funcionará, porque la tarjeta habrá perdido la alimentación y, por tanto, su configuración.

  • abaca dice:

    muy interesante; por cierto, una curiosidad, ¿cómo has hecho las capturas de los pantallazos de la BIOS?

  • abaca Gracias… Jeje Son capturas de manuales de placas base ;-)

  • Iván dice:

    Gracias por la aclaración, eso me pasa porque la tarjeta de red es “externa” con el cablecito a la placa. En mi sobremesa como la tiene integrada y está habilitado en la bios el soporte wol con el ethtool me muestra directamente el wake on “g”.

    De nuevo gracias por el post tan interesante.

    Saludos, Iván.

  • Iván Gracias por el comentario. ¡Qué interesante lo que dices! En mi Asus A8N-SLI con dos interfaces de red integrados (uno NForce y otro Marvell) no hay tal opción en la BIOS y al volver a arrancar la máquina está otra vez en “d”. ¿Será algo específico de tu ASRock ConRoeXFire-eSATA2? Me he bajado el manual de tu placa y no acabo de encontrar nada específico sobre habilitar el WoL, sólo lo típico de PCI Devices Power On. ¿Hay algo más?

  • Iván dice:

    Yo no hice nada, simplemente active el wake on lan en la bios y cuando probé el otro día el ethtool vi que estaba a “g”.

    Saludos, Iván.

  • jorpaso dice:

    Por cierto, hay routers para el mercado doméstico que te permiten hacer WOL de una forma mucho más “user friendly”. Simplemente tienes que entrar en la página de administración del router y poner la dirección IP en el campo apropiado y envía el magic packet sin más complicación a esa IP. El Zyxel de telefónica es, digamos, un poco burdo en este sentido.

  • JANE dice:

    en propiedades de NIC PCI
    opciones avanzadas : solo me aparecen : direcciones de red, tamaño de búfer de recepcion, velocidad del vinculo modo duplex..

  • nightrain dice:

    Hola, enhorabuena por el artículo. Quería plantear una duda a ver si alguien me sabe ayudar.

    Yo tengo un router linksys wrt54gs v4. He conseguido que me funcione el wake on lan desde dentro de la red pero no desde internet. He utilizado el método del broadcast; como el router no permite redirigir un puerto a la IP 192.168.1.255 he cambiado la máscara de red a 255.255.255.128 con lo que la dirección de broadcast pasa a ser 192.168.1.127; a esta IP si me permite redirigir un puerto y lo he hecho con el 9 UDP. Hasta aquí todo bien, ya digo que funciona desde dentro de la red, pero no desde fuera. La única razón que se me ocurre es que tengo cable (ONO) y por lo tanto un cablemodem. En el router tuve que clonar la mac de la tarjeta de red del equipo que tenía instalado originalmente cuando me instalaron el cablemodem, de modo que el cablemodem lo reconozca como el equipo al que debe dar servicio. ¿ Puede ser esta la razón por la que no funcione ? ¿ Puede ser que el router se ‘quede’ con el paquete al reconocer su propia MAC en él?

    Gracias.

  • jorpaso Pero en ese caso, si lo quieres hacer desde el lado de Internet, te toca permitir el acceso al interfaz de administración desde Internet, ¿no?

    JANE Me temo que hay tarjetas o drivers que no permiten el WoL.

    nightrain Muchas gracias. Yo usaría el tcpdump o el wireshark en el PC para mirar si el paquete de WoL pasa el cablemodem y luego si pasa el router. Si no llega, habría que mirar la configuración de ambos para ver qué puede estar pasando para que el paquete no sea retransmitido.

  • DaniFP dice:

    ¡Impresionante documento! Muchas gracias por el trabajo, me va a venir muy bien.. :-)

  • DaniFP ¡Muchas gracias!

  • jorpaso dice:

    Efectivamente, tienes que habilitar el acceso remoto a la página de administración del router. Hay métodos para que esto sea seguro, como por ejemplo restringir la IP remota o hacerlo mediante un túnel pptp o ipsec.

    saludos!

  • jose alberto dice:

    para el router d-link dsl-524 , Primero definir la ip a despertar como estatica en home-> dhcp. Luego, para darle acceso desde fuera, pulsar en la pestaña advanced y seleccionar la opcion filters. Dentro de esta, seleccionar inbound filter y en destiantion ip, la ip local de la maquina que quereis despertar y el puerto por el que vais a realizar la petición (normalmente UDP 7).

  • jorpaso y jose alberto ¡Gracias por mejorar la entrada con vuestras aportaciones!

  • FACIAN dice:

    Pero como hago en WOL a traves de un cable modem.

    Gracias.

  • FACIAN Tienes que conseguir que el paquete de WOL llegue a la máquina a despertar. La forma de hacerlo es específico de tu router, cablemodem o lo que tengas. Me temo que no te puedo ayudar más.

  • Gonzo345 dice:

    Muchas gracias por el tutorial, me viene genial para saber algo más sobre el tema. Mi portátil, por ejemplo, tampoco me deja hacer WoL, pero sí me he fijado que sigue dando señal al punto de acceso. Aunque no me deje configurarlo como tal, sigo creyendo que de alguna manera u otra se tiene que poder.

    ¡Saludos y gracias!

  • Gonzo345 ¡Me alegro de que te haya resultado útil!

  • AlBundy dice:

    Una duda off-topic:

    ¿cómo has capturado los pantallazos de la BIOS?

    Gracias

  • AlBundy No te has leído los comentarios anteriores, ¿verdad? ;-)

    No son capturas de la BIOS, están sacadas del manual de la placa base. No hay forma sencilla de hacer capturas de la BIOS. Incluso páginas muy especializadas de análisis de hardware suelen hacer fotos directamente a la pantalla.

  • Buenos Dias..
    He leido todo el foro y me parece de mucha pero mucha ayuda.. Muchas gracias por el aporte.
    Ahora viene la duda… Tengo un router Netgear FR114P y aun no consigo despertar una maquina desde la internet. He hecho la prueba local desde un pc de la misma red y todo funciona perfecto. Luego he conseguido tambien poner en las reglas de entrada del router abrir los puertos 7 a 9 para broadcast, osea a la ip 192.168.0.255 lo cual no fue facil ya que tuve que desabilitar el scripting del internet explorer para que me dejara ponerlo ya que siempre me decia que poner esa ip no era posible. Luego cuando mando el MagicPacket desde algunos de los programas que lo hacen, no prende el PC. sera que estoy haciendo algo mal ?
    Gracias

  • Juan Sebastian Gil Si desde la red local te funciona, me temo que es el router el que está creando dificultades. Te sugiero que tomes una traza de red (tcpdump, WireShark) en el PC destino a ver si el paquete mágico llega o no llega. Si no llegara, evidentemente, sería cosa del router que lo estaría filtrando.

    Me temo que una vez que se determina que el router es la fuente del problema, ahí cada router es un mundo, así que no te puedo darte consejos al respecto…

  • Bubi dice:

    Hola, en primer lugar felicitarte por tu bloc.
    Me gustaría saber como encender 10 ordenadores a la vez,con el Wake on Lan . Gracias

  • Gotenks dice:

    Esto tambien aplica para tarjetas red inalambricas? De ser asi que marca o modelos soportan, pk en la mia no veo esa opcion.

  • @Gotenks No creo que se pueda. Para que el WoL funciona la tarjeta tiene que permanecer alimentada mientras el PC está apagado, y no creo que la alimentación en standby sea suficiente para mantener el receptor de señales de radio activo. Además, no se encuentran referencias en Internet sobre que pueda ser posible.

  • Gotenks dice:

    Ahhh, no sabia, gracias por esa, ahora a comprar una nueva tarjeta ethernet que si soporte wol.

  • jac dice:

    una pregunta en .net hay manera de programar el WOL
    lineas de programacion o funciones es una pregunta y por favor orienteme.

  • @jac Me temo que no puedo ayudarte.

  • Mag dice:

    Hola a todos , ante todo felicitar por el excelente tutorial al autor , probado i funcionando a la perfeción , despues de algunos dias
    con problemas en la configuracion autoexec.net tras comprobar que despues de un apagado del router ,el invento se caia , solucionado ya
    , se me plantea otro inconveniente , pues cuando reseteo el router , este automaticamente enciende el pc al que esta linqueado con Wol
    sabria alguien solucionar esto ?

    Un Saludo i gracias anticipadas ¡

  • @Mag Es posible que tengas configurado el WoL del PC para que arranque con cualquier actividad de la red, no sólo con el paquete mágico. Eso causaría que al reiniciar el router, el PC arrancara.

  • Kron dice:

    Que buenisimo esta deberas que mis mas sinceras felicitaciones por retomar este tema
    lo hice lo entendi y lo probe!!!!!!!!!

  • wario dice:

    Excelente el tuto, me funciono excelente, parece mentira que sea tan sencillo, claro gracias a tu ayuda.
    oye por cierto mensionas que es necesario apagar de forma correcta la PC para que funcione el WOL, y me encontre con algo curioso, es que si apago desde las X(Ubuntu, Sistema->Apagar), se desactiva el wakeonlan, pero si lo apago con halt se mantiene, extraño no?

  • @wario ¡Gracias! Lo que me comentas me parece bastante extraño, sí. Habría que ver cómo hace el apagado el comando halt y cómo lo hace el apagado de Ubuntu… Así en frío no se me ocurre nada.

  • Roberto dice:

    Esta mañana he leido el articulo sobre WOL y me he decido a probarlo. La verdad es que ya tenia ganas y un dia por otro nunca lo habia hecho.

    Por primera vez he visto como funciona y la verdad es que es una pasada.
    Ademas yo tengo uno de esos router con linux, concretamente DD-WRT, y me permiten hacer WOL directamente desde el.

    Solo me gustaria hacer un apunte que impidio que me funcionase a la primera y que puede que le este dando algun que otro quebradero de cabeza a alguien.

    Cuando intente encender el equipo las primeras veces y tras comprobar que todo estaba correctamente habilitado en la BIOS, etc, el equipo no se necendia debido al puerto UDP.
    En mi caso el puerto UDP en el que la tarjeta queda a la escucha no es el 9 sino el 32. No me habia dado cuenta en los primeros intentos desde Windows, pero al hacerlo desde Linux, con el comando ethtool observe que el puerto que tenia habilitado mi tarjeta de red era el 32 y no el 9.

    Conecte al router, puerto 32 y voila PC iniciando.

    Gracias por articulos que nos ayudan a todos Super Coco.

  • johernan dice:

    Un problemilla.
    Si apago el ordenador desde windows todo funciona, pero si lo apago desde linux no. La bios parece que esta bién (en otro caso no funcionaria desde windows), y el ethtool

    Settings for eth0:
            Supported ports: [ TP ]
            Supported link modes:   10baseT/Half 10baseT/Full 
                                    100baseT/Half 100baseT/Full 
                                    1000baseT/Full 
            Supports auto-negotiation: Yes
            Advertised link modes:  10baseT/Half 10baseT/Full 
                                    100baseT/Half 100baseT/Full 
                                    1000baseT/Full 
            Advertised auto-negotiation: Yes
            Speed: 100Mb/s
            Duplex: Full
            Port: Twisted Pair
            PHYAD: 0
            Transceiver: internal
            Auto-negotiation: on
            Supports Wake-on: pumbg
            Wake-on: g
            Current message level: 0x00000033 (51)
            Link detected: yes

    pero se empeña en no funcionar.

  • @Roberto ¡Muchas gracias a ti por tu colaboración!

    @johernan No sabría decirte cuál es el problema en tu caso en concreto. ¿Has probado con otra utilidad para enviar el paquete mágico?

  • Josu dice:

    A mi me pasa lo mismo que a johernan y mi salida de ethtool es idéntica a la suya.

    ¿Alguien ha descubierto el porqué?

  • txiki_txaik dice:

    Despues de leer todo,por cierto muy bueno,me queda una pequeña duda, corrigeme si me equivoco,pero por lo que he entendido
    esta forma de arranque remoto no funciona si el ordenado que quiero arrancar se ha apagado solo, es decir que se
    ha apagado por un corte de luz. ¿tienes alguna sugerencia para árrancar el equipo cuando se restablezca la luz? el equipo tiene acceso a internet.Muchas gracias

  • @txiki_txaik Para eso, te sugiero que leas la sección “Los cortes de corriente” de Hosting casero HOWTO.

  • txiki_txaik dice:

    Gracias pero desgraciadamente mi placa no tiene esas posibilidades.

  • minar2 dice:

    ise todo lo que se explica nateriormente para deespertar mi PC desde la red y no me deja encenderla

  • minar2 dice:

    en mi caso la targeta es ¨Intel(R) PRO/1000 PM Network Connection¨
    diganme si esta permite ser encendida desde la red

  • javillarr dice:

    Buenas, que tal… Al igual que muchos doy las gracias por el tema y tambien quisiera hacer un consulta a ver si me pueden ayudar.

    He configurado el bios y la trjeta de red, y todo esta bien a la hora de hacer el encendido. El poblema esta a la hora de apagar l computadora, me voi a inicio/apagar, pero cuando la pc supuestamente se apaga, olo pasan como 5 segundos y se vuelve a encender nuevamente (me esta funcionando como si le diera la orden de reiniciar). A alguien le ha dado ete problema. Hay que hacer algo mas de lo que se explica en este manual???

    Agradeceria su ayuda…

  • @javillarr Se me ocurren varias cosas, pero lo más seguro es que sea:

    - Que el “Wake on Lan” esté configurado para que el ordenador se encienda cuando llega cualquier paquete , no sólo uno específico. Eso causaría que cualquier paquete que mandara el router generando actividad en la red despertara al ordenador.

    Si el problema te pasara incluso sin habilitar el WOL, también podría ser:

    - Que el interruptor esté roto y aunque lo apagues se encienda al poco tiempo (igual te interesa echarle un vistazo a la entrada Fuentes de alimentación ATX: Arrancar una fuente fuera de la caja). En estos casos, para no tener que cambiar la caja, a veces se usa el interruptor de “reset” para encender el ordenador.

    - Que la fuente de alimentación esté averiada. Es fácil probar con una nueva.

    - Que la placa base o la tarjeta de red estén averiadas.

  • javillarr dice:

    Gracias por tu pronta respuesta Super Coco. Me inclino mas por lo referente al ruteador, ya que no solo me sucede con una pc, he provado con varias y el problema es el mismo, no se apaga. Tienes alguna idea como resolver eso, ya he configurado l tarjeta de red para que se encienda a traves del paquete magico, pero sigue en las mismas.

    AGRADECERIA TODA LA AYUDA POSIBLE…….

    Ademas he revisado la configuracion de la trjeta de red y no me salen tantas opciones como las que colocan esn este manual. Estoy trabajando con una tarjeta de red REALTEK incluida en la placa madre, y la misma es un biostocket 478.

  • @javillarr Apaga el router (y cualquier dispositivo conectado a la red) y después apaga el ordenador. Comprueba que el PC no se enciende inmediatamente. A continuación, arranca el router. Si el PC se enciende es porque tienes la tarjeta configurada para que se arranque con cualquier paquete. Si es así y no ves cómo configurarlo de otra forma, me temo que no puedo ayudarte más.

  • Me parece una pweb muy chevere

  • alan dice:

    hola…buenas tardes.

    alguien sabria si la utilizacion de WOL me podria traer como consecuencia que se me reinicie la maquina???

    porque me paso en una terminal,lo desactive y continuo funcionando correctamente.
    y ahora me esta pasando en otra..

    gracias

  • katerine dice:

    Buenas tardes.

    Los computadores portátiles pueden encenderse remotamente? lo pregunto porque he tratado de hacerlo, pero no he podido encontrar la opción en el setup que me lo permita.

    Muchas gracias

  • @katerine Yo no he visto nunca un portátil en el que el WoL funcione. Lo cual no quiere decir que no existan… ¿Quién sabe?

  • Arturoli dice:

    Gracias por el tutorial.

    Me ha gustado mucho; muy bien explicado, documentado, ilustrado, claro y completo. Para Matrícula de Honor.

    Saludos,

  • McPegasus dice:

    >>> @katerine Yo no he visto nunca un portátil en el que el WoL funcione. Lo cual no quiere decir que no existan… ¿Quién sabe?

    Hola,

    Acabo de hacerlo con un Dell Latitude 110L.

  • @McPegasus Pues muchísimas gracias por el apunte, muy bueno es saberlo :-)

  • Miguel A. dice:

    Me funciona wake on lan dentro de la red local, pero no desde Internet con el router Zyxel Prestige 660HW-61.

    Tengo el router en monopuesto y conectado a un servidor “Ubuntu Server” mediante pppoe de tal forma que es este el que hacer router y todo lo demás.

    En este servidor tengo 3 tarjetas de red eth0 eth1 y eth2. Las dos últimas pertenecen a dos redes locales distintas y ppp0 está configurado bajo eth0 para conectándose punto a punto con el Zyxel.

    Si hago un ifconfig veo la mac de eth0, eth1 y eth2. En el caso de eth0 no tiene ip. Y para ppp0 está la ip pública dinámica y luego aparece la ip 192.168.153.0 p-t-p.

    Siguiendo este manual he configurado el router poniendo en SUA NAT el puerto 6489 con la IP de broadcast de la eth1 que es con la que me ha funcionado desde la red local, pero no funciona desde Internet.

    Pongo wakeonlna -i dominio.no-ip.org -p 6789 mac de eth0 y no hace nada.

    ¿Qué tendría que hacer para que funcione, no lo entiendo?

  • @Miguel A. Te sugiero que tomes trazas de red en tu servidor (por ejemplo, con tcpdump o con wireshark) para ver si cuando envías el paquete desde Internet, éste se ve en la máquina. Así podrás ver si es que el router no está pasando el paquete a la red interna o si es que el servidor lo recibe pero no le hace caso. Según sea una cosa u otra, tendrás que enfocar el problema de distinta forma.

    De todas formas, yo mi ejemplo lo puse con el router configurado en multiusuario. No sabría decirte qué habría que cambiar tal y como lo tienes tú.

  • Miguel A. dice:

    Si en el servidor Ubuntu hago un tcpdump -i eth0 y luego desde un ordenador externo hago wakeonlan -i dominio.no-ip.org -p 6789 mac_de_eth0 veo que en el servidor Ubuntu llegan paquetes y también llegan si cambio la mac_de_eth0 por mac_de_eth1 que es la que uso en la LAN.

    Pero si apago el servidor no arranca desde Internet con wakeonlan.

    Hago ping dominio-no-ip.org e intenta llevar paquetes a la IP asignada antes de apagarlo, pero no encuentra nada.

  • @Miguel A. Me temo que no se me ocurre cómo ayudarte en tal situación.

  • Matías dice:

    Hola, hice todo como decís en la guia y por red local anda bárbaro, pero cuando intento hacerlo desde internet no anda, tengo el mismo router que tenés vos, habilité el puerto 7 (sí, en mi caso es el 7, no se por qué) pero no especifica si es UDP o TCP.

    Tengo que hacer alguna otra configuración en el router?

    Si me podés dar una mano agradecidísimo.

  • Henry dice:

    Viejo.

    Excelente idea, te felicito…….me despejaste muchas dudas que tenia sobre portatil-semi server en fin, con esa ayuda que esta de pelos pensare un comprame un chatarrito de pc para armar mi server.

    exitos en cada cosa que inicies, ve verdad que locura esta la info que planteas.

    un abrazo.

    Henry.

  • Matías dice:

    Hola, la verdad no se que hice pero ahora anda. Configuré lo mismo en un TP-LINK que no tiene acceso a TELNET, pero desde el web podés configurar las tablas arp y setear para que se le asigne la misma IP a una determinada MAC, con eso lo hice andar.

Trackbacks y pingbacks:

Tema LHYLE09, creado por Vicente Navarro