Enabling WOL on AML-S905X-CC

I have a AML-S905X-CC and i would like to uanble Wake On Lan, is it even possible?
i’ve done some research but nothing i found was successful / usefull.

  1. Flash the latest bootloader to your image via libretech-flash-tool.
  2. Add meson_gxl.enable_wol=1 to your kernel cmdline via /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT=.
  3. Run sudo update-grub.

doing ./lft.sh dev-list returns nothing, is that normal?

After the device name, add force. By default libretech-flash-tool will not try to write an active disk to prevent accidents.

Do you mean running sudo libretech-flash-tool/lft.sh bl-flash aml-s905x-cc force? im not sure i quite understand

You need to add the device after aml-s905x-cc and before force. eg mmcblk0 for eMMC and mmcblk1 for SD card.

did all that, still not working

/etc/default/grub :

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="noquiet splash meson_gxl.enable_wol=1"
GRUB_CMDLINE_LINUX=""

To test it, i used the wakeonlan package and sent a command from another server runnong on the same network

Can anyone confirm how WOL is supposed to work with Le Potato?

I’ve followed the instructions described here with having the latest bootloader installed and meson_gxl.enable_wol = 1, but I can’t get wake on lan to work. I am currently using kernel 6.6.59 built from the linux-6.6.y-lc branch from libretech-linux, which I see drivers/net/phy/meson-gxl.c recently had commands added for WOL to be configurable based on the setting of kernel parameter meson_gxl.enable_wol.

However, no matter what I do I can’t wake the Le Potato with magic packets whether its from shutdown or standby it does not work. I am able to confirm with ngrep that the packets can be received by the Le Potato, but it does not wake in reaction to them.

The only thing that seems to wake the Le Potato is physically unplugging the ethernet cable (either from the SBC itself or from the switch/router end) this will wake the Le Potato from shutdown (but not suspend), however this will happen whether or not I have meson_gxl.enable_wol set to true or not.

Please, can there be some guidance on how WOL should work? I’ve followed all instructions I can find on this forum, I’m on the latest bootloader and a kernel that has the configurable wol and have the meson_gxl.enable_wol=1. I can confirm with tcpdump that wake packets are being received, but the device will not wake from either shutdown or suspend when I send them.

When I run sudo ethtool eth0, I do see
Supports Wake-on: ug
I’ve tried all combinations of
ethtool -s eth0 wol g
ethtool -s eth0 wol u
ethtool -s eth0 wol ug
In all cases I see cat /sys/class/net/eth0/device/power/wakeup update from disabled to enabled, however the device will still not wake from magic packets.

Despite linux reporting that eth0 should be able to wake the device, when I suspend the device, the debug serial reports the following

bl30 get wakeup sources!

process command 00000006
bl30 enter suspend!

cpu clk suspend rate 1416000000

suspend_counter: 2

Enter ddr suspend

dmc sec unlock

not first time suspend

ddr suspend time: 3704us

gp0 pll

process command 00000001
CEC cfg:0x0000
set vddee to 0x035c mv
08915d0000000000cec reset
irq ao gpio0
irq gpio0

The listed irqs do work and are able to wake the device, there is nothing listed for ethernet

running dmesg | grep -i meson I get

[    1.130925] irq_meson_gpio: 110 to 8 gpio interrupt mux initialized
[    1.142274] soc soc0: Amlogic Meson GXL (S905X) Revision 21:e (85:2) Detected
[    1.180419] meson-sm: secure-monitor enabled
[    1.182259] meson-saradc c1108680.adc: Looking up vref-supply from device tree
[    1.317718] c81004c0.serial: ttyAML0 at MMIO 0xc81004c0 (irq = 22, base_baud = 1500000) is a meson_uart
[    1.897020] meson-drm d0100000.vpu: Queued 2 outputs on vpu
[    2.755392] meson8b-dwmac c9410000.ethernet: IRQ eth_wake_irq not found
[    2.760290] meson8b-dwmac c9410000.ethernet: IRQ eth_lpi not found
[    2.766481] meson8b-dwmac c9410000.ethernet: PTP uses main clock
[    2.773155] meson8b-dwmac c9410000.ethernet: User ID: 0x11, Synopsys ID: 0x37
[    2.779454] meson8b-dwmac c9410000.ethernet:         DWMAC1000
[    2.784582] meson8b-dwmac c9410000.ethernet: DMA HW capability register supported
[    2.792002] meson8b-dwmac c9410000.ethernet: RX Checksum Offload Engine supported
[    2.799418] meson8b-dwmac c9410000.ethernet: COE Type 2
[    2.804588] meson8b-dwmac c9410000.ethernet: TX Checksum insertion supported
[    2.811582] meson8b-dwmac c9410000.ethernet: Wake-Up On Lan supported
[    2.818039] meson8b-dwmac c9410000.ethernet: Normal descriptors
[    2.823826] meson8b-dwmac c9410000.ethernet: Ring mode enabled
[    2.829603] meson8b-dwmac c9410000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    2.841289] meson-gx-mmc d0074000.mmc: Looking up vmmc-supply from device tree
[    2.841459] meson-gx-mmc d0074000.mmc: Looking up vqmmc-supply from device tree
[    2.841799] meson-gx-mmc d0074000.mmc: allocated mmc-pwrseq
[    2.879809] meson-gx-mmc d0074000.mmc: no support for card's volts
[    2.894767] meson-gx-mmc d0072000.mmc: Looking up vmmc-supply from device tree
[    2.894868] meson-gx-mmc d0072000.mmc: Looking up vqmmc-supply from device tree
[    2.895008] meson-gx-mmc d0072000.mmc: Got CD GPIO
[    2.895682] meson-dw-hdmi c883a000.hdmi-tx: Looking up hdmi-supply from device tree
[    2.920678] meson-dw-hdmi c883a000.hdmi-tx: Detected HDMI TX controller v2.01a with HDCP (meson_dw_hdmi_phy)
[    2.932538] meson-dw-hdmi c883a000.hdmi-tx: registered DesignWare HDMI I2C bus driver
[    2.939106] meson-drm d0100000.vpu: bound c883a000.hdmi-tx (ops meson_dw_hdmi_ops)
[    2.946996] [drm] Initialized meson 1.0.0 20161109 for d0100000.vpu on minor 0
[    3.693708] meson-drm d0100000.vpu: [drm] fb0: mesondrmfb frame buffer device
[    3.702435] dwc3-meson-g12a d0078080.usb: Looking up vbus-supply from device tree
[    3.702485] dwc3-meson-g12a d0078080.usb: Looking up vbus-supply property in node /soc/usb@d0078080 failed
[    3.702943] dwc3-meson-g12a d0078080.usb: USB2 ports: 2
[    3.705807] dwc3-meson-g12a d0078080.usb: USB3 ports: 0
[    4.945549] meson-vrtc c81000a8.rtc: registered as rtc0
[    4.959333] meson-vrtc c81000a8.rtc: setting system clock to 1970-01-01T00:00:04 UTC (4)
[   13.399606] rc rc0: meson-ir as /devices/platform/soc/c8100000.bus/c8100580.ir/rc/rc0
[   13.404032] rc rc0: lirc_dev: driver meson-ir registered at minor = 0, raw IR receiver, no transmitter
[   13.404219] input: meson-ir as /devices/platform/soc/c8100000.bus/c8100580.ir/rc/rc0/input6
[   13.412769] meson-ir c8100580.ir: receiver initialized
[   13.631182] meson_vdec: module is from the staging directory, the quality is unknown, you have been warned.
[   16.916098] meson8b-dwmac c9410000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[   17.050655] meson8b-dwmac c9410000.ethernet eth0: PHY [mdio_mux-0.1:08] driver [Meson GXL Internal PHY] (irq=25)
[   17.060684] meson8b-dwmac c9410000.ethernet eth0: No Safety Features support found
[   17.060722] meson8b-dwmac c9410000.ethernet eth0: PTP not supported by HW
[   17.067151] meson8b-dwmac c9410000.ethernet eth0: configuring for phy/rmii link mode
[   33.658949] meson8b-dwmac c9410000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[   33.779986] meson8b-dwmac c9410000.ethernet eth0: PHY [mdio_mux-0.1:08] driver [Meson GXL Internal PHY] (irq=25)
[   33.790315] meson8b-dwmac c9410000.ethernet eth0: No Safety Features support found
[   33.790355] meson8b-dwmac c9410000.ethernet eth0: PTP not supported by HW
[   33.790372] meson8b-dwmac c9410000.ethernet eth0: configuring for phy/rmii link mode
[   35.307339] meson8b-dwmac c9410000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx

The printout does include “meson8b-dwmac c9410000.ethernet: Wake-Up On Lan supported” , however earlier there is also a suspect “meson8b-dwmac c9410000.ethernet: IRQ eth_wake_irq not found”. Are there additional steps to get Wake On Lan working?