how to use WOL with libertas SDIO

Sven Neumann s.neumann at
Tue Dec 6 09:05:29 EST 2011


I am trying to suspend a device so that it can be woken up by WLAN. From
the libertas driver documentation it appeared to me that this should be
supported. We are using Linux 3.1.4 and the hardware uses a Marvell 8686
module connected over SDIO.

I am enabling the WOL feature using ethtool:

# ./ethtool -s wlan0 wol b
# ./ethtool wlan0
Settings for wlan0:
	Supports Wake-on: pumb
	Wake-on: b

Now when I send the device to sleep the MMC layer tells me that it can't
keep the card alive while the host is suspended:

[   76.400019] PM: Syncing filesystems ... done.
[   76.468400] Freezing user space processes ... (elapsed 0.01 seconds) done.
[   76.488405] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[   76.512795] libertas_sdio mmc0:0001:1: mmc0:0001:1: suspend: PM flags = 0x0
[   76.519841] libertas_sdio mmc0:0001:1: mmc0:0001:1: cannot remain alive while host is suspended
[   76.586655] mmc0: card 0001 removed
[   76.590907] PM: suspend of devices complete after 81.339 msecs
[   76.598207] PM: late suspend of devices complete after 1.370 msecs

Can I somehow persuade it to do what I want?

Thanks for any help,

More information about the libertas-dev mailing list