This is an old revision of the document!
Table of Contents
Packet History
The Beginnings of Packet Radio in the UK by Jonathan G4KLX
This document is based on my memories of the time. I do not keep a diary so some of the dates may be a little off, although some of them stay with me and I can date them based on other events occurring at the same time. Although this document is split into sections, and will be read linearly, the realty was that a lot of these things happened in parallel, and there will be a lot of cross referencing between different topics.
Technically the first packet radio in the UK was in the mid-1980s following on from an article in RadCom about a simple packet system called BBC Packet, using a BBC Micro. It was a remarkable program which included a simple terminal, and allowed simple point-to-point connections and chats. For a brief time this mode was quite busy, but was ultimately a technical dead end. However a number of us found it an interesting idea, and a latent interest in packet radio was created.
I got my first TNC in late 1987, a Pac-Com TNC-220 which was a non compatible evolution of the classic TNC-2. In the UK Packet Radio was in a grey zone since it involved passing third party traffic (even when digipeating) and that was outside the scope of the licence at the time. Despite this dubious legality it was known that the RSGB and the DTI/RA or whatever they were called that year were looking into it, and we should continue playing with packet and don't do anything too silly until they worked out new rules, this would take a number of years. At the time it was still possible to just about do multi-hop digipeating with reasonable success, but the packet channel was starting to get extremely busy.
At the time you could buy Proceedings of the Tucson Amateur Packet Radio Conference which was held in various US cities in the Autumn and contained many interesting papers. There was plenty of hot air in them, from people who had outrageous ideas and no actual implementation skill, but you would get papers that would genuinely make you sit up and think, and sometimes talked of implementations of their ideas. One such callsign was Phil Karn KA9Q, who in one publication described the KISS TNC and protocol and that suitable ROM images for the TNC-2 existed.
As an aside I went to the 30th TAPR conference in Tucson in 2006, and it was great fun.
Sometime around this time, the Tiny-2 was released which was a TNC-2 clone but using more modern components, for example a TCM-3105 modem instead of an AM-7910 which saved a lot of space. The original TNC-2 was a huge PCB while the Tiny-2 fitted in the hand, it has a number of advantages: you could actually buy them, and they weren't massively expensive, although by modern standard they were eye wateringly expensive, but the hobby was like that in those days.
Being a technical sort, I wanted to know how it all worked, and what could be done to move things forward. Having a TNC in KISS mode offered access to the raw underlying packet data in a way that allowed for experimentation. Even then we knew that the KISS protocol was a little too simplistic as it didn't allow access to the timing of when a packet was transmitted which affected the timers within AX.25.
Enter NET/ROM
In early 1988 we were becoming aware of a new packet system named NET/ROM that was appearing within audible range of my excellent RF location in Derbyshire. NET/ROM was a replacement ROM for a TNC-2 close which offered a simple networking and transport layer (layers 3 and 4 of the ISO model) on top of connected mode AX.25. Not bad running on a TNC with a 1 MHz Z80 and 32K of RAM and ROM. You had to buy a separate NET/ROM for each band and link them via their serial ports. The callsign of the node was burned into the ROM at manufacturing time but you could change other parameters including the sysop password, the node alias, and other items. Each ROM cost around £40 in 1988 money and had to be ordered from California from Software 2000. The arrival of the Tiny-2 was fortuitous.
There was already a single port digipeater at Alport Height (IO93FB) on 2m, and it was decided that we could make use of this site on multiple bands to provide trunking links and user access. I bought a number of NET/ROMs and over a short amount we had nodes on 4m, 2m, 70cms, and two links on 23cms. The latter was using about one Watt and one set to the north to Emley Moor with one polarisation, and the other was to the Birmingham area with the other polarisation. It worked well considering it was all operating with 1200 bps AX.25.
Around this time the first sysop meeting was arranged. Many of us who had an interest in packet radio met at a hotel in Crick and spent the day talking about what we were doing and what we could do in the future, and how we should co-ordinate with each other. The RSGB attended in the person of G3XDV who explained that they were negotiating about new guidelines with the powers that be. It was all very exciting, and NET/ROM was discussed a lot.
I had known John G8BPQ for a number of years. We both had an interest in V/U/SHF and we both lived in good RF locations, we would often work on 23cms SSB. I don't think we had met at this stage however.
John and I found that we had a mutual interest in packet radio and we would work and chat about it, and we both expressed interest in this new NET/ROM node protocol.
We got a copy of the NET/ROM manual from the Leicester group in early 1988, we met them at the Trowell motorway service station and they gave us a photocopy of it. This gave us the protocol definition, and John took it away and started implementing. The first packets from the nascent BPQCode was transmitted using an IBM SDLC card and a telephone modem. He phoned me to get me to listen for it and report what I saw. I have a feeling that it didn't work first time, but I may be wrong on that.
His software was written in 8088 assembler as a Terminate and Stay Resident (TSR) program on MS-DOS, TSRs would sit in the background, would typically hook into the vertical refresh interrupt (at 18 Hz) and essentially operated invisibly to the other program on MS-DOS. Remember we didn't have multitasking as standard, Linux didn't exist yet and Windows was still a joke. Many people did not even own PC compatible computers, as they were termed then, as standard, and if they did, it may have only been an 8086 or 80286 running at 8 or 10 MHz. Also RAM was limited, 640K RAM was still expensive.
BPQCode in the very early days was in source form so you could configure (callsign, etc) and compile it. That stopped fairly quickly after some people changed the copyrights on it, which understandably annoyed John immensely. It had a fairly crude packet tracing format. It worked very well and became a big hit with people who ran BBSs. I wrote a more fully featured packet tracing code for it in either late 1988 or early 1989, I followed the TAPR format for the AX.25 level 2 part, but devised my own format for NET/ROM.
John attended Sysop 2 and subsequent ones, and was often deferred to in technical discussions by most people.
About BBSs
For a multiport BBS, you needed to be able to run multiple copies of the BBS program. The main BBS programs of the time were written by W0RLI and WA7MBL. There were others, but they gained little traction since they didn't offer all of the features of these two. The way that multiple BBS instances were able to run on MS-DOS was via DesqView. Once BPQCode became common, it was not uncommon to see multiple instances of MBL431 running. The idea that a single program could be written in such a way as to access multiple ports inherently took some time to be appreciated. This led onto development by AA4RE and F6FBB in the fullness of time.
The way that a BBS interacted with BPQCode was as if they were talking to a real TNC talking the TAPR command set. John implemented a suitable subset of this to support the BBSs. I am not sure how much interaction he had with the software authors, this was pre Internet for most of us, and often he would send and receive letters to interested parties overseas.
There was an interface that ran parallel with the TAPR commands and that was host mode. This was created by the guy behind NET/ROM, and indeed NET/ROM implemented a subset of it for commanding it over the serial port. I think we both looked at host mode and declared it as being nonsense on stilts, even over thirty years later, I still feel that way about it.
DANPAC and GB3RP/GB7RP
Every area had its own packet group. The Birmingham area had MAXPAK and a pretty good magazine to go with it. The Leicester area had LURPAC, and we had DANPAC, the Derbyshire and Nottinghamshire Packet Radio Group, or something similar.
KA9Q Net/NOS
Sysop 2 and 9600 bps FSK
In early 1988, sysop 2 was held in Bradford, I was the first John went to, and I travelled with him. BPQCode was still not massively known, but was taking off (remember pre Internet so software distribution was more challenging) and many still hadn't heard of it.
At the meeting, G3RUH gave a demonstration of his 9600 bps modems, and we were mightily impressed, although no RF was involved. Both John and I got RUH beta boards (only difference was a missing pull-up or pull-down resistor on the DCD line). They were Eurocard sized and interfaced to standard TNC-2 modem breakout pins.
As impressive as the modem was, the problem we had was the lack of suitable radios to use with them. Tapping into the discriminator for receive was relatively simple, but not all radios used true frequency modulation on transmit, many used phase modulation. For FM use this difference was unimportant, but for high speed packet, it was fatal. This is one of the reasons why we didn't get 9600 bps links running, we wanted to, but no-one seemed to have the skill to design a suitable radio.
Kantronics came out with a special 9600 bps capable radio in the early 1990s, but they were very expensive. By all accounts they were very good, but I never got to use one.
My modem spent its time, post 1990, on the packet satellites, on my modified FT-290R and TS-790E, attached to a Kantronics Data Engine.
Linux Kernel AX.25
John created multi-drop KISS and Ack mode to get around issues in the KISS protocol. He did a version for the Kantronics Data Engine with multi-drop KISS, and we ran a multi-port node with it: 4m, 2m, 70cms, and two dedicated 23cms links.
He did an OS/2 version at one stage, and maybe started porting it to C around that time. It was closed source for many years. I may have some very early versions on 5.25” floppy disks somewhere.
The node was GB3RP/GB7RP in IO93FB as part of the DANPAC network. It closed down sometime in the mid-90s I think.
TheNet came later and was subject to a court case as it was deemed to be a reverse engineered NET/ROM, with the C arguments reversed. However the cat was out of the bag so to speak. Host Mode is an abomination and should be shunned by all sane people!
I wrote the Linux kernel AX.25 code starting in 1995 as a completely separate development. I added NET/ROM and ROSE (X.25 later 3) which was always a minority protocol, although one well tailored for packet as it has a very low overhead.
I stopped AX.25 development in 1998 I think. I can’t answer those points, but NET/ROM was a commercial product with your node callsign burnt into it. I bought a few and they cost about £40 each in 1988.
I never used TheNet as we had BPQCode which was superior. Ultimate TheNet like NET/ROM had to live in a 32K ROM with 32K RAM, and a slow Z80, not ideal.
John got invited over to the US a lot with it expenses paid at the time.
GB3RP suffered from temperature extremes, but it survived. If we’d had Pi’s at the time, it would have been perfect. A Pi and a pile of Nino TNCs and we’d have been laughing.