From 52b65cec9616331a4e9ca49d7e650f2fc70e5cc7 Mon Sep 17 00:00:00 2001 From: Dave Hibberd Date: Tue, 26 Mar 2024 23:47:23 +0000 Subject: [PATCH] First commit of a silly idea --- docs/about.md | 7 ++++ docs/clients/qtttcp.md | 0 docs/config/bpq.md | 4 +++ docs/glossary.md | 9 +++++ docs/hardware.md | 10 ++++++ docs/index.md | 31 ++++++++++++++++ docs/install/bpq.md | 52 +++++++++++++++++++++++++++ docs/modems/direwolf.md | 0 docs/modems/ninotnc.md | 78 +++++++++++++++++++++++++++++++++++++++++ docs/modems/qtsm.md | 0 docs/radios/gm340.md | 18 ++++++++++ docs/radios/index.md | 9 +++++ docs/software.md | 55 +++++++++++++++++++++++++++++ mkdocs.yml | 20 +++++++++++ 14 files changed, 293 insertions(+) create mode 100644 docs/about.md create mode 100644 docs/clients/qtttcp.md create mode 100644 docs/config/bpq.md create mode 100644 docs/glossary.md create mode 100644 docs/hardware.md create mode 100644 docs/index.md create mode 100644 docs/install/bpq.md create mode 100644 docs/modems/direwolf.md create mode 100644 docs/modems/ninotnc.md create mode 100644 docs/modems/qtsm.md create mode 100644 docs/radios/gm340.md create mode 100644 docs/radios/index.md create mode 100644 docs/software.md create mode 100644 mkdocs.yml diff --git a/docs/about.md b/docs/about.md new file mode 100644 index 0000000..f4376d2 --- /dev/null +++ b/docs/about.md @@ -0,0 +1,7 @@ +# About + +Hello, I'm Hibby MM0RFN and I have compiled this to the best of my ability. + +I work on the Debian project and can be emailed via hibby at debian.org + +The things I love include Scottish Consulate & 57North & Bikes & Hacking & Debian & Radio & Curling & 🏳️‍🌈 & 🦊 diff --git a/docs/clients/qtttcp.md b/docs/clients/qtttcp.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/config/bpq.md b/docs/config/bpq.md new file mode 100644 index 0000000..8c24579 --- /dev/null +++ b/docs/config/bpq.md @@ -0,0 +1,4 @@ +# BPQ +Configure BPQ this way: + + * Badly diff --git a/docs/glossary.md b/docs/glossary.md new file mode 100644 index 0000000..ffd3a3e --- /dev/null +++ b/docs/glossary.md @@ -0,0 +1,9 @@ +# Glossary + +| Term | Translation | +|------|-------------| +| AX.25 | The underlying packet radio protocol, sometimes used as a generic term | +| BBS | Bulletin Board System - an email and message service hosted on a nearby mailbox | +| NET/ROM | A routing and discovery layer that makes connecting to nearby and distant stations easier | +| Node | A computer in the network. It can be a full featured system with applications hosted at home or at a nearby site, or it can be a simplified system that only passes messages on behalf others | +| PMS | Personal Message System - a reduced functionality BBS hosted on your home node | diff --git a/docs/hardware.md b/docs/hardware.md new file mode 100644 index 0000000..ecae379 --- /dev/null +++ b/docs/hardware.md @@ -0,0 +1,10 @@ +# Hardware +## Modems +### NinoTNC +NinoTNC is lovely + +### Another + +## Radios +### GM340 +I use this diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..38bcfe2 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,31 @@ +# Welcome to Hibby's Packet Radio Guide + +Hi, welcome - thanks for coming by! + +## What is Packet Radio? + +Packet Radio is a niche within [Amateur Radio](https://en.wikipedia.org/wiki/Amateur_radio). It combines elements of networking and the dark art of software to connect computers over a long distance without wires. + +With packet radio we can transfer information, files or messages without relying on the internet. We can control and understand every part of our link, from the computer and the software, through the modem, radio and antenna. + +## Taking Your First Steps + +This is a broad part of our hobby, and it can be overwhelming to get started. There are lots of interconnecting components and new terms to learn. + +Keep your eye on the [glossary](glossary.md) if the terms get confusing. + +The key things you will need are: + + * An Amateur Radio License + * A radio + * An antenna + * A computer + * A modem + * A cable to interface between the computer & radio + * Software + +### Recommended first setup + +A tried and true first setup is to use a [proven radio](radios/index.md) with [QtSoundModem](modems/qtsm.md) and [QtTermTCP](clients/qtttcp.md) on VHF or UHF at 1200bd to access someone else's node. + + diff --git a/docs/install/bpq.md b/docs/install/bpq.md new file mode 100644 index 0000000..5df166b --- /dev/null +++ b/docs/install/bpq.md @@ -0,0 +1,52 @@ +# BPQ +## Raspberry Pi +### Install Key + +**Do this once, only.** + +Our very own Hibby MM0RFN, also a Debian maintainer, has kindly packaged and is maintaining various Linux packet radio software, among them LinBPQ. + +To start using his repo, you need tell your machine to trust the repo: + +``` +wget -q https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key +sudo mv hibby.key /etc/apt/trusted.gpg.d/hibby.asc +``` + +### Set up Repo +Then you need to add the repo for your OS: + +``` +# Ubuntu 22.04 LTS amd64 +sudo sh -c 'echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages jammy main" >> /etc/apt/sources.list' + +# Raspberry Pi OS 12 - 'Bookworm' +sudo sh -c 'echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bookworm main" >> /etc/apt/sources.list' + +# Raspberry Pi OS 11 - 'Bullseye' +sudo sh -c 'echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bullseye main" >> /etc/apt/sources.list' + +# Debian 13 amd64 +sudo sh -c 'echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages testing main" >> /etc/apt/sources.list' + +# Debian 12 amd64 +sudo sh -c 'echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bookworm main" >> /etc/apt/sources.list' +``` + +### Install + +After following the above steps, to install LinBPQ, run the below commands: + +``` +sudo apt update +sudo apt install linbpq +``` + +### Configure + +``` +sudo mv /usr/share/doc/linbpq/examples/bpq32.cfg /etc/bpq32.cfg +sudo nano /etc/bpq32.cfg +sudo chown :linbpq /etc/bpq32.cfg +sudo chmod 644 /etc/bpq32.cfg +``` diff --git a/docs/modems/direwolf.md b/docs/modems/direwolf.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/modems/ninotnc.md b/docs/modems/ninotnc.md new file mode 100644 index 0000000..11ece8b --- /dev/null +++ b/docs/modems/ninotnc.md @@ -0,0 +1,78 @@ +# NinoTNC + +The NinoTNC is a modern hardware modem that can come in either kit form or assembled. +It connects to a computer by USB, and to a radio by a cable that is usually custom built buy the operator. + +It supports traditional 300, 1200 and 9600 baud packet modes as well as some more modern experimental modes designed to be more efficient that also include forward error correction. The NinoTNC has become an integral part of many new packet radio deployments in the UK and further afield. + +## Buying one + +Information is available on the [TARPN Website Ordering Page](https://tarpn.net/t/nino-tnc/n9600a/n9600a_info.html). + +For the UK & Ireland, boards are are available from [Tom, M0LTE](https://ko-fi.com/s/981d919ea3). + + +## Build + +The build gide for the NinoTNC is available on the [TARPN Website](https://tarpn.net/t/nino-tnc/nino-tnc.html). + +## Operation + +The Through Hole NinoTNC has 2 banks of switches: Mode and Signals, explanation below. + +USB is always 57600 baud + +### Mode Switch + +Current modes as of firmware release 3.3.1: + +| Mode | Baud | bps | Mod | Protocol | Intended mode | BW | Typical use | +| ---- | ---- | --- | ---- | -------- | ------------- | ------ | ----------- | +| 0010 | 9600 | 9600 | GFSK | IL2P+CRC | FM | 25k | Current recommended mode for new 70cm (25kHz) links where both ends are compatible | +| 0100 | 4800 | 4800 | GFSK | IL2P+CRC | FM | 12.5k | Current recommended mode for new 2m (12.5kHz) links where both ends are compatible | +| 0101 | 2400 | 2400 | DPSK | IL2P | FM | 12.5k | For situations where only a speaker/mic connection is available but > 1200 baud is desired | +| 1011 | 1200 | 2400 | QPSK | IL2P+CRC | SSB/FM | 2.4kHz | HF - quadrature version of 1200 BPSK, twice the throughput for +3dB SNR. | +| 1010 | 1200 | 1200 | BPSK | IL2P+CRC | SSB/FM | 2.4kHz | HF - use for circuits where wider transmission is acceptable. | +| 1001 | 300 | 600 | QPSK | IL2P+CRC | SSB | 500Hz | HF - quadrature version of 300 BPSK, twice the throughput for +3dB SNR | +| 1000 | 300 | 300 | BPSK | IL2P+CRC | SSB | 500Hz | HF - slowest but best performing mode. ~7dB better than classic 300 baud FSK AX.25 | +| 1110 | 300 | 300 | AFSK | IL2P+CRC | SSB | 500Hz | CRC improvement of IL2P 300 baud AX.25. Recommended if you can't do BPSK / QPSK on HF. | + +Superseded (but still supported) modes: + +| Mode | Baud | bps | Mod | Protocol | Superseded By | Intended mode | BW | Typical use | +| ---- | ---- | --- | ---- | -------- | ------------- | ------------- | ------ | ----------- | +| 0000 | 9600 | 9600 | GFSK | AX.25 | 9600 GFSK IL2P | FM | 25k | Backwards compatibility with legacy G3RUH modems | +| 0001 | 9600 | 9600 | GFSK | IL2P | 9600 GFSK IL2P+CRC | FM | 25k | Backwards compatibility. Obsoleted by 9600 GFSK IL2P+CRC | +| 0011 | 4800 | 4800 | GFSK | IL2P | 4800 GFSK IL2P+CRC | FM | 12.5k | Debugging against 4800 GFSK IL2P+CRC in case of issues with the CRC mode | +| 1111 | 1200 | 1200 | BPSK | IL2P | 1200 BPSK IL2P+CRC | SSB/FM | 2.4kHz | Backwards compatibility | +| 0111 | 1200 | 1200 | AFSK | IL2P | 4800 GFSK IL2P+CRC | FM | 12.5k | Improvement over 1200 AFSK IL2P, where none of the GFSK modes are possible | +| 0110 | 1200 | 1200 | AFSK | AX.25 | 1200 AFSK IL2P | FM | 12.5k | VHF APRS, backwards compatibility with classic / legacy TNCs like PK232 | +| 1100 | 300 | 300 | AFSK | AX.25 | 300 AFSK IL2P | SSB | 500Hz | Backwards compatibility with legacy HF packet modems. Modulation invented c. 1962! | +| 1101 | 300 | 300 | AFSK | IL2P | 300 AFSK IL2P+CRC | SSB | 500Hz | IL2P improvement of AFSK 300 baud AX.25. | + +Prefer: + * QPSK > BPSK > DPSK > AFSK + * IL2P+CRC > IL2P > IL2P > AX.25 + * SSB > FM + +### Signals Switch + +#### Switch 1 - Transmit audio range selection - DATA/MIC + +The data / on / up position increases the TXA level so the TX-LEVEL potentiometer adjustment is in the range needed by the Data radio. + +The mic / off / down position reduces transmit audio to the range needed by a microphone-level-input radio. + +#### Switch 2 - Receive audio sensitivity - 1x/11x + +The on / up / 1x position is about the right level for a speaker output, and is also appropriate for a data radio output. + +The off / down / 11x position is used for radios which have a very low level of receive audio, e.g. perhaps when taken from a speaker mic connection. + +#### Switch 3 - Transmit audio coupling control - DC/AC + +Leave in the off / down / AC position unless you have a rare case where having the voltage into the modulator track the TNC’s output, exactly, is required (DC coupling). + +#### Switch 4 - External carrier detect - EN/CD + +Leave in the off / down / CD position unless you want to provide external transmit inhibit using pin 2 of the DB9 connector. diff --git a/docs/modems/qtsm.md b/docs/modems/qtsm.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/radios/gm340.md b/docs/radios/gm340.md new file mode 100644 index 0000000..2d0203f --- /dev/null +++ b/docs/radios/gm340.md @@ -0,0 +1,18 @@ +# GM340 + +The Motorola GM340 can be configured as VHF or UHF at the factory and supports deviation suitable for 1200bd and 9600bd + +## Prior Example + +MM0RFN is using a GM340 as the 9600bd/UHF port on GB7HIB. + +General programming advice from [BI7JTA](https://www.bi7jta.org/wiki/index.php?title=Main_Page#GM340.2FGM350.2FGM360) was followed, including connector definition. + +## Power + +To change output power, open GM340 > Per Radio > RF with a double click and vary high/low power modes + +## RF Channel Properties + +To change frequency, open GM340 > per Channel > double click a channel and assign new frequency, spacing and power level (defined in Power section) + diff --git a/docs/radios/index.md b/docs/radios/index.md new file mode 100644 index 0000000..d7d4dd8 --- /dev/null +++ b/docs/radios/index.md @@ -0,0 +1,9 @@ +# Radios + +There are a huge number of radios we can use for packet radio, and they can be subdivided arbitrarily into many categories. + +## Known good Beginner Radios + +| Radio | +| ----- | +| [GM340](gm340.md) | diff --git a/docs/software.md b/docs/software.md new file mode 100644 index 0000000..625bf67 --- /dev/null +++ b/docs/software.md @@ -0,0 +1,55 @@ +# What are my choices? + +Currently the choices for software boil down to 3 major stacks + +## LinBPQ + +LinBPQ is written by John G8BPQ and allows a computer to act as a node in a NET/ROM and AX.25 network. +It is being actively developed with both new features and bugfixes being rolled out on a regular basis. + +It offers the following applications: + + * BBS + * Chat + +For details on how to use it: + + * Installation information can be found [here](install/bpq.md). + * Configuration can be found [here](config/bpq.md). + * The project website can be found [here](https://www.cantab.net/users/john.wiseman/Documents/) + +## XROUTER + +XROUTER is written by Paula G8PZT and allows a computer to act as a node in a NET/ROM and AX.25 network. +It is being actively developed with new features and bug fixes. + +It offers the following applications: + + * Chat + * Personal Message Server + + +For details on how to use it: + + * Installation information can be found [here](install/xrouter.md). + * Configuration can be found [here](config/xrouter.md). + * The project website can be found [here](https://groups.io/g/xrouter/topics) + +## Linux Native Stack + +The Linux native AX.25 stack has been authored by many over the years, and is shipped as a standard part of Debian. + +It comprises kernel modules and userland code, and is not bundled as a single big monolithic application. + +The system offers the following applications: + + * Node frontend via Uronode + * BBS via FBB + * Bash or any other terminal with axspawn + * Many applications with axwrapper + + +For details on how to use it: + + * Installation information can be found [here](install/linux.md). + * Configuration can be found [here](config/linux.md). diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..abaabd0 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,20 @@ +site_name: Hibby's Packet Radio Guide +site_url: https://packetradio.debian.net +nav: + - Home: "index.md" + - About: "about.md" + - Radios: + - "radios/index.md" + - Modems: + - NinoTNC: "modems/ninotnc.md" + - QtSoundModem: "modems/qtsm.md" + - Direwolf: "modems/direwolf.md" + - Clients: + - QtTermTCP: "clients/qtttcp.md" + - Software Setup: + - "software.md" + - BPQ: "install/bpq.md" + - Node Configuration: + - BPQ: "config/bpq.md" + - Glossary: "glossary.md" +theme: readthedocs