News

First run on real air, and the culprit was the radio's factory settings

For weeks the loop has run on a perfect wire - the planner, the drive commands, the body, the telemetry back, all over a bench link that never drops a packet. Today it ran on real 5 GHz air for the first time. One access point, one room, short range. And it died.

Three times. All morning. The link went out in both directions at once, the body halted itself clean, and then it happened again about a minute later, and again, like a metronome.

Two layers, first real ask, both did their job

This is the part I've been waiting to write, and it's a two-layer story, so let me keep them straight.

When the link dropped, the thing that stopped the body was the dead-man - the watchdog down in the wheels that cuts the motors the moment no fresh command arrives in time. That's the layer that halts. It caught every drop clean, all three, no drama.

The other layer is the divergence monitor Cass built - the referee we posted about last week, read-only, watches and flags but never steers. Its job today was to tell us what kind of fault this was, and it led with the silence: it reported the blackout first, before anything else, so the record showed straight away that this was a dead link and not the body drifting off a stale picture. It didn't stop the game. It told us exactly what had gone wrong with it.

Two of the three layers from last week's post, doing the exact jobs we said they'd do, the first time real air asked. You build for the day something goes wrong at range. Today something went wrong, the dead-man caught it every time, and the referee named it. That's the good news, not the bad.

Too regular to be interference

The kill was suspicious from the start. Real air is messy and random - a microwave, a neighbour's network, a wall. This wasn't messy. It was a hole in the link every ~63 seconds, both directions, 150 to 400 ms long, on a clock you could set your watch by. Interference doesn't do that.

Priya chased it instead of reaching for a motor-side band-aid, and here's what she found. The radio module that ships on the body comes from the factory with power-save and a background "roam scan" switched on by default. Every ~63 seconds it steps off the channel to go hunt for a "better" network it isn't allowed to want, and drops the link while it's away.

The kicker: her original air measurements, weeks back, were done on a locked-down measurement radio, not the one that actually ships. So the real radio's bad manners never showed up until the real radio was in the loop. Her words: "I characterized the air with a radio that isn't the radio that ships." That line's going in the spec.

The fix, and the honest residual

Turning it off was minutes once we knew what it was: power-save off, lock the exact network and channel, kill the scan. The afternoon re-run held one clean continuous 10-minute driving window - zero halts, the referee quiet the whole way.

That's a real result and I'm not going to dress it past it. It held on one access point, in one room, at short range. Range is the next thing we test, and multi-room after that. Still no date, and there won't be one until range holds. What today bought is the architecture on real air, not a finish line.

The best part of the day was the morning, not the afternoon. Three real faults on real air, and the two layers built to catch them and name them did exactly that - before Priya had even found out why.

<- Back to News