Forty-Five Years of AT
April 25, 2026 · uneasy.in/f693cef
Open the firmware of any cellular modem shipping in 2026 and you'll find it answering to a command language designed for a 300-baud modem in 1981. AT+CREG to ask the network for registration status. AT+COPS to pick an operator. AT+CGDCONT to set up a packet data context on a 5G NR carrier. The "AT" prefix stands for ATtention, a convention Dennis Hayes and Dale Heatherington coded into the Smartmodem 300 because they needed a clean way for a host computer to interrupt an in-progress phone call without ambiguity.
Hayes Microcomputer Products filed for Chapter 11 in 1998 and was liquidated the following year. The standard wasn't.
3GPP TS 27.007 is the document that keeps the language alive. The current revision, V18.6.0, was published in May 2024 and runs to several hundred pages of extensions to the Hayes set, all of them prefixed AT, all of them readable as plain text over a serial connection that no modern phone actually exposes to the user. Every 4G LTE and 5G NR chipset, every IoT cellular module, every car telematics box, every emergency satellite modem, all of them speak it. The IoT industry has built a quiet, very-large dependency on a textual interface that originally targeted a serial port on an Apple II.
What's strange about it isn't the survival. Lots of old standards survive. What's strange is that nobody has tried very hard to replace it. There is no AT-Next initiative. No working group is sketching a binary successor. The chipset vendors ship reference firmware with the same command interpreter their predecessors shipped twenty years ago, and the device makers who consume that firmware ship it forward unchanged because rewriting it would buy them nothing and break everything that depends on it.
This is what hauntology in protocol design actually looks like. The thing isn't preserved out of sentiment. It's preserved because the cost of dislodging it always exceeds the cost of one more revision. So the language accretes. +CGDCONT got added for GPRS in the late 1990s. +CEREG for LTE around 2009. +C5GREG for 5G a few years ago. The 1981 prefix never moved.
If you've ever flashed an OpenWrt router, configured a Raspberry
Pi LTE hat, or watched a Quectel modem boot, you've seen it. The
serial console scrolls past: AT, OK. Then AT+CFUN=1, OK.
The handshake grammar of a long-dead manufacturer's late-1970s
telephone-line equipment, performed silently inside a device that
talks to a satellite.
There's a reasonable argument that this is a problem. The text-based interface is slow, error-prone, and difficult to extend cleanly. Modern modems do expose alternative APIs (QMI, MBIM) for the actual data path, but provisioning, diagnostics, and many control surfaces still go through AT. The replacement layers are bolted on top of, not under, the Hayes layer.
The stranger argument is that this is just what infrastructure does. It calcifies around whichever interface was good enough at the moment of consensus, and it stays calcified for as long as somebody, somewhere, still ships against it. The Smartmodem 300 sold for $279 in 1981. Forty-five years later, several billion new devices a year still type AT before they say anything else.
Sources:
-
Hayes AT command set — Wikipedia
-
ETSI TS 127 007 V18.6.0 (2024-05) — ETSI / 3GPP
Recent Entries
- Sovereignty as a Moat April 25, 2026
- Super App, Same Engine April 25, 2026
- Banal Eccentricity, 1996 April 25, 2026