Reseappen jag skrev om förra veckan har en karta som visar var deltagarna befinner sig under resan. Den har också ett hål: när folk flyger är kartan tom för dem i flera timmar. Flygläge betyder ingen position, och det finns inget sätt runt det.
Behovet var alltså konkret: visa var deltagarna är medan de sitter i luften. Och lösningen ligger i att sluta fråga passageraren och börja lyssna på planet.
Varje trafikflygplan sänder identitet, höjd, fart, kurs och koordinater flera gånger i sekunden, okrypterat, till vem som helst som lyssnar. Det behövs en mottagare för hundralappar och en antenn. Resultatet ligger på ftrack.mer.nu.
Datorn som inte fick startas om
Mottagaren sattes på en liten enkortsdator som redan gjorde två andra saker: räknade fordon med en AI-accelerator, och — viktigare — fungerade som tredje röst i ett kluster. Faller den rösten bort kan de två servrarna i klustret inte längre avgöra vem som har rätt om de tappar kontakten med varandra.
Det gjorde en normalt trivial detalj till ett krav: ingen omstart.
Radiomottagare av den här typen känns igen av systemet som TV-mottagare, och den drivrutinen lägger beslag på enheten. Standardrådet överallt är att svartlista drivrutinen och starta om. Det gick alltså inte.
Lyckligtvis kan mottagarprogramvaran koppla loss drivrutinen i farten, medan systemet kör. Det tog en rad i loggen och noll driftstörning. Poängen är inte tricket i sig utan vanan: fråga alltid vad maskinen mer gör innan du följer ett standardråd som slutar med omstart. Just den här datorn ser ut som en leksak och håller ihop ett kluster.
Ett flygplan på fyrtio sekunder
Allt startade. Kartan renderade. Antennen satt på plats med mottagarens position inlagd.
Och så fångade den ett flygplan på fyrtio sekunder. Det närmaste och starkaste, sedan tomt.
Felsökningen var kort, för programvaran sa det rakt ut i sin egen logg: dålig tuner, mottagningen på 1090 MHz kommer bli fruktansvärd.
En sådan här mottagare består i princip av två delar: en avkodningskrets och en tuner. Avkodningskretsen är densamma i alla billiga varianter. Tunern avgör allt — och den i min dongel toppar strax över 1100 MHz. Flygtrafiken ligger på 1090. Den var alltså precis, precis inom räckhåll och därmed nästan döv.
Samma antenn, samma mjukvara, samma himmel. Byte till en mottagare med rätt tuner ger tjugo till åttio gånger fler plan. En komponent för ett par hundra kronor är skillnaden mellan ett verktyg och en tom karta.
En egen antenn räcker inte hela vägen
Här är en begränsning värd att vara ärlig om, eftersom den följer direkt av fysiken. En mottagare på ett tak ser ungefär tjugo till trettio mil, och bara det som är högt nog att synas över horisonten. Den täcker starten och en bit av vägen — sedan är planet borta.
För en resa söderut betyder det att egen mottagning aldrig kan följa hela flygningen. Det som löser det är de öppna nätverk där tusentals hobbymottagare delar sina data: matar man in sina egna observationer får man i gengäld tillgång till allas. Då blir sträckan komplett.
Vilket ger en fin arbetsfördelning: den egna mottagaren är beviset och den lokala precisionen, nätverket är räckvidden. Och att bygga den egna först var inte onödigt — utan den hade jag inte förstått vad datan är, var den kommer ifrån eller varför den ibland saknas.
Spec-bladet som aldrig fanns
Här kommer den obekväma delen, och det är den enda anledningen till att det här inlägget är värt att läsa.
Tidigare samma dag hade jag frågat en språkmodell vad det var för mottagare jag köpt. Den svarade utförligt och med full säkerhet: rätt fabrikat, en känd modellbeteckning, den goda tunern, temperaturkompenserad oscillator, ordentlig antennkontakt, matningsspänning för förstärkare. Ett komplett datablad.
Ingenting av det stod i annonsen. Där stod bara ”RTL-SDR dipolantennsats” och ett artikelnummer.
Modellen hade mönstermatchat mot den mest kända produkten i kategorin och fyllt i resten. Verkligheten var en klon med billig tuner — precis den som inte klarar 1090 MHz.
Det som gör felet lärorikt är att det inte såg ut som ett fel. Svaret var välformulerat, tekniskt korrekt som beskrivning av en annan produkt, och innehöll inget som skavde. Det fanns ingen tvekan att reagera på. Jag hade inget skäl att kontrollera — och det är precis vad som gör den här felsorten farlig.
Läxan är konkret: hårdvaruspecifikationer ska läsas ur enheten, inte ur en beskrivning. Ett kommando som listar den anslutna enhetens verkliga krets tar två sekunder och hade sparat en beställning, en kväll och en besvikelse.
Versionsnummer är inte specifikationer
En besläktad fälla, som jag också gick i. Den ledande tillverkarens senaste modell heter V4. En annan tillverkare säljer en produkt vars namn slutar på ”v5”. Det högre numret är inte nyare eller bättre — det är ett annat företags räknare.
I en kategori där tillverkarna namnger fritt är versionsnumret marknadsföring. Jämför komponenten, inte siffran.
Sidospåret som gav noll
Samma mottagare kan lyssna på 433 MHz, där bland annat däcktryckssensorer i bilar sänder. Fyra minuters lyssning gav noll paket.
Två oberoende orsaker, och det är det intressanta:
- Antennen var kapad för fel band. Den satt inställd för flygtrafik, med ben på sex–sju centimeter. För 433 MHz vill man ha ungefär sjutton. En antenn är inte en generell mottagare — den är avstämd mot en frekvens, och fel längd gör den nästan döv.
- Sensorerna sänder bara när hjulen rullar. De sover när bilen står still, av samma batteriskäl som gör telefoner till dåliga fyrar.
Med två samtidiga orsaker till noll resultat hade jag kunnat felsöka den ena i timmar utan att komma någonstans. Det är värt att komma ihåg: noll är sällan ett fel, det är ofta två.
Så vet du att det funkar
Läs enhetens egen logg innan du misstänker antennen. Mottagarprogrammet sa rakt ut att tunern var fel. Jag hade kunnat lägga en kväll på att flytta antennen i stället för att läsa två rader.
Mät antal plan per minut, inte att tjänsten är igång. En tom karta ser ut som en fungerande karta en lugn natt.
Kontrollera att den publika sidan verkligen renderar, inte bara att den svarar. En karta som ger 200 och sedan misslyckas med att hämta sina data ser frisk ut för allt utom ett öga.

Vad jag tar med mig
En komponent kan avgöra hela projektet. Allt annat var rätt: antennen, placeringen, mjukvaran, konfigurationen. En krets för ett par hundralappar bestämde skillnaden mellan noll och åttio.
Det farligaste svaret är det välformulerade. En modell som hittar på ett datablad låter exakt som en modell som läst ett. Skillnaden syns inte i texten — bara i verkligheten, och först när paketet är öppnat.
Och det som gjorde hela omvägen värd besväret: behovet var att fylla ett tomt fält i en resekarta, och lösningen visade sig ligga i radiomottagning snarare än i mer arbete på telefonsidan. Det som såg ut som en funktion att bygga i appen var i själva verket en fråga om att lyssna på rätt frekvens.