AnsweredAssumed Answered

sabre(mx6): WOL is not working on kernel 4.9

Question asked by Isaac Hermida on Jan 25, 2018
Latest reply on Feb 26, 2018 by Isaac Hermida
Branched to a new discussion

In the latest kernel 4.9 (imx_4.9.11_1.0.0_ga), the WOL is failing. It is working fine on 4.1(imx_4.1.15_2.0.0_ga).

Does anyone has a fix or can point to the root cause of the problem on that? I can reproduce it on the sabre along in other platforms.

 

In order to enable the WOL support, I use the command "ethtool -s eth0 wol g" to allow the reception of WOL frames, I check it is enabled with "cat /sys/class/net/eth0/power/wakeup" and then put the device into sleep mode with "echo mem > /sys/power/state".

In order to wake up the system with a WOL packet, use etherwake using DUT mac, it is, "etherwake -i eth0 <MAC_ADDR>"

 

I added some debug messages and everything seems correct.

# ethtool -s eth0 wol g

# cat /sys/class/net/eth0/power/wakeup

enabled

# echo mem > /sys/power/state
PM: Syncing filesystems ... done.
PM: Preparing system for mem sleep
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
PM: Entering mem sleep
PM: suspend of devices complete after 93.672 msecs
PM: suspend devices took 0.100 seconds
PM: late suspend of devices complete after 0.981 msecs
PM: noirq suspend of devices complete after 0.999 msecs
Disabling non-boot CPUs ...
CPU1: shutdown
CPU2: shutdown
CPU3: shutdown

Outcomes