Compare commits
10 Commits
dd89e199bc
...
a4ec577aa3
Author | SHA1 | Date |
---|---|---|
|
a4ec577aa3 | |
|
8c81240e8a | |
|
7335d94ad9 | |
|
36e29c08df | |
|
e5238bd24e | |
|
44bb4e6665 | |
|
777eb2c250 | |
|
5914a129bc | |
|
67ac259301 | |
![]() |
7dd939f450 |
|
@ -1 +1,2 @@
|
|||
site/
|
||||
.DS_Store
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
.DS_Store
|
|
@ -16,7 +16,7 @@ I owe a huge debt of gratitude to a number of people for keeping my enthusiasm a
|
|||
|
||||
**Tom Fanning M0LTE** - Tom's continued enthusiasm and knowledge of packet radio has helped keep mine alive and developing during our time working on the UK Packet Radio Network project, and you've proved to be a great sounding board for when I've had a half baked idea that needs development. Your ability to get shit done and your depth of knowledge means that people really look up to you and respect what you have to say - more than you realise.
|
||||
|
||||
The rest of the [OARC](https://oarc.uk). Y'all are a consistently fun community to be part of, and have kept the flame of my radio hobby alive for many years now - thanks to Paul M0TZE for bringing me in many years ago, and reminding me consistently of that time I was drunk in a field trying to transmit out of band. There is an exciting get-up-and-do it vibe to our community, and it has successfully overcome my natural recitence to dive in without research more than once, resulting in wonderful results.
|
||||
The rest of the [OARC](https://oarc.uk). Y'all are a consistently fun community to be part of, and have kept the flame of my radio hobby alive for many years now - thanks to Paul M0TZO for bringing me in many years ago, and reminding me consistently of that time I was drunk in a field trying to transmit out of band. There is an exciting get-up-and-do it vibe to our community, and it has successfully overcome my natural recitence to dive in without research more than once, resulting in wonderful results.
|
||||
|
||||
The HAK5 podcast for sparking the first flame and introducing me to APRS and amateur radio way back in 2005/6/7. I have fond memories of hanging out in irc, talking nonsense and taking my first steps into becoming who I am now.
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ There are a number of varieties of IL2P in the wild too, most commonly 'With CRC
|
|||
|
||||
We often use '1200', '1200bd' or similar as shorthand for how fast our data is sending and received. The 'bd' is baud, or the number of 'symbols' transmitted a second. For most of our communications, 1 baud is equivalent to 1 bit per second, however more exotic modulation can transmit more than one symbol at a time, buying us more speed!
|
||||
|
||||
We 3 broad speed categories at the moment:
|
||||
We use 3 broad speed categories at the moment:
|
||||
|
||||
* Low - 300bd - used on HF
|
||||
* Medium - 1200bd - used on VHF
|
||||
|
@ -86,11 +86,11 @@ The key modulations we use are:
|
|||
|
||||
**AFSK**
|
||||
|
||||
Audio Frequncy Shift Keying - Multiple audible tones. This is commonly found on VHF, FM 1200bd links. Classic bleeps and bloops that have been heard on our frequencies for decades. Tune to 144.800MHz to get a flavour from the APRS network.
|
||||
Audio Frequency Shift Keying - Multiple audible tones. This is commonly found on VHF, FM 1200bd links. Classic bleeps and bloops that have been heard on our frequencies for decades. Tune to 144.800MHz to get a flavour from the APRS network.
|
||||
|
||||
**FSK**
|
||||
|
||||
Frequency Shift Keying - Multiple tones, not necessarily audible. Commonly found on UHF, FM 9600bd links. This sounds quite like white noise and can be difficut to differentiate from unsquelched audio.
|
||||
Frequency Shift Keying - Multiple tones, not necessarily audible. Commonly found on UHF, FM 9600bd links. This sounds quite like white noise and can be difficult to differentiate from unsquelched audio.
|
||||
|
||||
**PSK**
|
||||
|
||||
|
@ -102,7 +102,7 @@ A key component of the systems I'll be discussing in this guide is Linux. If you
|
|||
|
||||
There's a lot to take in, and it can seem overwhelming at first, but feel free to read, ask for help and keep in mind that it's easy to feel lost when you approach anything new - there are just so many things to grasp.
|
||||
|
||||
A simple starting point is a [Raspberry Pi](https://raspberrypi.org) - it will be a dedicated computer for just packet exploration, and if everything is broken you can easily start again without losing any importnt data - you just rewrite the SD card and start again.
|
||||
A simple starting point is a [Raspberry Pi](https://raspberrypi.org) - it will be a dedicated computer for just packet exploration, and if everything is broken you can easily start again without losing any important data - you just rewrite the SD card and start again.
|
||||
|
||||
## Radio Set Up
|
||||
|
||||
|
@ -124,7 +124,7 @@ Once you have done that you can install the prerequisites - QTTermTCP.
|
|||
|
||||
If you're a new user, I recommend using a graphical 'app store' - see how [here](linux.md/#graphical-app-store-frontend).
|
||||
|
||||
If you're more linux aware? `apt install soundmodem` in your terminal of choice!
|
||||
If you're more Linux aware? `apt install soundmodem` in your terminal of choice!
|
||||
|
||||
### Configure QtTermTCP
|
||||
|
||||
|
@ -148,7 +148,7 @@ Decoded data shall look like:
|
|||
|
||||
## Connect
|
||||
|
||||
Press Connect, then 'Kiss Connect' in the dropdown menu. You'll see something aking to the below - selection session, enter the callsign & SSID you are trying to connect to, for example GB7HIB-7 if you're connecting to my node. Ignore digipeters for the moment - they can be a future challenge.
|
||||
Press Connect, then 'Kiss Connect' in the dropdown menu. You'll see something asking to the below - selection session, enter the callsign & SSID you are trying to connect to, for example GB7HIB-7 if you're connecting to my node. Ignore digipeters for the moment - they can be a future challenge.
|
||||
|
||||

|
||||
|
||||
|
@ -163,7 +163,10 @@ Not seeing anything in the monitor pane? Time to get debugging!
|
|||
|
||||
## Debugging
|
||||
|
||||
This is where most of my time is spent when setting up packet radio stuff. In my opinion, it's where the real learning happens - you need to get your hands dirty with your radio, with your modem, with linux and try to retain your sanity at the same time.
|
||||
This is where most of my time is spent when setting up packet radio stuff. In my
|
||||
opinion, it's where the real learning happens - you need to get your hands dirty
|
||||
with your radio, with your modem, with Linux and try to retain your sanity at
|
||||
the same time.
|
||||
|
||||
Don't worry - there is always something you've forgotten to do, or think you've looked at and haven't. We all have that feeling. Sometimes I keep a note of what I've done and what I've looked at to avoid replication of work, or so I can note what I *have* changed and what I might need to replicate.
|
||||
|
||||
|
@ -176,7 +179,11 @@ Learn more about debugging:
|
|||
|
||||
### Ask for Help!
|
||||
|
||||
It is easy to feel overwhelmed and alone as you struggle through debugging your system. Feel free to ask the community for help! No question is stupid, and we all started knowing nothing about this. Everyone is excited to have new stations and nodes to connect to, so will be thrilled to offer some form of pointer, assistance, input or advice. Please note, advice is a form of nostalgia: dispensing it is a way of fishing the past from the disposal, wiping it off, painting over the ugly parts and recycling it for more than it's worth.
|
||||
It is easy to feel overwhelmed and alone as you struggle through debugging your system. Feel free to ask the community for help! No question is stupid, and we all started knowing nothing about this. Everyone is excited to have new stations and nodes to connect to, so will be thrilled to offer some form of pointer, assistance, input or advice.
|
||||
|
||||
!!! note
|
||||
|
||||
Please note, advice is a form of nostalgia: dispensing it is a way of fishing the past from the disposal, wiping it off, painting over the ugly parts and recycling it for more than it's worth.
|
||||
|
||||
There are a few great sources of assistance, some will be faster than others to get responses from:
|
||||
|
||||
|
|
|
@ -1,4 +1,111 @@
|
|||
# BPQ
|
||||
Configure BPQ this way:
|
||||
|
||||
* Badly, just like everyone else.
|
||||
I assume you have already [installed](../install/bpq.md) bpq from the repo.
|
||||
|
||||
## Configuration File
|
||||
|
||||
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.
|
||||
|
||||
## Mail Configuration
|
||||
|
||||
Mail configuration isn't easy to get your head round! I'm still not clear on it
|
||||
all, and I think many others are in the same boat. It's done through the browser
|
||||
instead of on the command line, which makes it slightly more approachable.
|
||||
|
||||
Navigate to [http://localhost:8008](http://localhost:8008), assuming your HTTPPORT is set to 8008 and you're on the same machine. This
|
||||
will present you with the below view:
|
||||
|
||||

|
||||
|
||||
Select 'Mail Mgmt' and log in with the details you put in `USER`. The starting
|
||||
point here is 'Configuration'.
|
||||
|
||||
### Configuration to Send & Receive
|
||||
|
||||
The configuration tab is your starting point. You need a 'Hierarchical'
|
||||
address, this will tell other systems where you are and help the network send
|
||||
things to you. It's similar to the domain of your email, like `@gmail.com`.
|
||||
|
||||
Set your BBS call - this will either be your personal callsign or an allocated
|
||||
GB7xxx series callsign from the ETCC.
|
||||
|
||||
Hierarchical addresses in the UK take the following format:
|
||||
|
||||
`#xx.GBR.EURO`
|
||||
|
||||
Where xx is a number that defines your region. You can find your region with
|
||||
[this map]().
|
||||
|
||||
I recommend unticking `Send System Msgs to SYSOP call` and ticking `Don't hold
|
||||
Messages From New Users`.
|
||||
|
||||
### Forwarding to Neighbours
|
||||
### Users
|
||||
|
||||
|
||||
|
|
|
@ -2,7 +2,14 @@
|
|||
|
||||
For Debian-alikes, see [installation instructions](../install/linux.md).
|
||||
|
||||
Each of the below components are required to make the complete node, but they are (generally) not all interdependent, and most of the unique components will work to make a stripped down version.
|
||||
Each of the below components are required to make the complete node, but they
|
||||
are (generally) not all interdependent, and most of the unique components will
|
||||
work to make a stripped down version.
|
||||
|
||||
!!! warning
|
||||
It can be assumed that most of this is not for the Linux newbie, and
|
||||
that commands here are to be run as
|
||||
[root](../linux.md/#users-permissions-and-sudo), exercise good judgement!
|
||||
|
||||
## axports
|
||||
|
||||
|
@ -10,13 +17,16 @@ Setting up basic AX.25 on Debian is relatively simple - the key file to edit her
|
|||
|
||||
GB7HIB currently runs the following below config. Each port has been given an internal reference, I like to detail what connection they are providing. Other people map them out by number or other methods, but I find having a pretty consistent set of references to the radio/interface I'm using keeps my brain in check.
|
||||
|
||||
The callsign&SSID is, in this case, the physical address for the port, akin to a MAC address on ethernet. It shows under `ifconfig` as a mac address for the link.
|
||||
The callsign&SSID is, in this case, the physical address for the port, akin to a MAC address on Ethernet. It shows under `ifconfig` as a mac address for the link.
|
||||
|
||||
Speed is the speed of the serial port on the interface. In the case of the NinoTNC, this is 57600.
|
||||
|
||||
Paclen is the packet length - for V/UHF links, 255 bytes is a nice length. For HF, 60-80 is more common. It means for shorter packets that aren't as likely to be impacted by changes in propagation.
|
||||
|
||||
Window is the number of packets that can be sent in one burst. The more reliable the link,the higher the number. This is limited by the version of ax25 you're running - 2.0 has a lower window than 2.0. If you're running Linux, at the moment you're on ax25 2.0.
|
||||
Window is the number of packets that can be sent in one burst. The more reliable
|
||||
the link,the higher the number. This is limited by the version of ax25 you're
|
||||
running - 2.0 has a lower window than 2.2. If you're running Linux, at the
|
||||
moment you're on ax25 2.0.
|
||||
|
||||
```
|
||||
hibby@raspberrypi:~ $ cat /etc/ax25/axports
|
||||
|
@ -35,7 +45,8 @@ ip GB7HIB-11 115200 255 7 IP
|
|||
`kissattach` binds the axport to a physical kiss device.
|
||||
|
||||
I attach my UHF port to my NinoTNC with:
|
||||
`kissattach /dev/ttyACM0 uhf`
|
||||
!!! note "Terminal Command"
|
||||
`kissattach /dev/ttyACM0 uhf`
|
||||
|
||||
|
||||
### axcall
|
||||
|
@ -61,9 +72,11 @@ We create a virtual modem with `ax25ipd`, a virtual pipe with `socat` that lets
|
|||
I create a socket pair to connect `ax25ipd` and `kissattach` to connect the `ip` ax25 port to the axudp tunnel.
|
||||
|
||||
The command I run for this is:
|
||||
```socat -d -d -ly pty,raw,echo=0,link=/var/ax25/pty/axip1 pty,raw,echo=0,link=/var/ax25/pty/axip2```
|
||||
!!! note "Terminal Command"
|
||||
`socat -d -d -ly pty,raw,echo=0,link=/var/ax25/pty/axip1 pty,raw,echo=0,link=/var/ax25/pty/axip2`
|
||||
|
||||
If you are copying this, you might need to make the `/var/ax25/pty` - `mkdir -p /var/ax25/pty`
|
||||
!!! tip
|
||||
If you are copying this, you might need to make the `/var/ax25/pty` - `mkdir -p /var/ax25/pty`
|
||||
|
||||
This is brought up at boottime by systemd:
|
||||
|
||||
|
@ -107,29 +120,29 @@ route MM3NDH 10.13.37.2 bd
|
|||
### Running ax25ipd
|
||||
|
||||
This is run from the command line as follows:
|
||||
|
||||
`ax25ipd`
|
||||
!!! note "Terminal Command"
|
||||
`ax25ipd`
|
||||
|
||||
### kissattach
|
||||
|
||||
We need to attach the axip port to the virtual modem we've created with ax25ipd once it's running, and this is a simple case of:
|
||||
|
||||
`kissattach /var/ax25/pty/axip2 axip`
|
||||
!!! note Terminal Command
|
||||
`kissattach /var/ax25/pty/axip2 axip`
|
||||
|
||||
## NET/ROM
|
||||
|
||||
NET/ROM covers functionality analogous to OSI layer3/layer 4.
|
||||
|
||||
What it means in reality is that my node has a knowledge of its neighbours and what their neighbours are, and automates routing calls. To use the earlier example, I can call directly to gm0cqv and my machine will know the best path -
|
||||
|
||||
`axcall nrnod GM0CQV-7`
|
||||
!!! note "Terminal Command"
|
||||
`axcall nrnod GM0CQV-7`
|
||||
|
||||
Each NET/ROM sends a 'NODES' broadcast periodically. This details what systems it can hear, what the gateway to the remote nodes is and a 'quality' value.
|
||||
Nodes on the network can have an alias too - GM0CQV's node on -7 above is PTRNOD, so I can do the following -
|
||||
Nodes on the network can have an alias too - GM0CQV's node on -7 above is
|
||||
PTRNOD, so I can do the following to end up at the same location -
|
||||
|
||||
`axcall nrnod PTRNOD`
|
||||
|
||||
and end up at the same location.
|
||||
!!! note "Terminal Command"
|
||||
`axcall nrnod PTRNOD`
|
||||
|
||||
NET/ROM ports are largely independent of ax25 ports in that a user can call any given nrport without going through a specific axport. You can essentially define per-application nrports, and as many as you wish (assuming you have free unique SSIDs to offer them as mac addresses).
|
||||
|
||||
|
@ -151,15 +164,21 @@ nrnod GB7HIB-1 HIBNOD 235 Netrom node Port
|
|||
nrbbs GB7HIB-2 HIBBBS 235 Netrom BBS Port
|
||||
```
|
||||
|
||||
I have a port for my service, the callsign and port, and an up to 6 letter alias for the service. The packet length is 20 bytes shorter than the ax25 packet to account for overheads, and then there's a wee description.
|
||||
I have a port for my service, the callsign and port, and an up to 6 letter alias
|
||||
for the service. The packet length is 20 bytes shorter than the ax25 packet to
|
||||
account for overheads, and then there's a wee description.
|
||||
|
||||
### nrbroadcast
|
||||
|
||||
`/etc/ax25/nrbroadcast` defines how often `netromd` sends a NODES broadcast and what port it sends them over.
|
||||
`/etc/ax25/nrbroadcast` defines how often `netromd` sends a NODES broadcast and
|
||||
what port it sends them over.
|
||||
|
||||
It also defines the default quality of stations received directly over that port, the worst quality it will broadcast, how long without hearing a nodes broadcast the station will remain in your routing table.
|
||||
It also defines the default quality of stations received directly over that
|
||||
port, the worst quality it will broadcast, how long without hearing a nodes
|
||||
broadcast the station will remain in your routing table.
|
||||
|
||||
I have set some sensible defaults, things that come over the ip link are quite high, but I limit the worst quality so that my NODES table isn't too big.
|
||||
I have set some sensible defaults, things that come over the ip link are quite
|
||||
high, but I limit the worst quality so that my NODES table isn't too big.
|
||||
|
||||
```
|
||||
hibby@raspberrypi:~ $ cat /etc/ax25/nrbroadcast
|
||||
|
@ -178,8 +197,8 @@ ip 3 200 130 1
|
|||
Like AX.25, we need to attach the port to a device - our tool for this is `nrattach`.
|
||||
|
||||
`nrattach` is simple - you nrattach a port and that's it.
|
||||
|
||||
`nrattach nrnod`
|
||||
!!! note "Terminal Command"
|
||||
`nrattach nrnod`
|
||||
|
||||
### netromd
|
||||
|
||||
|
@ -187,23 +206,39 @@ Like AX.25, we need to attach the port to a device - our tool for this is `nratt
|
|||
|
||||
I should really make this systemd unit come up after nrattach.
|
||||
|
||||
I run it as `netromd -i -l -d -t 30`, which broadcasts almost immidiately, creates debug logs and broadcasts every 30 minutes.
|
||||
I run it as below:
|
||||
|
||||
!!! note "Terminal Command"
|
||||
`netromd -i -l -d -t 30`
|
||||
|
||||
This broadcasts almost immediately, creates debug logs and broadcasts every 30 minutes.
|
||||
|
||||
## ax25d
|
||||
|
||||
ax25d is the Daemon that routes incoming connection requests and spins up a process for the caller.
|
||||
ax25d is the Daemon that routes incoming connection requests and spins up a
|
||||
process for the caller.
|
||||
|
||||
Interestingly, it isn't tied to the incoming port that the call is coming through, so you can have any port or interface handle calls to any callsign, alias or other word.
|
||||
Interestingly, it isn't tied to the incoming port that the call is coming
|
||||
through, so you can have any port or interface handle calls to any callsign,
|
||||
alias or other word.
|
||||
|
||||
`/etc/ax25/ax25d.conf` is the config file that controls this, and it handles ax25 ports and netrom ports slightly differently. The default config we ship with debian is full of great examples, see online [here](https://salsa.debian.org/debian-hamradio-team/ax25-tools/-/blob/master/ax25/ax25d.conf.in?ref_type=heads) - mine is configured as below.
|
||||
`/etc/ax25/ax25d.conf` is the config file that controls this, and it handles
|
||||
ax25 ports and netrom ports slightly differently. The default config we ship
|
||||
with debian is full of great examples, see online
|
||||
[here](https://salsa.debian.org/debian-hamradio-team/ax25-tools/-/blob/master/ax25/ax25d.conf.in?ref_type=heads)
|
||||
- mine is configured as below.
|
||||
|
||||
Reading it, you can see that GB7HIB is in [] and nrnod is in <>. They define the type of port.
|
||||
This means if you connect to GB7HIB over ax25, you get uronode.
|
||||
Reading it, you can see that GB7HIB is in [] and nrnod is in <>. They define the
|
||||
type of port. This means if you connect to GB7HIB over ax25, you get uronode.
|
||||
If you connect to HIBNOD, or GB7HIB-1 over netrom, you get uronode!
|
||||
|
||||
I am really interested in exploring some other applications, including `axspawn`, which lets you spawn a bash (or other) shell and effectively gives shell access over ax25/netrom to a user.
|
||||
I am really interested in exploring some other applications, including
|
||||
`axspawn`, which lets you spawn a bash (or other) shell and effectively gives
|
||||
shell access over ax25/netrom to a user.
|
||||
|
||||
There's lots of options here, and it's an incredibly flexible piece of software and is the core of why the Linux stack is so interesting to me. You can present any binary on your system to a connecting user!
|
||||
There's lots of options here, and it's an incredibly flexible piece of software
|
||||
and is the core of why the Linux stack is so interesting to me. You can present
|
||||
any binary on your system to a connecting user!
|
||||
|
||||
```
|
||||
hibby@raspberrypi:~ $ cat /etc/ax25/ax25d.conf
|
||||
|
@ -231,20 +266,26 @@ default * * * * * * - root /usr/sbin/uronode uronode
|
|||
### Running ax25d
|
||||
|
||||
This is an easy one to start -
|
||||
|
||||
`ax25d`
|
||||
!!! note "Terminal Command"
|
||||
`ax25d`
|
||||
|
||||
## Uronode Frontend
|
||||
|
||||
I use uronode both as a frontend for users connecting and for me connecting to the node and to neighbouring stations, essentially over telnet. When someone connects to my system, Uronode generates the menu that they see.
|
||||
I use uronode both as a frontend for users connecting and for me connecting to
|
||||
the node and to neighbouring stations, essentially over telnet. When someone
|
||||
connects to my system, Uronode generates the menu that they see.
|
||||
|
||||
I also have it configured as my local client - i can run `uronode` in a terminal and be presented with a helpful control interface.
|
||||
I also have it configured as my local client - i can run `uronode` in a terminal
|
||||
and be presented with a helpful control interface.
|
||||
|
||||
### uronode.conf
|
||||
|
||||
This is the core config file for uronode that details what uronode can do. I'm running mine very stripped back, and have cut a lot of the defaults out:
|
||||
This is the core config file for uronode that details what uronode can do. I'm
|
||||
running mine very stripped back, and have cut a lot of the defaults out:
|
||||
|
||||
You can see the BBS command is just a uronode call out to GB7HIB-2 over netrom, and there are external commands for netstat and the 'nodesearch' program I quite like.
|
||||
You can see the BBS command is just a uronode call out to GB7HIB-2 over netrom,
|
||||
and there are external commands for netstat and the 'nodesearch' program I quite
|
||||
like.
|
||||
|
||||
The rest is pretty much default.
|
||||
|
||||
|
@ -336,16 +377,22 @@ This defines shell access for me as a sysop. I've never actually spawned a shell
|
|||
|
||||
### Uronode as a local interface
|
||||
|
||||
I use uronode as my local packet radio terminal - instead of turning on and typing `axcall nrnod salbbs` to get to gm0nrt, I log in, type uronode, feed it my callsign and I am met with the uronode command interface, from which I can type `c salbbs`. It's a much nicer place to be!
|
||||
I use uronode as my local packet radio terminal - instead of turning on and
|
||||
typing `axcall nrnod salbbs` to get to gm0nrt, I log in, type uronode, feed it
|
||||
my callsign and I am met with the uronode command interface, from which I can
|
||||
type `c salbbs`. It's a much nicer place to be!
|
||||
|
||||
This required `xinetd` for me to set up easily.
|
||||
This required `xinetd` for me to set up easily - you'll need to install it.
|
||||
|
||||
#### xinetd config
|
||||
I think the below two config files are the only things required to make uronode listen on port 3964 -
|
||||
I think the below two config files are the only things required to make uronode
|
||||
listen on port 3964 . `xinetd` must be enabled and started by systemd to be listening
|
||||
|
||||
`xinetd` must be enabled and started by systemd to be listening (`systemctl enable xinetd`, `systemctl start xinetd`)
|
||||
!!! note "Terminal Command"
|
||||
`systemctl enable xinetd`, `systemctl start xinetd`
|
||||
|
||||
There is probably a systemd native way of doing this, but I couldn't see that in the docs.
|
||||
There is probably a systemd native way of doing this, but I couldn't see that in
|
||||
the docs.
|
||||
|
||||
```
|
||||
hibby@raspberrypi:~ $ cat /etc/xinetd.d/uronode
|
||||
|
@ -368,15 +415,22 @@ uronode 3694/tcp # Uronode
|
|||
|
||||
## FBB BBS
|
||||
|
||||
`fbb` is my BBS software of choice! It is an oddity in that it binds directly to the ports you tell it exist, so it's listening on my ax25 and netrom ports without an entry in `ax25d.conf`. This mostly seems like magic to me and I am happy to let it run this way!
|
||||
`fbb` is my BBS software of choice! It is an oddity in that it binds directly to
|
||||
the ports you tell it exist, so it's listening on my ax25 and netrom ports
|
||||
without an entry in `ax25d.conf`. This mostly seems like magic to me and I am
|
||||
happy to let it run this way!
|
||||
|
||||
It has a few config files - fbb.conf, which is populated by the first run, `ports.sys` which defines the ports available and then `bbs.sys` and `forward.sys` which defines how you route to the outside world.
|
||||
It has a few config files - fbb.conf, which is populated by the first run,
|
||||
`ports.sys` which defines the ports available and then `bbs.sys` and
|
||||
`forward.sys` which defines how you route to the outside world.
|
||||
|
||||
### ports.sys
|
||||
|
||||
My reference for this file was [this website](https://www.febo.com/packet/linux-ax25/fbb-config.html), which was a helpful resource!
|
||||
My reference for this file was [this website](https://www.febo.com/packet/linux-ax25/fbb-config.html), which was a
|
||||
helpful resource!
|
||||
|
||||
I have incremented the number of TNCs where appropriate and added my ports as 1,2,3. I have left the COM 1 Interface 9 etc alone.
|
||||
I have incremented the number of TNCs where appropriate and added my ports as
|
||||
1,2,3. I have left the COM 1 Interface 9 etc alone.
|
||||
|
||||
```
|
||||
hibby@raspberrypi:~ $ cat /etc/ax25/fbb/port.sys
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Welcome to Hibby's Packet Radio Guide
|
||||
|
||||
Hi, welcome - thanks for coming by!
|
||||
Hi, welcome - thanks for coming by! I'm Hibby and this is a collection of
|
||||
everything I know about packet radio, and is being assembled bit by bit!
|
||||
|
||||
!!! warning
|
||||
|
||||
|
@ -37,5 +38,3 @@ Have a look to see if you have a [proven radio](equipment/radios.md) and install
|
|||
I'd recommend trying 1200bd on VHF or UHF first, but slower modes on HF are perfectly do-able as well if you're on an island or stuck in a ditch.
|
||||
|
||||
Take a look at the [beginner's guide](beginners-guide.md) to see more detail about how to get started.
|
||||
|
||||
|
||||
|
|
|
@ -8,26 +8,39 @@ If you have not already done so, set up the repo [as shown here](../repo.md).
|
|||
|
||||
To install LinBPQ from the repo, run the below commands:
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt install linbpq
|
||||
```
|
||||
!!! note "Terminal Commands"
|
||||
`sudo apt update && sudo apt install linbpq`
|
||||
|
||||
|
||||
## Pre-Configure
|
||||
|
||||
```
|
||||
sudo cp /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
|
||||
```
|
||||
!!! note
|
||||
We need to prepare the system and get configuration files in place. This must be
|
||||
run on the command line, it's simply the fastest way.
|
||||
|
||||
Copy these three lines, one-at-a-time into your terminal and hit enter after
|
||||
each one.
|
||||
|
||||
!!!note "Terminal Commands"
|
||||
```
|
||||
sudo cp /usr/share/doc/linbpq/examples/bpq32.cfg /etc/bpq32.cfg
|
||||
sudo chown :linbpq /etc/bpq32.cfg
|
||||
sudo chmod 644 /etc/bpq32.cfg
|
||||
```
|
||||
|
||||
!!! tip
|
||||
|
||||
Without a config file installed to `/etc/bpq32.cfg`, BPQ from the repo will not start. If you are looking to use a config file in a different location, remove or modify `ConditionPathExists=/etc/bpq32.cfg` in `/usr/lib/systemd/system/linbpq.service`
|
||||
|
||||
## 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.
|
||||
The configuration file I ship in the repo, there are hopefully some obvious fields to fill out.
|
||||
|
||||
You can find the configuration file at `/etc/bpq32.cfg` and use something like
|
||||
Featherpad to edit it.
|
||||
|
||||
!!! tip
|
||||
To learn more about editing text in Linux, see [here](../linux.md/#editing-text-as-root).
|
||||
|
||||
|
||||
| Field | Example | Purpose
|
||||
| ----- | ------- | -------
|
||||
|
@ -42,7 +55,7 @@ The configuration file I ship in the repo, there are hopefully some obvious fiel
|
|||
|
||||
### 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.
|
||||
Port configuration blocks 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
|
||||
|
||||
|
@ -71,7 +84,7 @@ Key settings to observe are the `COMPORT`, which should be the serial port of th
|
|||
|
||||
#### 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.
|
||||
BPQ's Telnet Port sets the TCP Ports for Telnet, FBB and HTTP connections, alongside the username and password. This will come in useful when using [QtTTCP](../clients/qtttcp.md) as a monitor and control application.
|
||||
|
||||
```
|
||||
PORT
|
||||
|
@ -94,3 +107,16 @@ 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.
|
||||
|
||||
## Startup
|
||||
|
||||
Head back to the terminal and run
|
||||
|
||||
!!! note "Terminal Commands"
|
||||
`sudo systemctl start linbpq`
|
||||
|
||||
This will tell the system you want to start the `linbpq` service. Navigate to
|
||||
[http://127.0.0.1:8008](http://127.0.0.1:8008) if you are on the systme you've
|
||||
performed the install on and you should see a webpage like below:
|
||||
|
||||

|
||||
|
|
|
@ -1,24 +1,31 @@
|
|||
# Linux Native Stack
|
||||
|
||||
The linux native stack is highly configurable and can be easily installed on all Debian distros.
|
||||
The linux native stack is highly configurable and can be easily installed on
|
||||
all Debian distros. Beware! Most of the tooling is for the command line.
|
||||
|
||||
More detailed configuration instructions and explanations can be found [here](../config/linux.md)
|
||||
More detailed configuration instructions and explanations can be found
|
||||
[here](../config/linux.md).
|
||||
|
||||
## Install
|
||||
|
||||
To get a basic node setup, the minimum viable software is:
|
||||
|
||||
`apt install libax25 ax25-tools ax25-apps uronode`
|
||||
!!! note "Terminal Command"
|
||||
`apt install libax25 ax25-tools ax25-apps uronode`
|
||||
|
||||
### BBS
|
||||
|
||||
To set up a BBS install fbb
|
||||
|
||||
`apt install fbb`
|
||||
!!! note "Terminal Command"
|
||||
`apt install fbb`
|
||||
|
||||
## Basic Config
|
||||
|
||||
We shall set up a single AX.25 port to receive calls and display Uronode to calling stations.
|
||||
We shall set up a single AX.25 port to receive calls and display Uronode to
|
||||
calling stations.
|
||||
|
||||
Setting up and attaching a port is a prerequisite to monitoring, sending calls
|
||||
and receiving calls.
|
||||
|
||||
### ax25 ports
|
||||
|
||||
|
@ -38,14 +45,39 @@ uhf UR0CAL-10 57600 255 2 UHF 9600bd
|
|||
Modify the callsign to your own or your station's call.
|
||||
|
||||
This has to be attached as to the modem, in effect telling the computer to
|
||||
listen to the modem's output. Run the below as root:
|
||||
listen to the modem's output. Run the below:
|
||||
!!! note "Terminal Command"
|
||||
`sudo kissattach /dev/ttyACM0 uhf`
|
||||
|
||||
`kissattach /dev/ttyACM0 uhf`
|
||||
## Monitoring Traffic
|
||||
|
||||
### ax25d
|
||||
The application that will show traffic picked up by your port is `axlisten`.
|
||||
|
||||
ax25d (ax25 daemon) listens to incoming data and directs calling stations to the application you want them to use.
|
||||
It can present different applications based on any combination of the callsign calling you, the callsign and SSID the calling station is calling and the port they are calling to.
|
||||
!!! note "Terminal Command"
|
||||
`axlisten -ac`
|
||||
|
||||
Running the above will show in the terminal all traffic successfully decoded by
|
||||
your modem, and everything you're trying to send to the outside world.
|
||||
|
||||
`axlisten` can be run beside the below commands - just open a new terminal for them!
|
||||
|
||||
## Outbound Calls
|
||||
|
||||
You can call another station by running `axcall` in the terminal:
|
||||
|
||||
!!! note "Terminal Command"
|
||||
`axcall <port> <remote station>`
|
||||
|
||||
In the case of calling my station from the port we configured above, this would be
|
||||
!!! note "Terminal Command"
|
||||
`axcall uhf GB7HIB`
|
||||
|
||||
## Inbound Calls
|
||||
|
||||
ax25d (ax25 daemon) listens to incoming data and directs calling stations to
|
||||
the application you want them to use. It can present different applications
|
||||
based on any combination of the callsign calling you, the callsign and SSID the
|
||||
calling station is calling and the port they are calling to.
|
||||
|
||||
ax25d is controlled by `/etc/ax25/ax25d.conf`
|
||||
|
||||
|
@ -61,10 +93,14 @@ NOCALL * * * * * * L
|
|||
default * * * * * * - root /usr/sbin/uronode uronode
|
||||
```
|
||||
|
||||
Note the callsign, SSID and port are aligned with the axport in this example. Similar to axports, modify UR0CAL to our own callsign or your station's callsign.
|
||||
Note the callsign, SSID and port are aligned with the axport in this example.
|
||||
Similar to axports, modify UR0CAL to our own callsign or your station's
|
||||
callsign.
|
||||
|
||||
ax25d is started by running the below as root:
|
||||
ax25d is started by running the below:
|
||||
|
||||
`ax25d`
|
||||
!!! note "Terminal Command"
|
||||
`sudo ax25d`
|
||||
|
||||
Stations should be able to call uronode on your system using AX.25.
|
||||
Stations should be able to call uronode on your system using AX.25 and be
|
||||
presented with the basic uronode.
|
||||
|
|
257
docs/linux.md
257
docs/linux.md
|
@ -1,6 +1,8 @@
|
|||
# Linux Primer
|
||||
|
||||
My packet radio guide is focussed on running software on Linux and it probably assumes a base level of knowledge. I shall dispense some thoughts and you can judge whether this is helpful.
|
||||
My packet radio guide is focussed on running software on Linux and it probably
|
||||
assumes a base level of knowledge. I shall dispense some thoughts and you can
|
||||
judge whether this is helpful.
|
||||
|
||||
!!! note
|
||||
|
||||
|
@ -8,48 +10,124 @@ My packet radio guide is focussed on running software on Linux and it probably a
|
|||
|
||||
## What is Linux?
|
||||
|
||||
Linux is, in general terms, a family of operating systems that share a common core set of software and exhibit similar characteristics. It is no one simple thing, and doesn't fit in one neat category.
|
||||
Linux is, in general terms, a family of operating systems that share a common
|
||||
core set of software and exhibit similar characteristics. It is no one simple
|
||||
thing, and doesn't fit in one neat category.
|
||||
|
||||
It can be seen as an alternative to Windows, MacOS, DOS, FreeBSD etc on the desktop - there are many similarities and many differences.
|
||||
It can be seen as an alternative to Windows, MacOS, DOS, FreeBSD etc on the
|
||||
desktop - there are many similarities and many differences.
|
||||
|
||||
It is built collaboratively by enthusiast and professional software developers in the spirit of freely sharing and improving the world for all humans - in this sense, there is a strong overlap with the goals of man radio amateurs.
|
||||
It is built collaboratively by enthusiast and professional software developers
|
||||
in the spirit of freely sharing and improving the world for all humans - in
|
||||
this sense, there is a strong overlap with the goals of man radio amateurs.
|
||||
|
||||
Through this guide I will regularly refer to "[Debian](https://debian.org)" - this is the 'Distribution' of Linux that I work on in my free time. A distribution is a collection of software maintained by a group of people. In the case of Debian, there's around 1000 of us.
|
||||
Through this guide I will regularly refer to "[Debian](https://debian.org)" -
|
||||
this is the 'Distribution' of Linux that I work on in my free time. A
|
||||
distribution is a collection of software maintained by a group of people. In
|
||||
the case of Debian, there's around 1000 of us working on it.
|
||||
|
||||
As the source code is available for all to see and use due to permissive licenses, if another group has an opinion which differs from the team producing a distribution, they can use our work as a foundation and build something different and new based on that - we call this 'forking'. This is what [Ubuntu](https://ubuntu.com) is, and why we refer to Ubuntu as a 'Debian Derivative'. It's also why 90% of tutorials that target Ubuntu will work for Debian and vice versa. We share common components and building blocks. Raspberry Pi OS falls into this category too - they are standing on Debian's shoulders and commonly re-base their system on ours, so that they can focus their efforts on making the Raspberry Pi work well instead of getting bogged down in tangential detail.
|
||||
As the source code is available for all to see and use due to permissive
|
||||
licenses, if another group has an opinion which differs from the team producing
|
||||
a distribution, they can use our work as a foundation and build something
|
||||
different and new based on that - we call this 'forking'. This is what
|
||||
[Ubuntu](https://ubuntu.com) is, and why we refer to Ubuntu as a 'Debian
|
||||
Derivative'. It's also why 90% of tutorials that target Ubuntu will work for
|
||||
Debian and vice versa. We share common components and building blocks.
|
||||
Raspberry Pi OS falls into this category too - they are standing on Debian's
|
||||
shoulders and commonly re-base their system on ours, so that they can focus
|
||||
their efforts on making the Raspberry Pi work well instead of getting bogged
|
||||
down in every tangential detail.
|
||||
|
||||
An alternative to Debian and its derivatives is [Fedora](https://www.fedoraproject.org) - while this shares many common components and code at the core of the system, some of the tools used in Fedora differ to such an extent that software built for it can't be guaranteed to run on a Debian based system - similar to Mac vs Windows.
|
||||
An alternative to Debian and its derivatives is
|
||||
[Fedora](https://www.fedoraproject.org) - while this shares many common
|
||||
components and code at the core of the system, some of the tools used in Fedora
|
||||
differ to such an extent that software built for it can't be guaranteed to run
|
||||
on a Debian based system - similar to Mac vs Windows.
|
||||
|
||||
There are hundreds, if not thousands, of Linux Distributions all with different goals. Some are derivatives focussed on a specific task, some are very General and left to you to configure and use. Some are even delivered as code and you need to compile it from the ground up.
|
||||
There are hundreds, if not thousands, of Linux Distributions all with different
|
||||
goals. Some are derivatives focussed on a specific task, some are very General
|
||||
and left to you to configure and use. Some are even delivered as code and you
|
||||
need to compile it from the ground up.
|
||||
|
||||
|
||||
## Desktops and Terminals
|
||||
|
||||
There's a common misconception that Linux is for command line users only, or that you need to be proficient in the command line to be able to drive it. This is no more true in Linux than it is for MacOS and Windows - there are a number of tasks that some may find more efficient to do via the command line interface (CLI), but there are usually multiple ways to skin the cat.
|
||||
There's a common misconception that Linux is for command line users only, or
|
||||
that you need to be proficient in the command line to be able to drive it. This
|
||||
is no more true in Linux than it is for MacOS and Windows - there are a number
|
||||
of tasks that some may find more efficient to do via the command line interface
|
||||
(CLI), but there are usually multiple ways to skin the cat.
|
||||
|
||||
Most of my advice will take the form of things to run in the command line, but I am endeavouring to diversify so things are more approachable.
|
||||
Much of my advice will take the form of things to run in the command line, as
|
||||
this is often the way I interact with my computers, but I am endeavouring to
|
||||
diversify so things are more approachable.
|
||||
|
||||
If you're running the Raspberry Pi, it's most likely you have [Raspberry Pi OS](https://www.raspberrypi.com/software/) with a desktop - there'll be a background, a menu in the top left etc. It might not look familiar, but to a keen explorer it should look approachable at the very least.
|
||||
If you're running the Raspberry Pi, it's most likely you have [Raspberry Pi
|
||||
OS](https://www.raspberrypi.com/software/) with a desktop - there'll be a
|
||||
background, a menu in the top left etc. It might not look familiar, but to a
|
||||
keen explorer it should look approachable at the very least.
|
||||
|
||||
If you're running Debian, during install we'll ask you what graphical desktop environment you want to install, if any. This is the desktop you boot in to - unlike Windows, there are multiples available for Linux. As a beginner, I strongly recommend [KDE](https://kde.org) - it is most Windows like and is pretty full featured. If you're running Ubuntu, typically you install an Ubuntu derivative focussed on a specific desktop environment - perhaps [Kubuntu](https://kubuntu.org) for KDE.
|
||||
If you're running Debian, during install we'll ask you what graphical desktop
|
||||
environment you want to install, if any. This is the desktop you boot in to -
|
||||
unlike Windows, there are multiples available for Linux. As a beginner, I
|
||||
strongly recommend [KDE](https://kde.org) Plasma - it is quite Windows like and
|
||||
is pretty full featured. If you're running Ubuntu, typically you install an
|
||||
Ubuntu derivative focussed on a specific desktop environment - perhaps
|
||||
[Kubuntu](https://kubuntu.org) for KDE.
|
||||
|
||||
## Applications and Repositories
|
||||
|
||||
Most Linux distributions are not only just the system and the desktop, but they are shipped with a vast catalogue of applications too. They might not be installed, and you'll need to use some sort of app store tool to install, remove etc applications. It's just like every modern mobile phone - they stole the idea from us!
|
||||
Most Linux distributions are not only just the system and the desktop, but they
|
||||
are shipped with a vast catalogue of applications too. They might not be
|
||||
installed, and you'll need to use some sort of app store tool to install, remove
|
||||
etc applications. It's just like every modern mobile phone - they stole the idea
|
||||
from us!
|
||||
|
||||
We call this tool a package manager (we often call applications 'packages'), and a collection of applications is known as a repository, or repo. The Debian family use a program called `apt` as its package manager, and it ships with quite a large repository of apps you can choose from. Most guides, mine included, don't focus on showing you a usable app-store, just a method of installing from a repository.
|
||||
We call this tool a package manager (we often call applications 'packages'), and
|
||||
a collection of applications is known as a repository, or repo. The Debian
|
||||
family use a program called `apt` as its package manager, and it ships with
|
||||
quite a large repository of apps you can choose from. Most guides, mine
|
||||
included, don't focus on showing you a usable app-store, just a method of
|
||||
installing from a repository.
|
||||
|
||||
You might want to add another repository if to get access to additional software, new software that isn't shipped by the distribution's maintainers or some other reason. I keep more up to date versions of software in my repository than Raspberry Pi OS offers, and I have additional software that isn't offered by RasPi OS too.
|
||||
You might want to add another repository if to get access to additional
|
||||
software, new software that isn't shipped by the distribution's maintainers or
|
||||
some other reason. I keep more up to date versions of software in my repository
|
||||
than Raspberry Pi OS offers, and I have additional software that isn't offered
|
||||
by RasPi OS too.
|
||||
|
||||
### Install from the Command Line
|
||||
|
||||
To install from the command line, the standard command would be `apt install x` where x is any application you're looking for. This is often prefixed with `sudo`, see below in 'Users, Permissions and sudo' to learn more about why.
|
||||
To install from the command line, the standard command would be:
|
||||
|
||||
!!! note "Terminal Command"
|
||||
`apt install x`
|
||||
|
||||
Where x is any application you're looking for. This is often prefixed with
|
||||
`sudo`, see below in [Users, Permissions and sudo](linux.md/#users-permissions-and-sudo) to learn more about why.
|
||||
|
||||
### Graphical App Store Frontend
|
||||
|
||||
Instead of using `apt install x`, it is possible to run a graphical piece of software. One I recommend is 'Synaptic' - you might have it installed already, or you might have to quickly run `apt install synaptic` in the command line to get yourself the software.
|
||||
Instead of using `apt install x`, it is possible to run a graphical piece of
|
||||
software.
|
||||
|
||||
Have a little look through your application launcher to see if there is an app catalogue, application store, package list or similar.
|
||||
#### Raspberry Pi
|
||||
|
||||
The Raspberry Pi ships with a GUI through which you can install packages. It
|
||||
lives in the Raspberry Pi menu (top left, Raspberry Pi icon), Preferences,
|
||||
Add/Remove software.
|
||||
|
||||
#### Other systems
|
||||
|
||||
Have a little look through your application launcher menu to see if there is an
|
||||
app catalogue, application store, package list or similar. If nothing is there,
|
||||
then you might need to look to install something. In KDE this is called 'Discover'.
|
||||
|
||||
One I recommend is 'Synaptic' - you might have it installed already, or you
|
||||
might have to quickly run the below to get it.
|
||||
|
||||
!!! note "Terminal Command"
|
||||
`apt install synaptic`
|
||||
|
||||
On the Raspberry Pi, it's as below. To find it, go to the Raspberry Pi menu (Raspberry Icon, Top Left), Preferences and select Add/Remove software.
|
||||
|
||||
|
@ -59,11 +137,14 @@ On the Raspberry Pi, it's as below. To find it, go to the Raspberry Pi menu (Ras
|
|||
|
||||
In a Windows system, the very top of your computer's filesystem is most often the C Drive, represented as C: commonly. Windows also neatly shows other drives as similar folder structures - CD Drives often start at D:, Floppy drives at A:.
|
||||
|
||||
In Linux we follow a documented filesystem hierarchy, starting at the root of the drive, commonly labelled as `/`. Everything else on the system is presented as a file or a folder under `/`. This includes CD Roms, Hard drives which present as folders, serial & USB devices which present as files and more.
|
||||
In Linux we follow a different filesystem hierarchy, starting at the 'root' of the drive, commonly labelled as `/`. Everything else on the system is presented as a file or a folder under `/`. This includes CD Roms, Hard drives which present as folders, serial & USB devices which present as files and more.
|
||||
|
||||
Paths always start with a `/`, and if it's a folder it will end with a `/` to indicate there is more depth below.
|
||||
|
||||
Devices, as they present, are often named by the class of device and a number starting at 0 to indicate which number it is. You'll commonly see references to `eth0`, showing the first ethernet device or `wlan0` showing the first wireless internet adaptor. A second would be `wlan1` etc.
|
||||
Devices, as they present, are often named by the class of device and a number
|
||||
starting at 0 to indicate which number it is. You'll commonly see references to
|
||||
`eth0`, showing the first Ethernet device or `wlan0` showing the first wireless
|
||||
internet adaptor. A second would be `wlan1` etc.
|
||||
|
||||
If I look at my root filesystem, I see the following folders:
|
||||
|
||||
|
@ -73,6 +154,9 @@ bin@ dev/ home/ lost+found/ mnt/ proc/ run/ srv/ tmp/ var/
|
|||
boot/ etc/ lib@ media/ opt/ root/ sbin@ sys/ usr/
|
||||
```
|
||||
|
||||
!!! tip
|
||||
I used `ls` here to list the folders in the terminal, but the DOS classic `dir` will also work!
|
||||
|
||||
Many folders won't be of interest to you day to day, but some helpful ones to know are:
|
||||
|
||||
* `/dev/` - A folder containing devices, it's likely your modem appears here as `/dev/ttyACM0`
|
||||
|
@ -83,74 +167,140 @@ Many folders won't be of interest to you day to day, but some helpful ones to kn
|
|||
|
||||
## Users, Permissions and 'sudo'
|
||||
|
||||
Much like other systems, Linux has the concept of a regular 'user' which you log in as, day to day and an 'administrator' user who is empowered to make configuration changes to the system, install software and so on. In the Linux world, the administrator is known as 'root'. As root has a lot of power - changing users passwords, deleting every file, overriding safe norms to damage hardware potentially - it is generally recommended that you do not log in day to day as root. If a bad actor or malicious piece of software runs while you are root, it can cause all of the aforementioned damage and more!
|
||||
Much like other systems, Linux has the concept of a regular 'user' which you
|
||||
log in as, day to day and an 'administrator' user who is empowered to make
|
||||
configuration changes to the system, install software and so on. In the Linux
|
||||
world, the administrator is known as 'root'. As root has a lot of power -
|
||||
changing users passwords, deleting every file, overriding safe norms to damage
|
||||
hardware potentially - it is generally recommended that you do not log in day
|
||||
to day as root. If a bad actor or malicious piece of software runs while you
|
||||
are root, it can cause all of the aforementioned damage and more!
|
||||
|
||||
Again, similar to windows, you can run a command as the root user, effectively temporarily granting access to just one program to perform a specific task. In Windows, what usually happens is a pop up window appears asking if you want to do that and pressing yes or no. In Linux, we will have configured the system in advance to know that your user is allowed to do this, and then it will ask for your password to grant permission to carry out the action.
|
||||
Again, similar to windows, you can run a command as the root user, effectively
|
||||
temporarily granting access to just one program to perform a specific task. In
|
||||
Windows, what usually happens is a pop up window appears asking if you want to
|
||||
do that and pressing yes or no. In Linux, we will have configured the system in
|
||||
advance to know that your user is allowed to do this, and then it will ask for
|
||||
your password to grant permission to carry out the action.
|
||||
|
||||
In graphical environments this may take the form of a pop up window - more often than not, however, we do this from the command line by prefixing our whole command with `sudo` - you can see a lot of examples of `sudo` in use at [the repo page](repo.md).
|
||||
In graphical environments this may take the form of a pop up window - more
|
||||
often than not, however, we do this from the command line by prefixing our
|
||||
whole command with `sudo` - you can see a lot of examples of `sudo` in use at
|
||||
[the repo page](repo.md).
|
||||
|
||||
Looking at the repo as an example and considering our earlier learning from Applications and Repositories above - it's no wonder that you need to carry out the commands mostly as the root user!
|
||||
To add my repository, you are making a major system configuration change in two manners:
|
||||
Looking at the repo as an example and considering our earlier learning from
|
||||
Applications and Repositories above - it's no wonder that you need to carry out
|
||||
the commands mostly as the root user! To add my repository, you are making a
|
||||
major system configuration change in two manners:
|
||||
|
||||
* Telling it to trust absolutely the software that I distribute
|
||||
* Telling the package manager where to download that software from
|
||||
|
||||
From this point on, you're placing a lot of trust in me personally - I can make quite significant changes to your system, or open up security holes, or accidentally break programs. I promise to not abuse this trust - to do so would break our Social Contract, result in me being ejected from several communities I love and I'd probably have to find a new set of hobbies.
|
||||
From this point on, you're placing a lot of trust in me personally - I can make
|
||||
quite significant changes to your system, or open up security holes, or
|
||||
accidentally break programs. I promise to not abuse this trust - to do so would
|
||||
break our Social Contract, result in me being ejected from several communities
|
||||
I love and I'd probably have to find a new set of hobbies.
|
||||
|
||||
You can, of course, revoke this decision at any point by removing the repo key and entry in `/etc/apt.conf`.
|
||||
You can, of course, revoke this decision at any point by removing the repo key
|
||||
and entry in `/etc/apt.conf`.
|
||||
|
||||
### How do I know if I can run programs as root?
|
||||
|
||||
This is one for the command line! I recommend running `groups`:
|
||||
This is one for the command line! I recommend running groups:
|
||||
!!! note "Terminal Command"
|
||||
`groups`
|
||||
|
||||
The output on my system looks like:
|
||||
```
|
||||
❯ groups
|
||||
hibby cdrom floppy sudo audio dip video plugdev users netdev lpadmin scanner sbuild
|
||||
```
|
||||
|
||||
You can see in my group list that I can access the cd rom drive, the floppy drive and run things as sudo, amongst other less important groups!
|
||||
You can see in my group list that I can access the cd rom drive, the floppy
|
||||
drive and run things as sudo, amongst other less important groups!
|
||||
|
||||
If you do *not* have sudo in this list, you'll need a bit more help than I can give here - time to [ask for help!](beginners-guide.md#ask-for-help). If you're running a Raspberry Pi or Ubuntu, chances are that you'll be able to. Debian is a little more paranoid so we don't grant it by default.
|
||||
If you do *not* have sudo in this list, you'll need a bit more help than I can
|
||||
give here - time to [ask for help!](beginners-guide.md#ask-for-help). If you're
|
||||
running a Raspberry Pi or Ubuntu, chances are that you'll be able to. Debian is
|
||||
a little more paranoid so we don't grant it by default.
|
||||
|
||||
You'll need to run a command called `usermod` as the root user to grant your regular user a new group - `usermod -aG <groupname> <username>` effectively translates to 'add <username> to <groupname>. Get rid of the brackets and add the user and group you're trying for! See [Permissions and Groups](#Permissions-and-Groups) for an example.
|
||||
You'll need to run a command called `usermod` as the root user to grant your regular user a new group -
|
||||
!!! note "Terminal Command"
|
||||
`usermod -aG <groupname> <username>`
|
||||
|
||||
This effectively translates to 'add <username> to <groupname>. Get rid of the
|
||||
brackets and add the user and group you're trying for! See [Permissions and
|
||||
Groups](#Permissions-and-Groups) for an example.
|
||||
|
||||
### Running Command Line Programs as Root
|
||||
|
||||
We prefix a command with `sudo` if we want it to be run as root and we know
|
||||
we're in the right group!
|
||||
|
||||
!!! note "Terminal Command"
|
||||
`nano /etc/bpq32.cfg`
|
||||
|
||||
becomes
|
||||
|
||||
`sudo nano /etc/bpq32.cfg`
|
||||
|
||||
### Editing text as root
|
||||
|
||||
The path of least resistance for many is to use the command line - if you know what file you need to edit, you can do that quickly and directly using a command line text editor.
|
||||
The path of least resistance for many is to use the command line - if you know
|
||||
what file you need to edit, you can do that quickly and directly using a
|
||||
command line text editor.
|
||||
|
||||
The GUI offers some choices - my preferred method is below.
|
||||
|
||||
##### GUI
|
||||
|
||||
I recommend installing Featherpad for this - it's lightweight and will only ask for a password when you save the file.
|
||||
I recommend installing Featherpad for this - it's lightweight and will only ask
|
||||
for a password when you save the file.
|
||||
|
||||
If you use the KDE Desktop, Kate works and has the below functionality inbuilt.
|
||||
|
||||
To install it see [above](linux.md/#graphical-app-store-frontend) for more.
|
||||
|
||||
You can open Featherpad from the application launcher and use the file->open menu to get access to files all round the system:
|
||||
You can open Featherpad from the application launcher and use the file->open
|
||||
menu to get access to files all round the system:
|
||||
|
||||

|
||||
|
||||
Take yourself back to `/` with the Path breadcrumb at the top, and to edit the bpq32.conf config file, for example, find `/etc/bpq32.cfg`.
|
||||
Take yourself back to `/` with the Path breadcrumb at the top, and to edit the
|
||||
bpq32.conf config file, for example, find `/etc/bpq32.cfg`.
|
||||
|
||||
On saving the file, the system will ask you to enter your password as it's a protected file that only the root user can write to:
|
||||
On saving the file, the system will ask you to enter your password as it's a
|
||||
protected file that only the root user can write to:
|
||||
|
||||

|
||||
|
||||
Alternatively, after installing featherpad you can open your file manager, navigate to `/etc/`, open `bpq32.cfg` and the system will present a similar popup when you try to save:
|
||||
Alternatively, after installing featherpad you can open your file manager,
|
||||
navigate to `/etc/`, open `bpq32.cfg` and the system will present a similar
|
||||
popup when you try to save:
|
||||
|
||||

|
||||
|
||||
In all these programs, you can find `/etc/` by typing `/etc` in the navigation bar that is top-central, or by Pressing 'Filesystem Root' on the left hand side and navigating to etc in the main pane.
|
||||
In all these programs, you can find `/etc/` by typing `/etc` in the navigation
|
||||
bar that is top-central, or by Pressing 'Filesystem Root' on the left hand side
|
||||
and navigating to etc in the main pane.
|
||||
|
||||
#### Command Line
|
||||
|
||||
Every Debian system ships with one called `nano` which is relatively approachable.
|
||||
Every Debian system ships with a text editor called `nano` which is relatively approachable.
|
||||
|
||||
You open your file directly, so to edit the BPQ config file, run `sudo nano /etc/bpq32.cfg`. This translates to: `As root user, open nano to edit /etc/bpq32.cfg`
|
||||
You open your file directly, so to edit the BPQ config file, run:
|
||||
|
||||
Navigation is with arrow keys (no mouse, sorry!). There are a list of commands at the bottom of the screen - they use ^ as a shortcut to indicate you must press control at the same time as those letters. Similarly, M is an idication of 'meta' key, which will likely be the alt key. This is quite similar to keyboard shortcuts in Microsoft Word (ctrl&s for save, alt-f4 for exit).
|
||||
!!! note "Terminal Command"
|
||||
`sudo nano /etc/bpq32.cfg`
|
||||
|
||||
This translates to: `As root user, open nano to edit /etc/bpq32.cfg`
|
||||
|
||||
Navigation is with arrow keys (no mouse, sorry!). There are a list of commands
|
||||
at the bottom of the screen - they use ^ as a shortcut to indicate you must
|
||||
press control at the same time as those letters. Similarly, M is an indication
|
||||
of 'meta' key, which will likely be the alt key. This is quite similar to
|
||||
keyboard shortcuts in Microsoft Word (ctrl&s for save, alt-f4 for exit).
|
||||
|
||||
Some helpful commands to know:
|
||||
|
||||
|
@ -167,17 +317,32 @@ Some helpful commands to know:
|
|||
|
||||
### Permissions and Groups
|
||||
|
||||
Files, devices and folders can have read and write permissions tied to both a user and a group, just as in Windows. You can check this in your file manager by right clicking and selecting properties.
|
||||
Files, devices and folders can have read and write permissions tied to both a
|
||||
user and a group, just as in Windows. You can check this in your file manager
|
||||
by right clicking and selecting properties.
|
||||
|
||||
In the command line, this can be checked also - to understand who can do what with a NinoTNC, plug it in and run
|
||||
In the command line, this can be checked also - to understand who can do what
|
||||
with a NinoTNC, plug it in and run
|
||||
!!! note "Terminal Command"
|
||||
`ls -l /dev/ttyACM0`
|
||||
|
||||
The output on my system looks like:
|
||||
```
|
||||
❯ ls -l /dev/ttyACM0
|
||||
crw-rw---- 1 root dialout 204, 64 Apr 11 08:32 /dev/ttyACM0
|
||||
```
|
||||
|
||||
This can be read as the device is owned by root and accessible by the group `dialout`. This is a common group you'll see regularly for serial devices, and worth being a member of. If a device has dialout as its group, this is telling us unless your user is root or in the dialout group, you cannot use the device.
|
||||
This can be read as the device is owned by root and accessible by the group
|
||||
`dialout`. This is a common group you'll see regularly for serial devices, and
|
||||
worth being a member of. If a device has dialout as its group, this is telling
|
||||
us unless your user is root or in the dialout group, you cannot use the device.
|
||||
|
||||
To add your user to the dialout group, you may need to run the usermod command as mentioned above. To add my user hibby, it would be `usermod -aG dialout hibby`. As this command needs to be run as the root user, we probably need to run `sudo usermod -aG dialout hibby`.
|
||||
To add your user to the dialout group, you may need to run the usermod command
|
||||
as mentioned above. To add my user hibby, it would be
|
||||
!!! note "Terminal Command"
|
||||
`usermod -aG dialout hibby`
|
||||
|
||||
For this change to take effect, you will need to log out and log back in again.
|
||||
!!! tip
|
||||
As this command needs to be run as the root user, we probably need to run `sudo usermod -aG dialout hibby`
|
||||
|
||||
For this change to take effect, you will need to log out and log in again.
|
||||
|
|
|
@ -4,7 +4,7 @@ Modems are the part of a packet radio system that encodes data into audio for yo
|
|||
|
||||
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.
|
||||
Modern 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 interchangeable 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:
|
||||
|
||||
|
@ -23,7 +23,7 @@ Other modems are available however, including but not limited to
|
|||
|
||||
## 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 term that appears regularly is 'TNC' or Terminal Node Controller, and often Modem & TNC are used interchangeably, 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.
|
||||
|
||||
|
@ -33,9 +33,9 @@ In more modern packet systems, all of these roles are taken by the software we u
|
|||
|
||||
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:
|
||||
Alternative modem command sets exist - ones 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
|
||||
| AGW or AGWPE | From AGW Packet Engine. A proprietary command set that was originally released to interact with the software it is named after
|
||||
| 6pack | 6pack offers more control over the radio and more awareness for the PC what is happening at the cost of greater complexity
|
||||
|
|
|
@ -14,7 +14,7 @@ For the UK & Ireland, boards are are available from [Tom, M0LTE](https://ko-fi.c
|
|||
|
||||
## Build
|
||||
|
||||
The build gide for the NinoTNC is available on the [TARPN Website](https://tarpn.net/t/nino-tnc/nino-tnc.html).
|
||||
The build guide for the NinoTNC is available on the [TARPN Website](https://tarpn.net/t/nino-tnc/nino-tnc.html).
|
||||
|
||||
## Operation
|
||||
|
||||
|
@ -60,9 +60,9 @@ Why? Simply put, see the below three statements but tread carefully. Not all thi
|
|||
|
||||
Modulation: These modes offer increasing bandwidth efficiency, with QPSK being our over SSB being our preferred - AFSK over FM is the least efficient mode.
|
||||
|
||||
Protocol: IL2P+CRC is the most resilent mode against corruption or data loss as it transits the air, with AX.25 being unprotected against this.
|
||||
Protocol: IL2P+CRC is the most resilient mode against corruption or data loss as it transits the air, with AX.25 being unprotected against this.
|
||||
|
||||
Mode: SSB is preferred as the channels are narrower and allow for more flexibility - tigher filtering and better amplification per hz. FM is good enough, however.
|
||||
Mode: SSB is preferred as the channels are narrower and allow for more flexibility - tighter filtering and better amplification per hz. FM is good enough, however.
|
||||
|
||||
### Signals Switch
|
||||
|
||||
|
|
|
@ -10,7 +10,8 @@ It has some compelling features - not only does it natively understand IL2P at a
|
|||
|
||||
If you're using Debian, Ubuntu or a Raspberry Pi it will be easiest if you install [hibby's repo](../repo.md).
|
||||
|
||||
Once you have done that you can install the prerequisites, either search for qtsoundmodem in your [app store](linux.md/#graphical-app-store-frontend):
|
||||
Once you have done that you can install the prerequisites, either search for
|
||||
qtsoundmodem in your [app store](../linux.md/#graphical-app-store-frontend):
|
||||
|
||||
`sudo apt install qtsoundmodem`
|
||||
|
||||
|
|
10
docs/repo.md
10
docs/repo.md
|
@ -2,14 +2,15 @@
|
|||
|
||||
## Script
|
||||
|
||||
The script requires dowloaded, set to executable and run and is a little simpler than the manual setup - thanks to John M5ET for writing it!
|
||||
The script requires downloaded, set to executable and run and is a little simpler than the manual setup - thanks to John M5ET for writing it!
|
||||
|
||||
I strongly recommend you read through it **before** running it - it should look similar to the manual method below.
|
||||
**General computer security advice is to not blindly run scripts you downloaded from the internet!**
|
||||
|
||||
Download the script from: [[https://guide.foxk.it/static/files/setup.sh]]
|
||||
Download the script from:
|
||||
[https://guide.foxk.it/static/files/setup.sh](https://guide.foxk.it/static/files/setup.sh).
|
||||
|
||||
Lines you can run in the command line are:
|
||||
This, sadly, must be run in the command line - the lines to run it are:
|
||||
|
||||
```
|
||||
cd /tmp
|
||||
|
@ -32,6 +33,9 @@ You can trust this key - it is contained in [Debian](https://salsa.debian.org/de
|
|||
## Set up Repo
|
||||
Then you need to add the repo for your OS:
|
||||
|
||||
### Ubuntu 24.04 LTS amd64
|
||||
`sudo sh -c 'echo "deb
|
||||
https://online-amateur-radio-club-m0ouk.github.io/oarc-packages noble main" >> /etc/apt/sources.list'`
|
||||
|
||||
### 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'`
|
||||
|
|
|
@ -18,6 +18,12 @@ For details on how to use it:
|
|||
* Configuration can be found [here](config/bpq.md).
|
||||
* The project website can be found [here](https://www.cantab.net/users/john.wiseman/Documents/)
|
||||
|
||||
!!! info
|
||||
BPQ has a good community, plenty of features and is well supported
|
||||
within the UK Packet Radio Network. It is a good starting point for
|
||||
beginners and old hands alike! It is available in the repo and kept up
|
||||
to date for you by me!
|
||||
|
||||
## XROUTER
|
||||
|
||||
XROUTER is written by Paula G8PZT and allows a computer to act as a node in a NET/ROM and AX.25 network.
|
||||
|
@ -35,6 +41,13 @@ For details on how to use it:
|
|||
* Configuration can be found [here](config/xrouter.md).
|
||||
* The project website can be found [here](https://groups.io/g/xrouter/topics)
|
||||
|
||||
!!! info
|
||||
XROUTER has a good community, plenty of features and is well supported
|
||||
with an active groups.io. It has an excellent user interface and is
|
||||
quick to get up and running with! It is a good starting point for
|
||||
beginners and old hands alike! It is not available in the repo and you
|
||||
will need to remember to update it periodically.
|
||||
|
||||
## 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.
|
||||
|
@ -53,3 +66,11 @@ For details on how to use it:
|
|||
|
||||
* Installation information can be found [here](install/linux.md).
|
||||
* Configuration can be found [here](config/linux.md).
|
||||
|
||||
!!! info
|
||||
The Linux stack is deep and powerful in its featureset and nearly
|
||||
infinitely configurable, but this is both a blessing and a curse.
|
||||
It has less community than the others and is harder to get support for.
|
||||
It has been known to have bugs that cause issues with stability which
|
||||
might impact your neighbours. It is probably worth avoiding if you're a
|
||||
beginner and only exploring if you're a keen experimenter!
|
||||
|
|
|
@ -11,65 +11,65 @@ osver=`echo "$osstr" |sed 's/GNU\/Linux//g'`
|
|||
case `echo $osver` in
|
||||
"Debian 13"*)
|
||||
echo "Installing GPG signing key, please wait..."
|
||||
# curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
echo -e "\033[32mGPG signing key installed correctly.\033[0m"
|
||||
echo "Adding Debian testing repository for OARC packages..."
|
||||
# echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
# echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages testing main" >> /etc/apt/sources.list
|
||||
echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages testing main" >> /etc/apt/sources.list
|
||||
echo -e "\033[32mRepository added correctly.\033[0m"
|
||||
;;
|
||||
"Debian 12"*)
|
||||
echo "Installing GPG signing key, please wait..."
|
||||
# curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
echo -e "\033[32mGPG signing key installed correctly.\033[0m"
|
||||
echo "Adding Debian stable repository for OARC packages..."
|
||||
# echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
# echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bookworm main" >> /etc/apt/sources.list
|
||||
echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bookworm main" >> /etc/apt/sources.list
|
||||
echo -e "\033[32mRepository added correctly.\033[0m"
|
||||
;;
|
||||
"Ubuntu 22.04"*)
|
||||
echo "Installing GPG signing key, please wait..."
|
||||
# curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
echo -e "\033[32mGPG signing key installed correctly.\033[0m"
|
||||
echo "Adding Ubuntu jammy repository for OARC packages..."
|
||||
# echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
# echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages jammy main" >> /etc/apt/sources.list
|
||||
echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages jammy main" >> /etc/apt/sources.list
|
||||
echo -e "\033[32mRepository added correctly.\033[0m"
|
||||
;;
|
||||
"Ubuntu 24.04"*)
|
||||
echo "Installing GPG signing key, please wait..."
|
||||
# curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
echo -e "\033[32mGPG signing key installed correctly.\033[0m"
|
||||
echo "Adding Ubuntu jammy repository for OARC packages..."
|
||||
# echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
# echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages noble main" >> /etc/apt/sources.list
|
||||
echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages noble main" >> /etc/apt/sources.list
|
||||
echo -e "\033[32mRepository added correctly.\033[0m"
|
||||
;;
|
||||
"Raspbian 12"*)
|
||||
echo "Installing GPG signing key, please wait..."
|
||||
# curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
echo -e "\033[32mGPG signing key installed correctly.\033[0m"
|
||||
echo "Adding Raspberry Pi OS stable repository for OARC packages..."
|
||||
# echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
# echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bookworm main" >> /etc/apt/sources.list
|
||||
echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bookworm main" >> /etc/apt/sources.list
|
||||
echo -e "\033[32mRepository added correctly.\033[0m"
|
||||
;;
|
||||
"Raspbian 11"*)
|
||||
echo "Installing GPG signing key, please wait..."
|
||||
# curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
echo -e "\033[32mGPG signing key installed correctly.\033[0m"
|
||||
echo "Adding Raspberry Pi OS oldstable repository for OARC packages..."
|
||||
# echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
# echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bullseye main" >> /etc/apt/sources.list
|
||||
echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bullseye main" >> /etc/apt/sources.list
|
||||
echo -e "\033[32mRepository added correctly.\033[0m"
|
||||
;;
|
||||
"Debian 11"*)
|
||||
echo "Installing GPG signing key, please wait..."
|
||||
# curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
curl https://online-amateur-radio-club-m0ouk.github.io/oarc-packages/hibby.key | tee /etc/apt/trusted.gpg.d/hibby.asc
|
||||
echo -e "\033[32mGPG signing key installed correctly.\033[0m"
|
||||
echo "Adding Raspberry Pi OS oldstable repository for OARC packages..."
|
||||
# echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
# echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bullseye main" >> /etc/apt/sources.list
|
||||
echo "#OARC Packet Radio Packages" >> /etc/apt/sources.list
|
||||
echo "deb https://online-amateur-radio-club-m0ouk.github.io/oarc-packages bullseye main" >> /etc/apt/sources.list
|
||||
echo -e "\033[32mRepository added correctly.\033[0m"
|
||||
;;
|
||||
*)
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 123 KiB |
Binary file not shown.
After Width: | Height: | Size: 113 KiB |
Loading…
Reference in New Issue