The Wi-Fi That Worked Only When It Rained
Aqua restituens signum
The wireless link returned 98% packet loss except during storms.
- First Observed
- 2024
- Habitat
- A suburban home, recently re-occupied
- Reported By
- Predrag Gruevski, personal blog
- Consequence
- One season of online classes, taken in the rain.
Predrag Gruevski went home to visit his parents after a long stretch abroad. The Wi-Fi did not work. His parents had been living with it for months, and they had developed a folk theory: the internet works only when it is raining.
Folk theories about software are usually false. Folk theories about radios are usually frighteningly precise. Wi-Fi is a radio.
The link from the family's outdoor mesh node to the indoor router had 98% packet loss on dry days and recovered fully during storms. The recovery began in the first minutes of rainfall and lasted, on average, fifteen minutes past the rain's end, after which the connection collapsed again. The pattern was reproducible. The pattern survived router reboots, channel changes, and a new SSID.
The cause was a tree.
Wireless propagation does not work like a laser. The signal is a wave whose energy occupies a roughly ellipsoidal volume between transmitter and receiver: the Fresnel zone. Objects inside the Fresnel zone cause interference, even if the direct line of sight is clear. For a 2.4 GHz link over a typical garden distance, the first Fresnel zone is approximately a meter at its widest.
A nearby tree had grown just tall enough to encroach on the upper boundary of the Fresnel zone. The encroachment was minor in still air, but minor encroachments matter on a marginal link. When it rained, water collected on the leaves, the branches bent under the new weight, and the canopy dropped clear of the Fresnel zone. Signal recovered. As the canopy dried out, the branches sprang back to their dry position and re-occupied the zone. Signal died.
The fifteen-minute tail after each storm corresponded to the time it took for residual water to drip off the leaves and the branches to spring back. The system's behavior was a one-line mechanical model: a damped oscillator with rain as input, branch height as state, packet loss as output. Everything else was a consequence.
Gruevski replaced the link with hardware that used beamforming and multi-input antennas to tolerate the marginal geometry, and the connection became indifferent to weather.
The bug is satisfying not because it is unusual (wireless interference from foliage is a known problem in WISP deployments) but because the failure mode is so cleanly mechanical that it feels like it shouldn't be allowed. The internet is not supposed to care about how heavy the leaves are today. It does anyway.