Allstarlink Repeaters
Interior of Allstar linked 900 MHz repeater — Mini-ITX controller on 2U shelf
6m & 10m Split-Site Repeaters
6M & 10M split site repeaters and link radio shelves
Project Documentation
- 6m and 10M repeaters- PDF project documentation
- 10M Crystal filter design & test- PDF documentation
Simplex Nodes
Simplex Nodes with RPi (Debian)
Simplex Node for 900 MHz with TK-981
Simplex MicroNode for 900 MHz with RTCM and TK-941
Pelican-case RTCM based 900 MHz portable simplex node
Allstar Radioless "Web" Transceivers
Allstar web transceiver with Beaglebone Black
Allstar web transceiver with RTCM
Allstar web transceiver with Raspberry Pi 3B
Remote SSB transceiver link- PDF project documentation
Homebrew Controllers, Bridges & Interfaces
Allstar dual server — dual node web transceivers (built for N7GLV)
K5TRA homebrew four repeater controller & linker (built for WD5EMS)
K5TRA homebrew Analog Bridges: P25, DMR-BM, DMR-MARC
K5TRA homebrew USB radio interface (original ver.1.1) — 1.8" × 2.5"
K5TRA updated CM119A and CM119B homebrew USB radio interfaces — 1.85" × 2.3"
K5TRA homebrew 5V regulator & fan control — 1.8" × 2.5"
900 MHz repeater in short rack
Repeater for 900 MHz with RPi (Debian), TK-931 (TX) and TK-980 (RX)
Allstar Repeater Linking
In 2011, I migrated my internet linking from EchoLink to Allstar. The *927_TECH* hub server is still maintained and linked into the Allstar 900 MHz network; but, the EchoLink side has become secondary.
Allstar is an implementation of Asterisk, an open source PBX that runs on Linux. The Linux platform can provide complete multiport repeater controller functionality, thereby eliminating the need for a controller board!! The most recent repeaters that I have built do not have hardware controller boards in them. Early on, I built three with mini-ITX Celeron boards. The results were very good. Allstar has a range of codecs available (depending on available BW). Linked and repeated audio is superb.
N4IRS originally ported the ACID implementation to Debian (8.2) Jessie. After Jim Dixon’s passing (WB6NIL), a new team at Allstarlink was formed. The current ASL release is a product of that effort.
A decade ago, a number of the 900 MHz group began building with “Beaglebone Black” and “Raspberry Pi-2” ARM processor boards. Results have been so good with both the BBB and RPi-2 & RPi-3 boards that the future direction with ARM processor boards was set. If I can help with information, please feel free to contact me.
There were two original Allstar distribution variants: XIPAR and ACID. I began using the ACID implementation; so, my comments here will be along those lines. ACID originally was implemented in a CentOS distro and more recently in Debian (first Jessie, then Stretch). The Jessie release was called DIAL and the Stretch release was called ASL. All new builds that I do, use the latest release from allstarlink.org. Downloads for ASL versions 1 or 2 can be found at the Allstarlink wiki page. ASL distributions are available for both the Raspberry Pi and AMD and Intel platforms.
ASL3 Web Interface
The latest release is ASL3. It is solid and is a huge step forward from earlier allstar code. It is built on Asterisk 20 instead of 1.4, and the OS is Debian 12. ASL3 supports operation on Raspberry Pi boards 2B through 5, and Intel/AMD boards. The Pi environment has a very good web dashboard for managing the configuration. Of course, the CLI interface can also be used. The ASL3 installation procedure for a Pi board can be found here: https://allstarlink.github.io/user-guide/pi-detailed/. A very good tutorial video for ASL3 on a Pi is posted here: https://www.youtube.com/watch?v=aeuj-yI8qrU&t=301s. The ASL3 user manual can be found here: https://allstarlink.github.io/.
The Allstar web site to get started is: https://www.allstarlink.org/. On that site you will find much information as well as the ability to register with Allstar. Once registered, you can request server and node authorization.
You may also find the (VERY old) acid-sysadmin helpful in your understanding of the configuration files.
Hardware and Nomenclature
A server is a PC platform running Allstar Asterisk on the Linux operating system. One or more nodes can be associated with each server.
A node is a connection entity running on a server. Usually nodes are each connected to a radio or repeater; however, a node can be defined as a HUB node. HUB nodes don’t have radio hardware directly connected. Hardware nodes can be simplex, duplex, or voter types.
Radio equipment is interfaced to the server (PC or Pi) in either of two basic ways: 1) a USB interface, or 2) a network (UDP) interface.
In the first case, the radio or repeater is interfaced to a USB plug-in through a URI (USB Radio Interface) such as the product sold by DMK: http://dmkeng.com/, or the RIM (Radio Interface Module) on the Repeater Builder web: http://www.repeater-builder.com/products/usb-rim.html. I have also made my own USB interface: K5TRA USB-radio interface. USB sound FOBs can also be modified to make an interface. For more information, see: http://www.repeater-builder.com/projects/fob/usbfob.pdf. Since the radio or repeater is connected via USB to the Server PC, they must be in the same location.
In the second case, a network connection bridges the radio or repeater to server. The server PC can be in a different location. The interfacing hardware here is the RTCM (Radio Thin Client Module) sold by Micro-Node: http://www.micro-node.com/thin-m1.html. The voter.conf file must be used with an RTCM.
A comprehensive source of information is http://wiki.allstarlink.org/wiki/Main_Page.
Some important Linux directories
- /etc/asterisk — This directory contains the configuration files for Allstar on your server.
- /usr/local/sbin — This directory contains the Linux shell scripts for Allstar.
- /var/lib/asterisk — This directory contains a current database of all active Allstar nodes: rpt_extnodes.
- /var/log/asterisk — This directory contains logfiles such as messages (errors and warnings).
Key configuration files for Allstar (in /etc/asterisk)
- rpt.conf- This file defines all operational settings for your node (or nodes) on this server.
- iax.conf- This file sets Allstar port association and preferred codec order.
- extensions.conf- This file sets routing of incoming connections to the correct nodes.
- modules.conf- This file selects allstar program modules to load. This depends on your particular node choices. For example, simpleusb or usbradio.
- simpleusb.conf- This file defines low CPU overhead USB radio interface (requires a COS control line).
- simpleusb_tune_usb.conf- This file defines audio levels for TX and RX associated with simpleusb.
- usbradio.conf- This file defines high CPU overhead USB radio interface (requires discriminator audio).
- voter.conf- This file defines RTCM (Radio Thin Client Module) interface.
Either simpleusb or usbradio is used (not both) for USB radio interfaces and sound FOBs. Alternatively, voter is used when radios are interfaced with an RTCM.
Click on the *.conf files above for annotated example files.
Be aware that HamVoip code isn’t open source (not in keeping with the Allstarlink principles and GNU GPL) and some changes in those implementations are not supported by Allstarlink. Original Allstarlink code has been relabeled as HamVoip with original author names removed: "Who's yo DAHDI". This is beyond unethical.
Linux Setup Information to Remember
- /root/.bashrc — add alias shortcuts
- /etc/ssh/sshd_config — edit SSH port setting, then type: service sshd reload to restart SSH service
- Add your allstar shell scripts in /usr/local/sbin (chmod +x).
Date and Time Setting
At CLI, to display date and time, type date
Tue Jul 23 10:38:39 CDT 2024
For more complete information, type timedatectl
Local time: Tue 2024-07-23 10:44:48 CDT
Universal time: Tue 2024-07-23 15:44:48 UTC
RTC time: Tue 2024-07-23 15:44:48
Time zone: US/Central (CDT, -0500)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
The clock should be synchronized automatically from the web (NTP server). You may need to change your timezone. This can be done as follows:
- Find the correct syntax for your local timezone with the command: timedatectl list-timezones. You will see your timezone in the list (for example: /America/Chicago).
- Make the timezone change with the command: sudo timedatectl set-timezone your_time_zone.
A good vi (vim) editor reference: Basic vi Commands.
HAVE FUN WITH ALLSTAR !