The short answer is the driver should never have suggested (via ethtool) that 
it supports Wake-on-ARP because it does not; i.e. it does not populate the 
appropriate address tables in hardware, nor is there a way to do that yet.  
I'll be submitting a patch that removes that option.  Wake-on-ARP may be a 
supported feature in the future, but will require changes to ethtool as well.

>-----Original Message-----
>From: Pieper, Jeffrey E [mailto:jeffrey.e.pie...@intel.com]
>Sent: Thursday, March 03, 2011 1:44 PM
>To: Brandeburg, Jesse; Wyborny, Carolyn
>Cc: e1000-devel@lists.sourceforge.net
>Subject: Re: [E1000-devel] Wake on ARP not working
>
>I can reproduce this on my SM w/ 82574 down.
>
>Jeff
>
>-----Original Message-----
>From: Brandeburg, Jesse [mailto:jesse.brandeb...@intel.com]
>Sent: Thursday, March 03, 2011 1:09 PM
>To: Mathias Krause; Wyborny, Carolyn
>Cc: e1000-devel@lists.sourceforge.net
>Subject: Re: [E1000-devel] Wake on ARP not working
>
>
>
>On Thu, 3 Mar 2011, Mathias Krause wrote:
>
>> Hello e1000e developers,
>>
>> I have a problem getting a specific wake-on-lan combination getting to
>> work on my onboard 82574L PCIe adapter. I would like to wake the system
>> from S3 by either an ARP request or an unicast packet send to the system,
>> e.g. an ICMP packet. What I'm seeing is that wake-on-unicast works, but
>> wake-on-arp does not, albeit the adapter is configured to do so:
>
>Sorry to hear wake on arp is not working, I'm hoping Carolyn can take a
>look or our lab can reproduce.
>
>Wake on arp may not be the best wake behavior however because most systems
>receive an arp at least every two minutes from the switch port they are
>plugged into.  Other machines on your network will also arp for your
>machine if they recently contacted it.
>
>> root@puck:~# ethtool eth0
>> Settings for eth0:
>>      Supported ports: [ TP ]
>>      Supported link modes:   10baseT/Half 10baseT/Full
>>                              100baseT/Half 100baseT/Full
>>                              1000baseT/Full
>>      Supports auto-negotiation: Yes
>>      Advertised link modes:  10baseT/Half 10baseT/Full
>>                              100baseT/Half 100baseT/Full
>>                              1000baseT/Full
>>      Advertised pause frame use: No
>>      Advertised auto-negotiation: Yes
>>      Speed: 100Mb/s
>>      Duplex: Full
>>      Port: Twisted Pair
>>      PHYAD: 1
>>      Transceiver: internal
>>      Auto-negotiation: on
>>      MDI-X: off
>>      Supports Wake-on: pumbag
>>      Wake-on: uag
>>      Current message level: 0x00000001 (1)
>>      Link detected: yes
>>
>> "g" is included in the wake-on list to work around the problem and have a
>> way to wakeup the system by sending a magic packet. But what I really want
>> is to skip this manual step and let the machine wakeup automatically when
>> someone wants to access it.
>>
>> Reading the specification (document number 317694-020, section 5.5.3.1),
>> the adapter should wake on ARP request because it wakes up on unicast
>> packets directed to the configured IPv4 address. The document states that
>> the ARP method and the unicast method are using the same table for IP
>> addresses matching (IP4AT), so if it works for the unicast case it should
>> work for the ARP case also, shouldn't it?
>
>I'm not sure that anything programs the IP4AT register, as I don't see it
>being used in our drivers. I imagine that is relevant. :-)  I think the
>problem is the interface to ethtool should provide a way to program the IP
>address to the NIC when enabling wake on arp.
>
>> Any idea why it doesn't work?
>>
>> I'm running 2.6.37.1. Here is the lspci for completeness:
>>
>> root@puck:~# lspci
>> 00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge (rev 02)
>> 00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated
>Graphics Controller (rev 02)
>> 00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics
>Controller (rev 02)
>> 00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
>Controller #4 (rev 02)
>> 00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
>Controller #5 (rev 02)
>> 00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
>Controller #6 (rev 02)
>> 00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI
>Controller #2 (rev 02)
>> 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1
>(rev 02)
>> 00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5
>(rev 02)
>> 00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6
>(rev 02)
>> 00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
>Controller #1 (rev 02)
>> 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
>Controller #2 (rev 02)
>> 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
>Controller #3 (rev 02)
>> 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI
>Controller #1 (rev 02)
>> 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
>> 00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface 
>> Controller
>(rev 02)
>> 00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port
>SATA AHCI Controller (rev 02)
>> 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev
>02)
>> 02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network
>Connection
>> 03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network
>Connection
>>
>>
>> Regards,
>> Mathias
>>
>> P.S.: No, it's not possible to add a static ARP entry on every possible
>> machine accessing it, so only unicast packets would be generated.
>
>
>------------------------------------------------------------------------------
>What You Don't Know About Data Connectivity CAN Hurt You
>This paper provides an overview of data connectivity, details
>its effect on application quality, and explores various alternative
>solutions. http://p.sf.net/sfu/progress-d2d
>_______________________________________________
>E1000-devel mailing list
>E1000-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/e1000-devel
>To learn more about Intel® Ethernet, visit
>http://communities.intel.com/community/wired
>
>------------------------------------------------------------------------------
>What You Don't Know About Data Connectivity CAN Hurt You
>This paper provides an overview of data connectivity, details
>its effect on application quality, and explores various alternative
>solutions. http://p.sf.net/sfu/progress-d2d
>_______________________________________________
>E1000-devel mailing list
>E1000-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/e1000-devel
>To learn more about Intel® Ethernet, visit
>http://communities.intel.com/community/wired

------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to