Bug 432364
Summary: | e1000e: Wakeup-on-Lan does not work | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | Flavio Leitner <fleitner> | ||||
Component: | kernel | Assignee: | Andy Gospodarek <agospoda> | ||||
Status: | CLOSED ERRATA | QA Contact: | Martin Jenner <mjenner> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 4.6 | CC: | akarlsso, bruce.w.allan, ddomingo, jesse.brandeburg, jtluka, junichi.nomura, peterm, rbiba, tao, tatsu-ab1 | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2009-05-18 19:13:22 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 391231, 391511, 457499, 461297 | ||||||
Attachments: |
|
Comment 2
Andy Gospodarek
2008-03-24 19:22:39 UTC
Flavio please post your test results here. Patch went in against bug 311961. Committed in 68.27.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/ Tested 68.27.EL with etherwake on a 64bit system. NAK - does not work here. /Anders This event sent from IssueTracker by akarlsso issue 140324 That's a NAK on 2.6.9-68.26.EL.gtest.40smp from gospo as well. Tested here on Econel 100 S2 system with a 82566DM-2 NIC. # ethtool -i eth0 driver: e1000e version: 0.2.0 firmware-version: 1.3-0 bus-info: 0000:00:19.0 ]# lspci -s 0000:00:19.0 -v 00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02) Subsystem: Fujitsu Siemens Computer GmbH: Unknown device 10fd Flags: bus master, fast devsel, latency 0, IRQ 233 Memory at d8300000 (32-bit, non-prefetchable) [size=128K] Memory at d8320000 (32-bit, non-prefetchable) [size=4K] I/O ports at 1820 [size=32] Capabilities: [c8] Power Management version 2 Capabilities: [d0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable+ Capabilities: [e0] #13 [0306] Thanks. /Anders Internal Status set to 'Waiting on SEG' This event sent from IssueTracker by akarlsso issue 140324 I assume that an e1000-based card doesn't WoL on this system or does it? Same system with RHEL5.1 and your patched kernel does. I don't have a e1000 based card to test with. :-/ This is the on-board chip (82566DM-2) that require the e1000e driver. If there is anything else I can try, let me know. It's odd that WoL doesn't work on that card since the drivers are basically identical. Aside from a small change that doesn't do crc calculation and a fix that disables WoL on E1000_DEV_ID_82571EB_SERDES_QUAD there are no major changes between rhel4 and rhel5. I start to wonder if this is an ACPI issue.... I have a system running a fedora kernel that has one of these cards, but I can only do WoL with the magic packet format. It seems this card does not save the WoL configuration across reboots. Were you using magic packet or one of the other methods? added to RHEL4.7 release notes under "Driver Updates => Network" : <quote> e1000e: driver updated to latest upstream version. This update applies several fixes, including a fix for a bug that prevented the Wakeup-On-Lan (WOL) feature from working in some cases. Further, this update also provides support for ICH9m and 82574L Shelter Island network interface cards. </quote> please advise if any further revisions are required. thanks! Hi there gospo, The release notes suggest that we have a fix for the WOL from ACPI S5 state problem. What's your latest kernel, and I'll give it a spin? Thanks! /Anders This event sent from IssueTracker by akarlsso issue 140324 Right now they are: 2.6.9-70.EL.gtest.44 as always you can get them here: http://people.redhat.com/agospoda/#rhel4 Hi there gospo, I've just tested your latest test kernel, and WOL from ACPI S5 does not work. I tried it more than once just to be sure. I think that the change to the driver is only one half of solving WOL and that we may need ACPI or powermanagement tweaks to get the rest. :-/ I am all ears on suggestions what I can do to help. Thanks! /Anders This event sent from IssueTracker by akarlsso issue 140324 as per testing results, revising RHEL4.7 release note for this item: <quote> e1000e: driver updated to latest upstream version. This update provides support for ICH9m and 82574L Shelter Island network interface cards, and applies several upstream fixes as well. </quote> please advise if any revisions are required. thanks! Hi, the RHEL4.7 release notes deadline is on June 17, 2008 (Tuesday). they will undergo a final proofread before being dropped to translation, at which point no further additions or revisions will be entertained. a mockup of the RHEL4.7 release notes can be viewed here: http://intranet.corp.redhat.com/ic/intranet/RHEL4u7relnotesmockup.html please use the aforementioned link to verify if your bugzilla is already in the release notes (if it needs to be). each item in the release notes contains a link to its original bug; as such, you can search through the release notes by bug number. Cheers, Don Martin, I need Fujitsu-Siemens' permission to open this bug to Intel for further comment and investigation. This is URGENT. Oops. This is a bublic bug. No permission required. Intel can see it. Hi, I think WoL doesn't work on RHEL4.7 e1000e because e1000_shutdown() is #ifdef-ed out in netdev.c. That's where the driver tries to save the ACPI state. The reboot notifier calls this function in the e1000 driver. I think Kosuke's comment is probably correct. I'm CC'd on this bug and paying attention, so please let me know if there are system details so we might try to reproduce and suggest/test patches. You should be able to reproduce the problem on the ICH9 NIC (RHEL4.7 uses e1000 driver for the ESB2 NIC, so it doesn't have this problem). e1000_shutdown is ifdef'd out because rhel4's pci_driver struct does not support the shutdown routine. Here's the pci_driver definition: struct pci_driver { struct list_head node; char *name; const struct pci_device_id *id_table; int (*probe) (struct pci_dev *dev, const struct pci_device_id *id); void (*remove) (struct pci_dev *dev); int (*suspend) (struct pci_dev *dev, u32 state); int (*resume) (struct pci_dev *dev); int (*enable_wake) (struct pci_dev *dev, u32 state, int enable); struct device_driver driver; struct pci_dynids dynids; }; so you can see why we needed to make the change in the e1000e driver from upstream: /* PCI Device API Driver */ static struct pci_driver e1000_driver = { .name = e1000e_driver_name, .id_table = e1000_pci_tbl, .probe = e1000_probe, .remove = __devexit_p(e1000_remove), #ifdef CONFIG_PM /* Power Managment Hooks */ .suspend = e1000_suspend, .resume = e1000_resume, #endif #if 0 /* not in RHEL4 */ .shutdown = e1000_shutdown, .err_handler = &e1000_err_handler #endif }; Also, if you look at e1000_shutdown all it does is call e1000_suspend(pdev, PMSG_SUSPEND) which is exactly what is called when e1000_suspend is called. There may be something that is needed in e1000_suspend to help save ACPI state, but what's more likely is that we have another ACPI problem somewhere. > e1000_shutdown is ifdef'd out because rhel4's pci_driver struct does not support > the shutdown routine. Here's the pci_driver definition: SNIP... > so you can see why we needed to make the change in the e1000e driver from upstream: I understand. > Also, if you look at e1000_shutdown all it does is call e1000_suspend(pdev, > PMSG_SUSPEND) which is exactly what is called when e1000_suspend is called. > > There may be something that is needed in e1000_suspend to help save ACPI state, > but what's more likely is that we have another ACPI problem somewhere. Yes, e1000_suspend is the function that has to be called during shutdown. e1000 driver has exactly the same problem, but it solves this by adding a reboot notifier hook that calls this function. e1000e driver could do the same thing. I'm assuming from comment #37 that somebody is working on it now. Updating PM score. My test kernels have been updated to include a patch for this bugzilla. http://people.redhat.com/agospoda/#rhel4 Please test them and report back your results. My test kernels have been updated to include a patch for this bugzilla. http://people.redhat.com/agospoda/#rhel4 Please test them and report back your results. Created attachment 328922 [details]
e1000e-add-reboot-notifier-so-WoL-will-work.patch
This patch -- as suggested by someone (not sure who) -- makes WoL work with an e1000e device on my system, where it previously did not.
I am building test kernels now and should have some available tomorrow.
My test kernels have been updated to include a patch for this bugzilla. http://people.redhat.com/agospoda/#rhel4 Please test them and report back your results. Without immediate feedback there is a good chance this or any other fix for this driver will not be included in the upcoming update. Hi Andy, Below is the feedback from IT#140324. ------------- Hi Gary, checked the following: - kernel-smp-2.6.9-78.28.EL.gtest.56.i686.rpm - kernel-smp-2.6.9-78.28.EL.gtest.56.x86_64.rpm with - Intel 82566-DM (onboard), both kernels ... ok - Intel 82572 EI Copper, i686 kernel ... ok - Intel 82574L Shelter Island, x86_64 ... ok by sending those systems to S5 and waking them up via ether-wake <MAC> and pinging other systems to ensure basic functionality. So, this seems to work! Regards, Joachim ----------- Flavio Internal Status set to 'Waiting on Engineering' This event sent from IssueTracker by fleitner issue 140324 Committed in 80.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/ Patch is in -88.EL kernel. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2009-1024.html |