From 9cdd226f1be6f6bc72f20c846f287ebff9e18943 Mon Sep 17 00:00:00 2001 From: Dave Hibberd Date: Mon, 1 Apr 2024 23:40:33 +0100 Subject: [PATCH] Updates in flight --- docs/beginners-guide.md | 6 +- docs/clients/qtttcp.md | 61 ++++++++++++++++ docs/equipment/antennas.md | 1 + docs/{radios => equipment}/ft-7900.md | 0 docs/{radios => equipment}/ft-891.md | 0 docs/{radios => equipment}/gm340.md | 0 docs/equipment/index.md | 1 + docs/{radios/index.md => equipment/radios.md} | 0 docs/install/bpq.md | 72 ++++++++++++++++++- docs/modems/index.md | 41 +++++++++++ mkdocs.yml | 10 ++- 11 files changed, 187 insertions(+), 5 deletions(-) create mode 100644 docs/equipment/antennas.md rename docs/{radios => equipment}/ft-7900.md (100%) rename docs/{radios => equipment}/ft-891.md (100%) rename docs/{radios => equipment}/gm340.md (100%) create mode 100644 docs/equipment/index.md rename docs/{radios/index.md => equipment/radios.md} (100%) create mode 100644 docs/modems/index.md diff --git a/docs/beginners-guide.md b/docs/beginners-guide.md index 9a6cf3f..078c108 100644 --- a/docs/beginners-guide.md +++ b/docs/beginners-guide.md @@ -8,13 +8,17 @@ In packet radio, we connect our computers together over the air to transmit data You'll need a Radio, and a computer with a cable to connect them together. Sometimes these are easy to buy online, and the moreadventurous can make them. If you've done [FT-8](https://en.wikipedia.org/wiki/FT8) or another datamode, you might already have this cable. +Learn more about some Radio equipment [here](equipment/index.md). + ### Modem You'll need a modem of some variety. For more advanced users this of often a piece of hardware such as a [NinoTNC](modems/ninotnc.md), but as a beginner you're better suited to a piece of software such as [QtSoundModem](modems/qtsm.md). As the software costs nothing and takes no time to be delivered, it's quicker to get started with! +Learn more about modems [here](modems/index.md) + ### Client Software -You'll need a client of some form to be able to connect to the network. I would recommend [QtTermTCP](clients/qttcp.md) to start with. Again, it's free and it works with QtSoundModem, a NinoTNC and other hardware & software offerings too. +You'll need a client of some form to be able to connect to the network. I would recommend [QtTermTCP](clients/qtttcp.md) to start with. Again, it's free and it works with QtSoundModem, a NinoTNC and other hardware & software offerings too. ### Addresses diff --git a/docs/clients/qtttcp.md b/docs/clients/qtttcp.md index 35734e2..0f1fd68 100644 --- a/docs/clients/qtttcp.md +++ b/docs/clients/qtttcp.md @@ -1 +1,62 @@ # QtTermTCP + +## Set Up Repo + +If you have not already done so, set up the repo [as shown here](../repo.md). + +## Install + +To install QtTermTCP from the repo, run the below commands: + +``` +sudo apt update +sudo apt install qttermtcp +``` + +## First Run + +From your application menu, open the hamradio menu and highlight QtTermTCP. + +The terminal is split into 3 key panes - a monitor window, a terminal scrollback and an input line. + +### Monitor Pane + +The monitor pane allows you see traffic from your modems or AX.25 ports as it is received and sent. + +This pane can be scrolled to see historic traffic, and it will allow you to monitor NET/ROM NODES broadcasts, what you are sending and receiving (to compare with the terminal pane below) and if information is corrupt. + +### Terminal Pane + +The terminal pane presents received data after your computer has acknowledged receipt to the remote computer. This might be the interactive menu of the remote station, the list of bulletins on a messageboard or live chat. + +This data may be incomplete, and is displayed as soon as packets are received and decoded. It often leads to part of a menu being displayed - keep an eye on the monitor to see what and if is going to/from your radio. + +### Input Pane + +The input pane is where you interact with the remote computer. An entry in here, followed by the return key, will be sent to the computer you are interacting with. Commands often take the form of a single letter or short entry like `bbs` or `chat` at a remote system's menu, or `lm` (list mine) or `sp MM0RFN` (send personal message to MM0RFN). + +Pressing up in this pane might recall previous commands you have input. + +## BPQNode Integration + +QtTermTCP pairs very well with BPQ as a command and control method and is worth trying. + +### Setup + +Configure a connection to BPQ by selecting the 'Setup' menu, Hosts and any of the host entries in the menu that appears. + +I assume you are connecting to a local BPQ Node, so I recommend the following settings, where the User and Password are the telnet access details you configured during the [first set up of your BPQ Node](../install/bpq.md). + +Host Name: 127.0.0.1 +Port: 8011 +User: +Password: +Session Name: BPQ Local + +### Helpful Hints + +Select the AX.25 ports that LinBPQ presents you in the Monitor Pane by selecting monitor from the menu and selecting some ports. This means you don't need to enter `listen 2` to see feedback from port 2, as an example, and you can monitor what is happening when you try to connect through that port. + +## KISS Setup + +KISS set up allows you to use a modem directly with QtTermTCP as a lightweight client with any modem that presents a KISS Interface. This can be both KISS by serial or kiss by IP. diff --git a/docs/equipment/antennas.md b/docs/equipment/antennas.md new file mode 100644 index 0000000..b38b08c --- /dev/null +++ b/docs/equipment/antennas.md @@ -0,0 +1 @@ +# Antennas diff --git a/docs/radios/ft-7900.md b/docs/equipment/ft-7900.md similarity index 100% rename from docs/radios/ft-7900.md rename to docs/equipment/ft-7900.md diff --git a/docs/radios/ft-891.md b/docs/equipment/ft-891.md similarity index 100% rename from docs/radios/ft-891.md rename to docs/equipment/ft-891.md diff --git a/docs/radios/gm340.md b/docs/equipment/gm340.md similarity index 100% rename from docs/radios/gm340.md rename to docs/equipment/gm340.md diff --git a/docs/equipment/index.md b/docs/equipment/index.md new file mode 100644 index 0000000..9821f8d --- /dev/null +++ b/docs/equipment/index.md @@ -0,0 +1 @@ +# About Equipment diff --git a/docs/radios/index.md b/docs/equipment/radios.md similarity index 100% rename from docs/radios/index.md rename to docs/equipment/radios.md diff --git a/docs/install/bpq.md b/docs/install/bpq.md index 63bdce5..eb893da 100644 --- a/docs/install/bpq.md +++ b/docs/install/bpq.md @@ -13,7 +13,7 @@ sudo apt update sudo apt install linbpq ``` -## Configure +## Pre-Configure ``` sudo cp /usr/share/doc/linbpq/examples/bpq32.cfg /etc/bpq32.cfg @@ -21,3 +21,73 @@ sudo nano /etc/bpq32.cfg sudo chown :linbpq /etc/bpq32.cfg sudo chmod 644 /etc/bpq32.cfg ``` + +## Configure + +The configuration file I ship in the repo, there are hopefully some obvious fields to fill out. Once all the below holes are filled, you should be able to log in either with [QtTermTCP](../clients/qtttcp.md) or in your web browser at 127.0.0.1:8008, assuming you're on the same computer as the node. + +| Field | Example | Purpose +| ===== | ======= | ======= +| NODECALL | MM0RFN | The callsign your node shall identify as +| NODEALIAS | RFNNOD | The alias a calling NET/ROM station can use to connect directly to you +| LOCATOR | IO87dc | A 6 figure Maidenhead square where you are +| PASSWORD | test123 | A sysop password for configuration activities +| AUTOSAVE | 1 | Autosave the NET/ROM Nodes Table on shutdown +| NODESINTERVAL | 30 | Interval between NET/ROM NODES broadcasts in minutes +| MINQUAL | 50 | The minimum quality of NET/ROM node included in your NODES broadcasts. +| CTEXT | `Hi you look great! ***` | Text displayed when a user connects + +### Ports + +Port configs in BPQNode aren't too complicated. A common Gotcha is that you configure a port specific broadcast and end up double-broadcasting, both the node master broadcast and the port specific one. + +#### KISS + +A common port entry for a [NinoTNC](../modems/ninotnc.md) specifically (but also, more generally, a KISS Modem) looks like: + +``` +PORT + PORTNUM=1 + ID=VHF + TYPE=ASYNC + PROTOCOL=KISS + KISSOPTIONS=ACKMODE + COMPORT=/dev/ttyACM0 + SPEED=57600 + FRACK=4000 + PACLEN=150 + DIGIFLAG=0 + QUALITY=192 + MINQUAL=20 +ENDPORT +``` + +Key settings to observe are the `COMPORT`, which should be the serial port of the device, and `SPEED`. For a NinoTNC this is always 57600, but for QtSoundModem, Direwolf or older hardware may be 9600 or something else. Check your modem configuration! + +`QUALITY` sets the assumed quality of connections coming in - I recommend higher quality (up to 200) for higher speed links. Setting this to 0 will disable NET/ROM on the port, and this is current recommended standard practise on HF within the UK Packet Radio Network. + +#### Telnet + +BPQ's Telnet Port sets the TCP Ports for Telnet, FBB and HTTP connetions, alongside the username and password. This will come in useful when using [QtTTCP](../clients/qtttcp.md) as a monitor and control application. + +``` +PORT + PORTNUM=9 + ID=Telnet + DRIVER=Telnet + CONFIG + LOGGING=1 + CMS=1 + DisconnectOnClose=1 + TCPPORT=8010 + FBBPORT=8011 + HTTPPORT=8008 + LOGINPROMPT=user: + PASSWORDPROMPT=password: + MAXSESSIONS=10 + CTEXT=Thanks for connecting\n Enter ? for list of commands\n\n + USER=username,xxxxxxxx,m0aaa,,SYSOP +ENDPORT +``` + +`USER` is the key configuration to change here - change `username` to your desired administrator username, `xxxxxxx` to the password and `m0aaa` to the callsign of the administrator. diff --git a/docs/modems/index.md b/docs/modems/index.md new file mode 100644 index 0000000..d54fee3 --- /dev/null +++ b/docs/modems/index.md @@ -0,0 +1,41 @@ +# About Modems + +Modems are the part of a packet radio system that encodes data into audio for your radio to transmit and decodes audio received by your radio and generates control signals such at triggering the PTT so your radio knows when to transmit. + +Modems have traditionally been dedicated hardware devices in packet radio, and in the last 20 years some software modems have been written as computers have become flexible and fast! + +Moden modems come in many shapes and sizes. As long as the modem at each end of the link knows what they are sending and receiving, these are interchangable parts. Nothing stops you and a friend from experimenting with new modes in the UK, as long as you stay within given bandwidths and aren't intentionally obfuscating/encrypting data. + +The key choices of modem as I'm presenting are: + + * [NinoTNC](ninotnc.md) + * [QtSoundmodem](qtsm.md) + * [Direwolf](direwolf.md) + +Other modems are available however, including but not limited to + + * ARDOPc + * VARA + * New Packet Radio + * Robust Packet + * TAPR TNC2 + * KANTRONICS KAM+ and family + +## What is a TNC? + +A term that appears regularly is 'TNC' or Terminal Node Controller, and often Modem & TNC are used interchangably, however I have made a choice to not conflate the two items. + +A TNC is a device containing not only the modem hardware, but often the Node software, personal mail, the entire logic for the AX.25 system and higher level protocols such as NET/ROM. It is effectively a complete networking computer in a box that you connected to with your computer over a serial link when computational power was a luxury not a right. + +In more modern packet systems, all of these roles are taken by the software we use - BPQ entirely handles AX.25, NET/ROM, node functionality and messaging. + +### KISS Mode + +We can still make use of legacy TNC units - KISS mode (Keep It Simple Stupid!) strips away all of the AX.25 and other functionality of the TNC and makes it only pass serial data it is given. We use the same serial commands of KISS mode now for the majority of modems as it is simple and well documented. + +Alternative modem command sets exist - onces I can name easily are: + +| Command Protocol | Description +| ---------------- | ----------- +| AGW or AGWPE | From AGW Packet Engine. A properitary command set that was originally released to interact with the software it is named after +| 6pack | Something about 6pack diff --git a/mkdocs.yml b/mkdocs.yml index 267c350..4777133 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,12 +1,16 @@ site_name: Hibby's Packet Radio Guide -site_url: https://packetradio.debian.net +site_url: https://people.debian.org/~hibby + nav: - Home: index.md - About: about.md - Beginner's Guide: beginners-guide.md - - Radios: - - radios/index.md + - Radio Equipment: + - equipment/index.md + - equipment/antennas.md + - equipment/radios.md - Modems: + - modems/index.md - modems/ninotnc.md - modems/qtsm.md - modems/direwolf.md