Voilà comment faire...
Tout d'abord, rendons à Vercingétorix ce qui appartient à Vercingétorix, je n'ai pas trouvé tout seul, j'ai tout pompé sur la page suivante. La procédure est vraiment spécifique aux cartes nforce, pour les autres cartes réseau ça a l'air plus simple.
Le WOL n'a pas l'air de marcher avec les drivers proprios Nvnet, de toutes façons Nvnet SAPUSAIPALIBRE
Alors il faut 2 choses:
- Un kernel avec le driver forcedeth
Il faut ensuite éditer le fichier drivers/net/forcedeth.c et virer les DEV_NEED_TIMERIRQ dans pci_tbl[] (ça commence ligne 1522).
Après les modifs ça doit donner un truc de ce genre.
Code :
- { /* nForce2 Ethernet Controller */
- .vendor = PCI_VENDOR_ID_NVIDIA,
- .device = 0x0066,
- .subvendor = PCI_ANY_ID,
- .subdevice = PCI_ANY_ID,
- .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2,
- },
|
- pci-config
Il faut le télécharger sur le site Scyld for ethernet tools qui a l'air d'etre tout le temps down. Heureusement par ftp ça marche. Le problème c'est que pci-config.c ne compile pas avec gcc 3.x, il faut gcc 2.95. C'est dans ces cas là qu'on se dit que les debian ca sert peut être à quelquechose avec leurs vieux packages.
J'ai mis mon binaire ici au cas où.
md5sum
e569593ae36f3a54786105e8d0f29bab /usr/local/bin/pci-config |
Il faut ensuite identifier le 'device number for pci-config' comme expliqué dans la section 4.2. Sur ma NF7 2.0 c'etait exactement la même valeur que pour ce type donc je ne détaille pas.
Il suffit ensuite de faire exécuter la commande suivante à pci-config avant d'éteindre.
Sur ma gentoo je l'ai mis dans /etc/conf.d/local.stop
echo "Enabling WOL on forcedeth card"
/usr/local/bin/pci-config -S -#12 |
Si le pc freeze au moment ou cette commande est exécutée c'est parce que vous n'avez pas bien retiré les DEV_NEED_TIMERIRQ de forcedeth.c
Une fois la machine éteinte, il faut utiliser un programme qui envoit un packet magique WOL pour pouvoir réveiller la machine par le LAN: par ex, ether-wake sous *nix ou magic packet sous windows.
N'oubliez pas de noter l'adresse MAC de la carte avant d'éteindre
---------------
Fluctuat nec mergitur