Archivo de la etiqueta: wake on lan

Wake On LAN en Ubuntu 8.10 (Intrepid Ibex)

A vueltas con el Wake On LAN, que parece que todos los problemas me los voy encontrando yo.

Resulta que con la actualización en mi servidor casero de la Ubuntu server 8.04.1 a la 8.10, perdí la funcionalidad del Wake On LAN, que tanto trabajo me costó hacer andar y que además me es bastante útil.

En lo primero que me fijé es en que al apagar el equipo se apagaba la tarjeta de red, por lo que evidentemente la tarjeta no respondía a los paquetes de red que le decían que encendiese el ordenador. Para solucionar esto me fui directamente al fichero que había tocado anteriormente: /etc/init.d/halt, para quitar el parámetro «-i», que hace precisamente eso; pero al editar el fichero me di cuenta de que han mejorado el script y ahora basta con poner en /etc/default/halt:

NETDOWN=no

Pero seguía sin funcionar… así que volví al bug que ya había visto la otra vez, y parece que la gente ha seguido investigando el tema.

El problema parece estar en el nuevo kernel (2.6.27), porque en el que usaba anteriormente (2.6.24) todo iba perfecto; y aunque el driver al que se refieren en ese bug no es el de mi tarjeta actual (ahora tengo un Intel Ethernet Pro 100), sí que está afectado también por ese problema. A ver si en la próxima actualización del kernel meten el parche.

Lo que he tenido que hacer al final es lo siguiente:


$ lspci | grep -i ethernet
00:09.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 0c)
$ echo enabled > /sys/bus/pci/devices/0000:00:09.0/power/wakeup

La última línea la he añadido a mi /etc/rc.local para que se haga siempre al arrancar el sistema.

Wake On LAN, Realtek 8169 y Linux

Llevo unas horitas intentando hacer que mi ordenador arranque usando el Wake-On-LAN, pero ya lo he solucionado.

Lo curioso del tema es que si arrancaba Windows XP y apagaba el ordenador, el arranque usando etherwake funcionaba perfectamente; pero si arrancaba Linux y apagaba, no podía volver a encenderlo usando este método.

Después de volverme loco usando ethtool para configurar el WoL en la tarjeta de red, no conseguí nada. De todas formas, pongo por aquí lo necesario para activar el WoL en un dispositivo en Linux:

ethtool -s eth0 wol g

Al final, resulta que el driver del kernel para esta tarjeta tiene un bug que hace que no informe a la BIOS de que es capaz de encender al sistema cuando apagas el ordenador.

El hack que hay hasta la fecha es hacer que el programa que prepara el ordenador para el apagado no «desconfigure» los dispositivos de red, así que al menos en Debian y derivados, tenéis que editar el fichero /etc/init.d/halt.

Buscar la llamada al programa halt y eliminar el parámetro -i, que es el que le dice que «desconfigure» los dispositivos de red:


log_action_msg "Will now halt"
sleep 1
# halt -d -f -i $poweroff $hddown
# Parche para que funcione el Wake-On-LAN
halt -d -f $poweroff $hddown

Después de eso, ya me funciona perfectamente y puedo encender mi ordenador desde el router Linksys con Kamikaze. :-)