The MacBook is connected to power source and with an Ethernet cable to a router. Just in case, In "System preferences > Energy Saver" I have set "Wake for Wi-Fi network access" checkbox.
There is a Linux machine with an ethernet connection to the same router -- they are in same LAN segment.
My goal is to wake a sleeping MacBook with a Magic WakeOnLan packet, sent from a Linux machine. However none of the Linux apps I tried worked: neither wakeonlan perl script (that sends broadcast UDP messages), nor etherwake (that sends raw MAC frames).
On various internet sources I've found controversial information: some complaints that when Mac is sleeping it goes to hybernation, meaning you can't WakeOnLan a sleeping Mac.
I am using a regular router, not Apple AirPort (and don't have Apple TVs on my network).
Is my understanding correct, that
1) There is no way to wake up a sleeping Mac by sending a magic WoL packet anymore (even though it used to be possible in older macOS versions)
2) If I get AirPort Extreme, and connect it to my router, I will be able to wake up Mac just by trying to access any of the network services I have enabled in Sharing on my MacBook?