WOL problems with 3COM905C and suspend to disk

From: Eckehardt Luhm
Date: Thu Feb 16 2006 - 08:44:40 EST


Hello,

I'm experiencing problems using Wake On LAN with the 3c59x-driver of kernel
2.6.11.

The driver is loaded correctly with enable_wol=1. When going to suspend with
issuing "echo disk > /sys/power/state" vortex_down() seems to be called (I
added some debug outputs there). That's fine, because of the function
acpi_set_WOL() being called preparing the NIC for WOL.

Unfortunately right before the PC eventually goes down, the vortex driver
seems to be opened again. Adding some printk's to the driver I was able to
observe that after vortex_down() is called, and right before the RAM image
is saved to disk, vortex_up() is called. That's bad, because that disables
WOL. Then the power goes off and it's not possible to wake the PC by WOL.

I can exclude all kinds of hardware problems, because I managed to get it
working using a workaround. I added a global variable "vortex_down_called"
which is 0 by default. In vortex_down() I set it to 1 once acpi_set_WOL()
is called. Inside vortex_up() I first query this variable. If it's 0 the
function is executed normally. When it's 1 I return immediately not
executing vortex_up().

With this workaround WOL works fine after the suspend, the PC awakes as
expected. Of course I have to reload the 3c59x module once the PC has
resumed. Actually I don't like that workaround. Can you tell me, who is
re-opening the driver once it has been closed for suspend? What can I do
to make WOL work correctly?

Best regards, Ecke

______________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/