[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1250759815.6326.5.camel@localhost.localdomain>
Date: Thu, 20 Aug 2009 12:16:55 +0300
From: Maxim Levitsky <maximlevitsky@...il.com>
To: "Rafael J. Wysocki" <rjw@...k.pl>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-pm@...ts.linux-foundation.org"
<linux-pm@...ts.linux-foundation.org>
Subject: Re: Very strange issues with ethernet wake on lan
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
Download attachment "dmesg.tar.bz2" of type "application/x-bzip-compressed-tar" (41750 bytes)
View attachment "dmfe-enable-wol-by-default" of type "text/plain" (639 bytes)
Powered by blists - more mailing lists