WakeonLan impossible squeeze

Bonsoir,
Il y a une semaine environ j’avais posté un post pour le problème que j’avais et qui était une non-extinction du pc après une commande “poweroff” ou encore “halt”. Ce problème a été résolu plutôt facilement.
Mais maintenant je suis confronté à un autre problème !
Avec ethtool j’ai pu constater que ma carte réseau intégré supporte le WakeOnLan mais que je n’ai pas la possibilité de lancer mon pc après l’avoir éteint !
Pour la configuration du bios j’ai une option dédié au WakeOnLan que j’ai bien entendu activé afin de pouvoir aussi coté OS activer les options. Je pense que c’est du côté de la configuration avec squeeze que ça pose problème.
Ma carte réseau est une Realtek RTL8101L qui comme le dit la doc : http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PFid=6&Level=5&Conn=4&ProdID=15 permet le wakeonlan. ethtool me donne plus d’information en me disant que la carte est compatible avec le wakeonlan p, u, m, b, g.
Lors de mon premier lancement de ma Debian et après installation de ethtool l’option de wake on lan était sur d ce qui signifie que elle n’est pas activé. Cependant après avoir cherché et lu sur le net, pour l’activer il faudrait lancer la commande ethtool -s wol g qui modifie le d en g et autorise donc le MagicPacket.
Ensuite pour que cela s’active au démarrage et quand on l’éteint il faudrait mettre ces deux ligne dans le fichier /etc/network/interface :

post-up /sbin/ethtool -s $IFACE wol g post-down /sbin/ethtool -s $IFACE wol g
Ce que j’ai fait. Normalement le paramètre est censé désactiver le blocage automatique du wakeonlan par le kernel.
Je précise que la diode de la Freebox sont allumé mais pas celle du pc (normal il n’y en a pas …).
Vous allez surement dire : "Ben tout va bien, tu as tout configuré comme il faut !"
Malheureusement je post car le pc ne se réveille pas ! Le pire dans tout ça c’est que quand j’envoi le paquet magique, la diode de la Freebox ce mettent a clignoté alors qu’elle ne clignote pas avant.
Voilà j’espère que j’ai donné assez d’information pour que vous tentiez de m’aider…
Sur-ce, bonsoir !

Montre nous quelle commande tu envoies, stp !?

La commande que j’envoie pour faire quoi exactement ?
j’envoie “poweroff” pour l’éteindre et pour changer les paramètre de ethtool j’envoie “ethtool -s wol g” -> pour autoriser uniquement les paquet magique.
Est ce que vous pouvez préciser votre message ?

[quote=“gv144”]La commande que j’envoie pour faire quoi exactement ?
j’envoie “poweroff” pour l’éteindre et pour changer les paramètre de ethtool j’envoie “ethtool -s wol g” -> pour autoriser uniquement les paquet magique.
Est ce que vous pouvez préciser votre message ?[/quote]

La commande, dans son exactitude pour réveiller le pc ! ?

je travaille sous Windows en ce moment et j’utilise mon propre service de réveille a distance que j’ai développé en php … il est disponible ici http://loquii.alwaysdata.net/other/WOL/et fonctionne très bien puisque j’ai déjà réveillé un autre pc avec.
Pour information ma freebox ne bloque pas les paquets wol puisque un tcpdump sur le port 9 du serveur me récupère le paquet Wol en question…

Peut-être que certains programmes modifient l’état du WOL sur ta carte réseau, après coup (je pense au programmes d’économie d’énergie style laptop-mode-tools, sur un portable)

Donc vérifie si le WOL reste bien activé tout le temps (“ethtool eth0”).

Alors justement je vérifie juste avant de lancer une commande d’extinction et la j’ai toujours l’option d’activé ( avec l’option g par exemple ) et justement dans tout les cas testés ! Je pense que c’est dans les procédures d’extinction que le Kernel la désactive automatiquement. Je ne suis pas sur un pc portable. cette machine (qui fait office de serveur) est un pc fixe compaq qui commence à dater mais qui a acpi ET apm mais aussi l’option Wol dans le BIOS.

Plus personne pour m’aider ? Vous faudrait-il quelque chose de plus qui pourrais vous aider à m’aider . :laughing:

Edit :
Âpres test sous linux ( fedora avec le programme etherwake ) il m’a été impossible de lancer le pc. je me retrouve a le problème décrit plus haut dans le post initial le paquet par dans la bonne direction mais ne permet pas le boot de la machine.

En l’attente de vos réponses

Dans ton fichier /etc/default/halt, vérifie que tu as mis

HALT=halt
NETDOWN=no

(et non poweroff et yes)

Alors j’ai rajouté “NETDOWN=no” mais j’avais la ligne “HALT=poweroff” maintenant le pc ne s’éteint plus si je tape halt pour l’éteindre.
Je suis donc obligé de mettre poweroff au lieu de halt.

Edit :
Aujourd’hui je viens de m’apercevoir que lorsque le pc s’éteint, celui-ci coupe la connexion au réseau local puis il la rétablie ensuite. Je pense que le problème vient de cette coupure réseau qu’il effectue.

Oui, au temps pour moi pour le poweroff.
La carte réseau est mise hors tension si halt est appelé avec l’option «-i». Cela se fait dans /etc/init.d/halt.

Je vais vérifier si je n’ai pas cette option le fichier en question et regarder si ce n’est pas ça qui me pose problème !

le script halt est plutôt long, mais ce que je vois a première vus est des la première ligne : “NETDOWN=yes”.
dois-je modifier cette ligne en remplaçant yes par no ou je ne touche a rien ?

Tu peux mais théoriquement c’est surchargé par le fichier /etc/default/halt

Donc cela signifie que je met l’option NETDOWN=no dans /etc/init.d/halt et que dans /etc/default/halt je fait la même chose. Théoriquement la carte réseau ne devrait pas se couper. ( j’ai bien dis théoriquement car souvent quand on passe a la pratique, le rendu est différent )

Edit:
Cela n’a rien changé j’ai toujours le voyant de ma freebox qui s’éteint qui se rallume environ 1 seconde après.
je commence a désespérer et c’est bien dommage car le pc permet l’utilisation de cette technologie !

Ce n’est pas le voyant de la freebox qu’il faut regarder mais celui de la carte réseau de la machine. Si la carte est sous tension, tu dois voir l’activité.

Essaye de forcer dans le script de halt la mise en place du drapeau wol via ethtool.

(fonction do_stop avant l’appel à halt)

j’aimerais bien pouvoir me fier aux voyant de la carte réseau en elle même mais il y a un petit problème avec sa : IL n’y A pas de Voyant sur la carte réseau intégré du pc !
Le seul voyant que j’ai a ma disposition est celui de ma freebox qui est allumé quand une carte réseau est allumé.
si j’ai bien compris tu me propose de rajouter la ligne “ethtool -s eth0 wol g” dans la fonction do_stop ?
(En tout cas je vais tester la proposition que tu m’a faite et je donne le résulta !)

bon ben pour changer cela ne fonctionne pas …
voici un copier coller du fichier /etc/init.d/halt que j’ai modifier en ajoutant “ethtool -s eth0 wol g”

[code]#! /bin/sh

BEGIN INIT INFO

Provides: halt

Required-Start:

Required-Stop:

Default-Start:

Default-Stop: 0

Short-Description: Execute the halt command.

Description:

END INIT INFO

NETDOWN=no

PATH=/sbin:/usr/sbin:/bin:/usr/bin
[ -f /etc/default/halt ] && . /etc/default/halt

. /lib/lsb/init-functions

do_stop () {
if [ “$INIT_HALT” = “” ]
then
case “$HALT” in
[Pp])
INIT_HALT=POWEROFF
;;
[Hh]
)
INIT_HALT=HALT
;;
*)
INIT_HALT=POWEROFF
;;
esac
fi

# See if we need to cut the power.
if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/ups-monitor ]
then
	/etc/init.d/ups-monitor poweroff
fi

# Don't shut down drives if we're using RAID.
hddown="-h"
if grep -qs '^md.*active' /proc/mdstat
then
	hddown=""
fi

# If INIT_HALT=HALT don't poweroff.
poweroff="-p"
if [ "$INIT_HALT" = "HALT" ]
then
	poweroff=""
fi

# Make it possible to not shut down network interfaces,
# needed to use wake-on-lan
netdown="-i"
if [ "$NETDOWN" = "no" ]; then
	netdown=""
fi
log_action_msg "ethtool ..."
ethtool -s eth0 wol g
log_action_msg "Will now halt"
halt -d -f $netdown $poweroff $hddown

}

case “$1” in
start)
# No-op
;;
restart|reload|force-reload)
echo “Error: argument ‘$1’ not supported” >&2
exit 3
;;
stop)
do_stop
;;
*)
echo “Usage: $0 start|stop” >&2
exit 3
;;
esac

:
[/code]

Si vous voyez une amélioration a faire dites le moi !

Rajoute dans le etc/default/halt

INIT_HALT=HALT

Merci,
je vais tester ça demain car je n’ai pas le temps ce soir. je donnerais donc le résultat.
juste pour savoir ce que je vais rajouter dans le fichier /etc/default/halt va faire quoi exactement ?
Quand je teste, je teste de le rallumer avec le wakeonlan comme a chaque fois je suppose … ?

À cause des lignes

# If INIT_HALT=HALT don't poweroff. poweroff="-p" if [ "$INIT_HALT" = "HALT" ] then poweroff="" fi

visiblement ça n’est plus HALT mais INIT_HALT qui est utilisé…