tutorial-packet-on-pi
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tutorial-packet-on-pi [2025/11/30 20:32] – n6cta | tutorial-packet-on-pi [2026/01/01 07:07] (current) – [Audio - ALSA, maybe PipeWire, not Pulse] n6cta | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| N6CTA choose to use Direwolf as the software modem in this series as it appeared to the most performant and stable 300Bd FX.25 soft modem available for Linux. We've also investigated '' | N6CTA choose to use Direwolf as the software modem in this series as it appeared to the most performant and stable 300Bd FX.25 soft modem available for Linux. We've also investigated '' | ||
| - | ==== Why linBPQ: ==== | + | ==== Why linBPQ? ==== |
| We’ve choosen linBPQ as it is cross-platform, | We’ve choosen linBPQ as it is cross-platform, | ||
| Line 50: | Line 50: | ||
| If you’re undecided about what linux disto to use and you’re on some other hardware, //We recommend plain old Debian.// It’ll run smoothly on just about everything that isn’t in a museum. Just slap it on a USB stick using your OS’s disk imager of choice and let ‘er rip. It’s the DOOM of OS’s. | If you’re undecided about what linux disto to use and you’re on some other hardware, //We recommend plain old Debian.// It’ll run smoothly on just about everything that isn’t in a museum. Just slap it on a USB stick using your OS’s disk imager of choice and let ‘er rip. It’s the DOOM of OS’s. | ||
| - | |||
| - | //But really we should say a bit more?// | ||
| - | |||
| ==== Directories ==== | ==== Directories ==== | ||
| We recommend setting up the software with these directories: | We recommend setting up the software with these directories: | ||
| < | < | ||
| - | cd ~/.local && mkdir bin log src | + | cd ~/ && mkdir .local .config |
| + | cd ~/.local && mkdir bin log src share | ||
| cd ~/ | cd ~/ | ||
| cd ~/.config && mkdir autostart linbpq direwolf qttermtcp hamlib | cd ~/.config && mkdir autostart linbpq direwolf qttermtcp hamlib | ||
| Line 102: | Line 100: | ||
| < | < | ||
| cd ~/ | cd ~/ | ||
| - | git clone --branch 24.52 --single-branch https:// | + | git clone --branch 24.56 --single-branch https:// |
| git clone --branch 1.7 --single-branch https:// | git clone --branch 1.7 --single-branch https:// | ||
| git clone --branch 0.79 --single-branch https:// | git clone --branch 0.79 --single-branch https:// | ||
| Line 121: | Line 119: | ||
| ./configure | ./configure | ||
| make | make | ||
| - | export | ||
| sudo make install | sudo make install | ||
| sudo ldconfig | sudo ldconfig | ||
| Line 448: | Line 445: | ||
| < | < | ||
| - | sudo yggdrasil -genconf -json > / | + | yggdrasil -genconf -json > yggdrasil.conf |
| </ | </ | ||
| - | In the `yggdrasil.conf` file, edit your peers to add: | + | In the `yggdrasil.conf` file, edit your peers (typically the second line) to add: |
| + | < | ||
| " | " | ||
| + | </ | ||
| I also strongly advise disabling the multicast interface: | I also strongly advise disabling the multicast interface: | ||
| Line 468: | Line 467: | ||
| } | } | ||
| + | Then copy the file to the correct directory. | ||
| + | |||
| + | < | ||
| + | sudo cp yggdrasil.conf / | ||
| + | </ | ||
| ===== PBBS Hardening ===== | ===== PBBS Hardening ===== | ||
| Line 562: | Line 566: | ||
| } | } | ||
| - | < | ||
| pcm.9700RX { | pcm.9700RX { | ||
| type dsnoop | type dsnoop | ||
| Line 587: | Line 590: | ||
| } | } | ||
| - | pcm.300RX {type rate slave {pcm "plug:RX7300" rate 48000}} | + | pcm.300RX {type rate slave {pcm "plug:7300RX" rate 48000}} |
| - | pcm.300TX {type rate slave {pcm "plug:TX7300" rate 48000}} | + | pcm.300TX {type rate slave {pcm "plug:7300TX" rate 48000}} |
| - | pcm.1200RX {type rate slave {pcm "plug:RX9700" rate 48000}} | + | pcm.1200RX {type rate slave {pcm "plug:9700RX" rate 48000}} |
| - | pcm.1200TX {type rate slave {pcm "plug:TX9700" rate 48000}} | + | pcm.1200TX {type rate slave {pcm "plug:9700TX" rate 48000}} |
| </ | </ | ||
| ==== Serial - udev rules ==== | ==== Serial - udev rules ==== | ||
| Line 657: | Line 660: | ||
| ==== Firewall - UFW ==== | ==== Firewall - UFW ==== | ||
| + | We'll need to first make sure we've got IPv6 covered in UFW: | ||
| + | |||
| + | < | ||
| + | |||
| + | If it reads no change it to yes and if it is missing altogether, add it to the end of the file. | ||
| + | |||
| < | < | ||
| - | sudo ufw allow OpenSSH | + | IPV6=yes |
| + | </ | ||
| + | |||
| + | Next, we'll need to open port 22 so we don't lock ourselves out as well as applying sane defaults and starting the service. If you use a different internal subnet range you'll want to edit this to reflect it: | ||
| + | |||
| + | < | ||
| + | sudo ufw reload | ||
| sudo ufw default deny incoming | sudo ufw default deny incoming | ||
| sudo ufw default allow outgoing | sudo ufw default allow outgoing | ||
| + | sudo ufw allow from 192.168.1.0/ | ||
| + | sudo ufw enable | ||
| </ | </ | ||
| - | |||
| ==== Systemd Services ==== | ==== Systemd Services ==== | ||
| Line 726: | Line 742: | ||
| === Modem - Direwolf === | === Modem - Direwolf === | ||
| - | Create file ''/ | + | Create file ''/ |
| < | < | ||
| [Unit] | [Unit] | ||
| Line 746: | Line 762: | ||
| WantedBy=multi-user.target | WantedBy=multi-user.target | ||
| </ | </ | ||
| + | |||
| + | Here the options passed to direwolf are as follows: | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| === BBS - linBPQ === | === BBS - linBPQ === | ||
| - | Create file ''/ | + | Create file ''/ |
| < | < | ||
| [Unit] | [Unit] | ||
| Line 771: | Line 797: | ||
| </ | </ | ||
| + | === Mesh - Yggdrasil === | ||
| + | This should have been created and enabled but you can make sure by running: | ||
| + | < | ||
| + | sudo systemctl enable yggdrasil.service | ||
| + | sudo systemctl restart yggdrasil.service | ||
| + | </ | ||
tutorial-packet-on-pi.1764534749.txt.gz · Last modified: by n6cta