Skip to content

Wake a computer from anywhere

A Wake-on-LAN packet only works on the sleeping computer’s own network. Tealhand gets it there for you: when another of your devices runs Tealhand on that network and stays on (a Raspberry Pi, a NAS, a desktop that never sleeps), it sends the packet when you ask. We call that device a waker. You can be anywhere: on mobile data, at work, at another of your computers.

  • The computer is asleep: Tealhand wakes computers from sleep.
  • It is wired. A sleeping computer can be woken only over a network cable.
  • Its network adapter may wake it (Windows: Device Manager › the adapter › Power Management, “Allow this device to wake the computer”, and Advanced, “Wake on Magic Packet”; Linux: ethtool -s <interface> wol g).
  • A waker on the same network: any other computer on your device list that runs Tealhand and stays on. On a Raspberry Pi or NAS without a screen, run tealhand-host run (see Headless computers) and connect it to your phone.
  • Connect the sleeping computer to your phone once while it is on: that is how Tealhand learns where to send the packet.

Every computer tells your devices which networks it is on, as short codes that mean nothing outside your own devices (a hash of the subnet and the router’s address, salted with your phone’s key). Tealhand keeps the last codes of a computer while it sleeps. A computer that is online and has a code in common with the sleeping one is on its network: that’s the waker. With several, a direct connection wins over a relayed one, then the name.

On the phone, a sleeping computer shows one of these:

You see What it means
Asleep · can be woken by Pi Pi is online on its network. Wake asks Pi.
Offline · no waker on its network None of your online devices is on its network. Run Tealhand on another always-on device there. Until then, Wake works only from this phone on that Wi-Fi.
Offline · last seen 14:02 Tealhand doesn’t know its network yet (it runs an older Tealhand). Wake lets you pick this phone or an online computer.
  1. Open the computer’s page and tap Wake Lab PC.
  2. The card says who sends it: “Ask Pi to send a Wake-on-LAN packet to Lab PC.” Tap Wake.
  3. The row shows Waking Lab PC… (via Pi). Tealhand looks for the computer every few seconds.
  4. When it answers, you get Lab PC is awake. If it hasn’t answered after 2 minutes, you get Lab PC didn’t wake up, with the likely cause and its fix. Each computer reads its own setup while it is on (on Wi-Fi only, or a network adapter that isn’t allowed to wake it) and your devices keep it while it sleeps. Tealhand only reads these settings; it never changes them.

From another computer it works the same way: open the sleeping computer’s page in the Tealhand app, Power, Wake Lab PC. When that computer is on the sleeping one’s network itself, it sends the packet on its own.

You need two computers on the same wired network (or a Raspberry Pi and a desktop):

  1. Connect both to your phone.
  2. Let the desktop’s network adapter wake it (see Before you start), then put it to sleep.
  3. On the phone, turn Wi-Fi off (mobile data only) and open the desktop’s page: it says Asleep · can be woken by the other computer. Tap Wake.

A cloud server can’t be woken this way: it has no network you share and no Wake-on-LAN. Use your provider’s console to start it.

A waker sends a Wake-on-LAN packet only when one of your devices asks with a signed command, only for a computer on your device list, and at most once per 10 seconds per computer. Remote control off on the waker stops it too. It sends the packet only to the network card addresses it heard from the sleeping computer itself, never to addresses in the request. So the waker must have seen that computer online once (tealhand-host run keeps a connection to your other computers for this); until then Wake says “Pi doesn’t know Lab PC’s network address yet”.