Subject : WOL with forcedeth broken since f55c21fd9a92a444e55ad1ca4e4732d56661bf2e Submitter : Philipp Matthias Hahn <pmhahn@titan.lahn.de> Date : 2009-01-29 6:31 References : http://marc.info/?l=linux-kernel&m=123321232825316&w=4 Handled-By : Yinghai Lu <yinghai@kernel.org> Patch : http://marc.info/?l=linux-kernel&m=123330459229248&w=4 This entry is being used for tracking a regression from 2.6.27. Please don't close it until the problem is fixed in the mainline. Caused by: commit f55c21fd9a92a444e55ad1ca4e4732d56661bf2e Author: Yinghai Lu <yhlu.kernel@gmail.com> Date: Sat Sep 13 13:10:31 2008 -0700 forcedeth: call restore mac addr in nv_shutdown path Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Cc: Tobias Diedrich <ranma+kernel@tdiedrich.de> Cc: Ayaz Abdulla <aabdulla@nvidia.com> Cc: Jeff Garzik <jeff@garzik.org> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
On Friday 06 February 2009, Philipp Matthias Hahn wrote: > Hello! > > On Thu, Jan 29, 2009 at 10:53:40PM -0800, Yinghai Lu wrote: > > can not find the reason why the WOL doesn't work... > > > > please post > > 1. boot log for just after AC is pluged-in... ===> you should have > > "nv_probe: set workaround bit for reversed mac addr" > > 2. and boot log after boot from WOL...==> you have have "nv_probe: set > > workaround bit for reversed mac addr" too. > > On Wed, Feb 04, 2009 at 11:58:53AM +0100, Rafael J. Wysocki wrote: > > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=12614 > > Subject : WOL with forcedeth broken since > f55c21fd9a92a444e55ad1ca4e4732d56661bf2e > > Submitter : Philipp Matthias Hahn <pmhahn@titan.lahn.de> > > Date : 2009-01-29 6:31 (7 days old) > > References : http://marc.info/?l=linux-kernel&m=123321232825316&w=4 > > Handled-By : Yinghai Lu <yinghai@kernel.org> > > Patch : > http://marc.info/?l=linux-kernel&m=123330459229248&w=4 > > Strage, at the moment I can't seem to reproduce the problem. I've > switched back to the version of 2.6.28.3 and now it seems to work. > I'll continue with tesing. > > Some additional data: > The BIOS-upgrade tool (Afud408.exe) resets the MAC address. I had to run > the tool a second time to re-programm the MAC-address using its /M > option. I useed the unreversed MAC-address back than. > I also tried the reversed address once, but after that forcedeth.c > complained about a wrong MAC-address. > > If I completely turn off the power (pull the plug), WOL doesn't work, > even when it's enabled in the BIOS. > > Only after I'v started Linux, do "echo NMAC > /proc/acpi/wakeup" and > "ethtool -s eth0 wol g" does it work again. > > Nether the less here's the output of dmesg: > forcedeth: Reverse Engineered nFoce ethernet driver. Version 0.61. > ACPI: PCI Interrupt Link [LMAC] enables at IRQ 23 > forcedeth: 0000:00:14.0: PCI INT A -> Link[LMAC] -> GSI 23 (level, > low) -> IRQ 23 > forcedeth: 0000:00:14.0: setting latency timer to 64 > * nv_probe: MAC_ADDR_REV ELSE > nv_probe: set workaround bit for reversed mac addr > forcedeth: 0000:00:14.0: ifname eth0, PHY OUI 0x732 @ 1, addr > 00:19:db:f2:e1:35 > forcedeth: 0000:00:14.0: highdma pwrctl timirq gbit lnktim desc-v3 > The line maked * was inserted by me in the source file for my debugging.
I did some structured tesing: 1. WOL does _not_ work at all when I do: (grub) boot into initrd (initrd) modprobe forcedeth (initrd) ethtool -s eth0 wol g * (initrd) poweroff 2. WOL does _not_ work at all when I do: (grub) boot into initrd (initrd) modprobe forcedeth (initrd) ethtool -s eth0 wol g * (initrd) Alt-SysRq-O 3. WOL works using the _un-reversed_ MAC when I do: (grub) boot into initrd (initrd) modprobe forcedeth (initrd) ethtool -s eth0 wol g * (initrd) Alt-SysRq-B * (grub) halt 4. WOL works using the _reversed_ MAC when I do: (grub) boot into initrd (initrd) modprobe forcedeth (initrd) ethtool -s eth0 wol g (initrd) exit * (Debian) poweroff If I do the poweroff from linux (either initrd or Debian), forcedeth seems to display some messages just before poweroff. I'll try to get hands on a Serial-USB-Converter and a NULL-modem-cable to capture it, since my laptop is legacy-free :-( PS: initrd is actually initramfs, before somebody wonders.
Handled-By : Tobias Diedrich <ranma+kernel@tdiedrich.de> Patch : http://marc.info/?l=linux-kernel&m=123411195117835&w=4
*** Bug 12639 has been marked as a duplicate of this bug. ***
Fixed by commit 34edaa88324004baf4884fb0388f86059d9c4878 .