If you’re an amateur radio operator, and want to use the Raspberry Pi (models 2B, 3B, and 3B+) to power your PTTLink node, RasLink will let you do just that.
Quick Links
Notes For Node ownersOverview
Enhancements
What’s Included In RasLink?
Requirements
Download RasLink
Extract RasLink
Flash RasLink
Boot RasLink For The First Time
Forward Ports
Connect To PTTLink
Update RasLink
Use Fail2Ban
Use Uricheck
Set Up Wi-Fi
Use End
Use Nodenames
More Documentation And Help
1. Notes For Node Owners
To use RasLink, you need to have a server configured at PTTLink.
If you are an existing RasLink user, your AllStarLink node numbers will work. You can request that your AllStarLink node numbers be made active on the PTTLink network by following the instructions on the PTTLink Wiki.
For the moment, there is no interconnectivity to the AllStarLink network. It’s being worked on.
If you choose to use the AllStarLink network, make sure that RasLink is up-to-date before configuring your node. In /etc/asterisk/rpt.conf
, remove the ; (semicolon) from the front of the extnodes = /var/lib/asterisk/rpt_allstarlink
line.
RasLink will self-expand to fit your micro SD card on the first boot.
You may need to run system-update before bringing your node online. Please read the information displayed when you log in. Information about how this works is found in the Update RasLink section.
2. Overview
Here’s a video made by Skyler W0SKY showing how RasLink works.
Note: A lot of the commands shown in this video have changed. See /etc/asterisk/rpt.conf
for more information.
3. Enhancements
RasLink is a moving target. For the latest enhancements, please see The RasLink ChangeLog.
4. What’s Included In RasLink?
RasLink includes:
- Dahdi
- Libpri
- Asterisk (with notch filter and mdc1200 support)
- System-update
- Wifi-setup
- Raspi-config
- Uricheck
- End
- Nodenames
- Fail2Ban
5. Requirements
To use RasLink, you will need a Raspberry Pi 2B, 3B, or 3B+, 8GB or larger class 6, 8, or 10 micro SD card, and a USB interface.
The URI (USB Radio Interface) can be found at DMK Engineering. If you cannot, or do not want to build your own cables, they can be purchased from uricables.com.
6. Download RasLink
You can download RasLink as either a Compressed Disk Image
or a Torrent. (Usually faster than a web browser)
7. Extract RasLink
You cannot flash RasLink in its compressed form.
You must extract it.
Windows users should use 7-Zip.
Linux users should use Xz or Archive Manager.
Mac users should use The Unarchiver.
After extracting the .xz file, you will have a file ending in .img. The .img file is the one you want to flash to your SD card.
8. Flash RasLink
To flash RasLink to your SD card, you can either use WinFlashTool for Windows, or Dd for Linux and macOS.
Note: Dd will not ask if it is ok to write to the device, so make sure that the device you choose is the one you want to write to.
9. Boot RasLink For The First Time
After inserting your SD card into the pi, plug in the power. In thirty seconds or so, your pi will be booted. Ssh into the pi. The user name is root, and the password is raspberry. The ssh port is 22.
After logging into the pi, CHANGE YOUR PASSWORD!
To change your password, type:passwd
You will be asked for your new password twice.
Next, run raspi-config
.
In the raspi-config menu, choose item 2→1 to set your Pi’s hostname.
Next, choose item 4 to set your locale and region settings.
After that, choose “Finish”.
You will be asked if you want to reboot. Choose “Yes”.
If you want to change the ssh port on your pi for better security, edit /etc/ssh/sshd_config
.
You can do this by typing:nano /etc/ssh/sshd_config
The file is very well commented, so you shouldn’t have any trouble.
To save the changes, type:
CTRL+x, y, enter key
To make the new port active, type:systemctl restart ssh
You will need to log out then back in to make further changes.
10. Forward Ports
You need to forward the following ports to your RasLink server, if not using it mobile.
- PTTLink: 4569 UDP
- EchoLink (if you use it): 5198-5199 UDP
5200 TCP - Your TCP ssh port (if you want to control your server from outside your network)
11. Connect To PTTLink
To connect to the PTTLink network, edit the following files:
- /etc/asterisk/rpt.conf
- /etc/asterisk/iax.conf
- /etc/asterisk/usbradio.conf
- /etc/asterisk/extensions.conf
If you want to use EchoLink, edit /etc/asterisk/echolink.conf
. If you don’t want to use EchoLink, you don’t need to do anything. EchoLink is disabled by default.
The files are very well commented, so you shouldn’t have any trouble.
Note: In iax.conf, 1999 is your PTTLink node number, and 123456 is your node password. Do not forget to remove the ; (semicolon) from the front of the registration line. register=
You can find your node password under your profile in the
PTTLink portal.
After setting up the files, reboot to activate the changes:reboot
12. Update RasLink
To update RasLink, type:system-update
System-update will update RasLink to the latest software.
If a new release is found (e.g. from jessie to stretch), you will be asked if you wish to upgrade to the new release.
For both a normal system update, as well as a release upgrade, all the nodes on your RasLink server will be disabled until the update completes.
System-update will reboot your server a few times. Twice for a normal update, and three times for a release upgrade.
After your server reboots, you need to log in to finish the update.
After you log in, the update will automatically complete.
You will not lose any of your configuration files.
You can check the version of the software you are running, as well as get notified about available updates at anytime by typing:version
Version will be run once automatically after each log in.
13. Use Fail2Ban
Fail2Ban is used to block brute force attackers from gaining access to RasLink.
You have 6 (six) attempts to send the correct login information to RasLink over ssh.
If you don’t send the correct login information within 6 (six) attempts, you will be banned for 2 (two) hours.
After 2 (two) hours, if repeated failed login attempts continue from the same IP address, the IP address will be banned for up to 1 (one) week.
To regain access to RasLink if you get banned, you should Fill In The Contact form.
When filling in the form, you should request to have your IP address unbanned.
The default RasLink rules for Fail2Ban are loaded from /etc/fail2ban/jail.d/00raslink.local
. Do Not Edit This File.
If you would like to create custom jails (for example: apache2 for allmon), you should edit /etc/fail2ban/jail.local
.
To find out what jails are loaded, run:fail2ban-client status
You can learn more about Fail2Ban at the Fail2Ban Wiki.
14. Use Uricheck
You can use uricheck
to insure that your USB Radio Interface (URI) is working properly
Uricheck can be run by typing:uricheck
You need to build a loop back circuit to use uricheck.
Your radio cannot be connected while running the tests.
You can download the pin out from the DMK Engineering Website.
15. Set Up Wi-Fi
If you want to use wifi with your pi, do the following.
15.1. Raspberry Pi 2B
Plug in your USB wifi module.
Then, log in using ssh.
Next, type:wifi-setup
15.2. Raspberry Pi 3B and 3B+
Log in using ssh.
Next, type:wifi-setup
Wifi-setup will ask which Wi-Fi card you want to use. If you do not enter a card name such as
wlan1, wlan0 will be assumed.
After choosing your Wi-Fi card, Wifi-setup will scan for networks.
When the first scan finishes, you will be asked if you want to scan again.
This is useful if the name of the network that you want to connect to isn’t listed in the results of the first scan.
After scanning completes, you will be asked to type the name of the network you want to connect to, as well as the password for that network.
Wifi-setup will setup the connection, and connect you to the network.
After a connection is established, your IP address information will be displayed.
Note: You cannot remove a network with Wifi-setup.
To remove a network, edit /etc/wpa_supplicant/ wpa_supplicant.conf
.
The block of code for each network starts with:network=
and ends with:}
(right brace).
16. Use End
You can use end
in two ways.
If you type only the node to control,
end assumes that you want to drop all connected nodes from that node.
The node to control must be on your RasLink server.
example:end 12345
If you type the node to control plus another node number, end will drop that node.
example:end 12345 67890
17. Use Nodenames
Nodenames are short messages that play whenever a node connects or disconnects. Instead of hearing “Node XXXX”, you will hear a custom message if one is available.
Nodenames accepts the following options:
- [on] enable nodenames
- [off] disable nodenames
- [status] show status of nodenames
- [help] show this help message
Example usage:nodenames status
Nodenames are synced once an hour from the
Nodenames Repository.
If you would like your Nodename added to the repository, please fill in the Contact Form.
In the subject field, please include your node number.
Example:
Node 12345
Your Nodename should be in the following format:
- Length: 15 seconds or less
- Number of channels: 1
- Sample rate: 8000
- Bit rate: 16
- Header: RAW (header-less)
- Encoding: U-law
- Name: Your PTTLink Node Number
- Extension: .ulaw
A good audio editor to create Nodenames with is Audacity.
If you have trouble getting your Nodename in the correct format, please upload a high quality mp3 or wav file, and it will be converted for you. All Nodenames will be reviewed before being added to the repository. Once your Nodename has been added, you will receive an email from JL Applied Technologies.
18. More Documentation And Help
For more documentation on PTTLink/AllStarLink and the many things you can do with it, go to the PTTLink Wiki.
If you have any questions about RasLink, ask in the RasLink group.
Enjoy RasLink on your Raspberry Pi!