Some days ago, a customer asked me if an appliance she’s using can be turned on using WoL.
Initially, I replied no, because I could not find a trace of WoL capabilities on the manuals. Still, then I got curious, and I decided to write my own WoL utility in Python to generate the ”magic packets”.

But why did I write a WoL utility instead of using one ready-made?

Why not! I like to keep my Python skills updated, so I wrote it.

You can find it on Github at this link: https://github.com/mszeu/YAWoL

As usual, the utility kernel is made of three lines, but parameter handling, input checking and validation, etc., took much more lines of code than usual.

I included some lines of code on the Wake-on-Article on Wikipedia

And now…let me introduce you YAWoL – Yet Another Wake-on-Lan Utility

Enjoy 🙂

DESCRIPTION

wakeup is a simple python script that generates and sends a Wake-on-Lan magic packet to the specified MAC address.

The script is given AS IS and it is under the AGPL Aferro license 3.0.

For more information about the license terms, please refer to the LICENSE file distributed with the project.

USAGE

wakeup.py MACAddress [–port port] [–times times] [–interval interval]

  • MACAddress: is the MAC address of the appliance to wake up (e.g.: 0011223344AF)
  • –port: the destination of the magic packet. It is not specified the default is 7.
  • –times: times to send the magic packet. If it is not specified, the default is 1.
  • –interval: interval, in seconds, between packets. If it is not specified, the default is 0.

EXAMPLES

wakeup.py 0011223344AF –port 9

wakeup.py 0011223344AF –port 9 –interval 2 –times 10

wakeup.py 0011223344AF

REQUIREMENTS

The program requires Python 3. It was tested and developed under Python 3.10

Many thanks to JetBrains for giving us the Open Source License for free with full access to their developer suite.