Re: Very strange issues with ethernet wake on lan

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2009-08-17 at 20:30 +0200, Rafael J. Wysocki wrote:
> On Monday 17 August 2009, Maxim Levitsky wrote:
> > On Sun, 2009-08-16 at 06:42 +0300, Maxim Levitsky wrote:
> > > Hi,
> > > 
> > > I have recently put back the davicom dm9009 ethernet card into my
> > > computer.
> > > 
> > > Some long time ago, I have written its suspend/resume routines.
> > > Now I see that few things have changed, like I need to enable wake in
> > > sysfs or better patch the code to do so, some nice helpers like
> > > pci_prepare_to_sleep have arrived, etc.
> > > 
> > > 
> > > I narrowed the strange issue down to following situation:
> > > 
> > > I reload dmfe.ko (and networkmanager is disabled)
> > > I don't ifup the device, thus pretty much no hardware initialization
> > > takes place (but this appears not to matter anyway)
> > > 
> > > I then suspend the system, and WOL doesn't work (I have patched the
> > > driver to enable WOL automaticly)
> > > 
> > > I then, suspend again. WOL works, and continues to work as long as I
> > > don't reload the driver. If I do, same situation repeats.
> > > 
> > > Also, after a boot, WOL works, so a reload cycle triggers that issue.
> > > 
> > > And most importantly, if I don't do a
> > > 
> > > pci_set_power_state(pci_dev, pci_choose_state (pci_dev, state));
> > > 
> > > in .suspend, then WOL always works.
> > > 
> > > and I have even tried to set state manually to PCI_D3hot or PCI_D3cold, 
> > > 
> > > I also tried to use pci_save_state
> > > 
> > > 
> > > I also have 2 copies of this card, and both have this issue.
> > > I also tried 2 pci slots.
> > > 
> > > Kernel is vanilla 2.6.31-rc5
> 
> I need a dmesg output containing at least one suspend-resume cycle
> (preferably two cycles, the first one where WoL worked and another one
> where it didn't).


I am really sorry for late reply.

I attach the dmesg.


dmesg1 - after a boot, and dmfe reload
dmesg2 - after first s2ram cycle (wol didn't work)
dmesg3  - after second s2ram cycle (wol did work)
dmesg4 - after third s2ram cycle (wol did work), this is just in case.



Also I attach changes I did to the driver to make it enable wol by
default.


Best regards,
	Maxim Levitsky



Attachment: dmesg.tar.bz2
Description: application/bzip-compressed-tar

DMFE: enable WOL by default

From: Maxim Levitsky <maximlevitsky@xxxxxxxxx>


---

 drivers/net/tulip/dmfe.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)


diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index e26a412..8a54a5b 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -444,7 +444,8 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev,
 	db->chip_id = ent->driver_data;
 	db->ioaddr = pci_resource_start(pdev, 0);
 	db->chip_revision = pdev->revision;
-	db->wol_mode = 0;
+	db->wol_mode = WAKE_MAGIC;
+	device_set_wakeup_enable(&pdev->dev, 1);
 
 	db->pdev = pdev;
 
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux