Replacing RF links between repeaters with Allstar over the internet

I’m sure someone has done this. Can someone point me in the right direction to get started

You bet. There is a guide at Beginners Guide - AllStarLink Wiki There are a bunch of YouTube videos as well. But some of them are very old.

For the link replacement question; the answer for that depends. Are you attempting to keep your existing repeater controllers? If so the best way is to interface the old link port to an RTCM. Check the wiki for that. I support a couple of networks where we did this. Let me know if you need more details.

On the other hand, if you replace your existing controllers with AllStar, IP network linking is built in.

Yes, the Allstar is simply to replace RF links and will be used with my existing controllers

If you have radio links between your repeaters, Why dont you keep them on RF but on the 5.8ghz band and bridge the site with IP links. That way you will be able to do much more then just audio linking.

Look at the hamnetdb.net site (german but google translate with chrome browser will translate it pretty well) and click on the map, You will see all the RF links that they have in europe to bridge repeaters and other site all over 5.8 ghz with high speed IP links.

Ok then. RTCMs have a special setting for linking repeater controllers together. The setting is mixminus which sends audio to all connected RTCMs except itself. Touch tones will pass to other stations, something that is not possible with other channel drivers. All the RTCMs are one AllStar node in this mode. However, individual control is possible.

Purchasing RTCMs is a bit difficult right now due to personal problems with the seller. Contact me via PM for info.

Edit: Example voter.conf replacing a 420 link system.

[general]
port = 667
password = BLAH
utos = y

[1999]
Site01 = secret1,transmit,nodeemp,noplfilter
Site02 = secret2,transmit,nodeemp,noplfilter
Site03 = secret3,transmit,nodeemp,noplfilter
Site04 = secret4,transmit,nodeemp,noplfilter
Site05 = secret5,transmit,nodeemp,noplfilter
buflen = 250
mixminus = y
plfilter = n

I’m going to be using MESH for the RF

Documentation on Allstar seems to be fairly poor, especially when it comes to the “nuts & bolts” of configuration.

So if I want to use Allstar to link 2 repeater sites via AREDN mesh (to replace existing RF links between the sites and therefore be private), aside from the basic setup (and getting whichever RTCM I use setup properly), I simply need to edit voter.conf as above? That is Question #1

Question #2. If I also want to access both Allstar nodes via the mesh and not radio (from a 3rd location), how does THAT work?

Yes and no. You have to set up an AllStar node, which has a bit of a learning curve. There’s a beginners guide on the wiki to help with that. Then you’ll use the example voter.conf with only a minor change to the node’s configuration.

You only need to have one node if you use RTCMs in mixminus configuration. The node could be at your house or in the cloud. RTCMs connect outbound so you don’t have to worry about port forwarding at the RTCM end points. If your node is behind a NAT router you will need to port forward 667.

Mesh networking is no different than non-mesh networks at the application level. However if you are on one of the ham-only mesh networks a gateway is needed to access the public internet. You need to talk with the mesh people about that works.

The Wiki leaves out a LOT of basic info however, especially the configuration of voter.conf. Are there ANY in depth docs about all the various parameters? I haven’t been able to find any. I’m Linux and IT fluent but still…

As I mentioned before, I’m using Repeater Builder’s interface (do you consider this an RTCM?)

http://www.repeater-builder.com/products/usb-rim-lite.html

Maybe the attached will explain better. Home QTH has no direct access to AREDN mesh network so I tunnel into it via another mesh node. Sites A & B to be private between each other but Home QTH to have access to either site and Allstar node at each

The AllStar Node at each repeater site would be an RTCM under my initial proposal. However now that you’ve added the serial data requirement for the controllers that’s not going to work because there is no serial port on a RTCM.

I assume the controllers are tty devices. How do you access the controllers now?

My Allstar nodes are running on Pi’s (and other programs under Linux) hence the serial port (well…technically they’re USB > serial converters). I’ve simply added the Allstar software and the Repeater Builder interface to them

Ok, so you already have a Pi at each site running AllStar with a Repeater Builder RIM. What’s the problem? Is AllStar not talking to the controller port, the nodes not connecting to each other, or what?

Well, I BELIEVE they’re running Allstar but I don’t know how to check for that, other than a ‘ps aux | grep binary name’

The binary will show up as asterisk

Log shows:

[Mar 7 16:49:59] NOTICE[537] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Mar 7 16:49:59] NOTICE[537] cdr.c: CDR simple logging enabled.
[Mar 7 16:49:59] NOTICE[537] loader.c: 55 modules will be loaded.
[Mar 7 16:50:00] NOTICE[587] app_rpt.c: Normal Repeater Init 54020
[Mar 7 16:51:22] NOTICE[1414] dnsmgr.c: Managed DNS entries will be refreshed every 300 seconds.
[Mar 7 16:51:22] NOTICE[1414] cdr.c: CDR simple logging enabled.
[Mar 7 16:51:22] NOTICE[1414] loader.c: 55 modules will be loaded.
[Mar 7 16:51:23] NOTICE[1421] app_rpt.c: Normal Repeater Init 54020
[Mar 7 16:56:23] NOTICE[1417] dnsmgr.c: host ‘register.allstarlink.org’ changed from 162.248.92.131 to 34.105.111.212
[Mar 7 17:01:23] NOTICE[1417] dnsmgr.c: host ‘register.allstarlink.org’ changed from 34.105.111.212 to 162.248.92.131
[Mar 7 17:06:23] NOTICE[1417] dnsmgr.c: host ‘register.allstarlink.org’ changed from 162.248.92.131 to 34.105.111.212
[Mar 7 17:26:23] NOTICE[1417] dnsmgr.c: host ‘register.allstarlink.org’ changed from 34.105.111.212 to 162.248.92.131

Process shows:

root@repeater:~# ps aux | grep asterisk
root 5466 0.0 0.0 4368 528 pts/0 S+ 11:00 0:00 grep asterisk
root@repeater:~#

Doesn’t seem to be running

That log is definitely asterisk, but it is not running for some reason. Are you able to reboot the Pi and see if asterisk is running after reboot?

Been there done that. There appears to be a dependency issue

root@wilsonville:~# journalctl -xe
– Subject: Unit dev-dahdi-pseudo.device has failed
– Defined-By: systemd
– Support: Debian -- Support

– Unit dev-dahdi-pseudo.device has failed.

– The result is timeout.
Mar 08 13:43:05 wilsonville systemd[1]: Dependency failed for Asterisk PBX and telephony daemon.
– Subject: Unit asterisk.service has failed
– Defined-By: systemd
– Support: Debian -- Support

– Unit asterisk.service has failed.

– The result is dependency.
Mar 08 13:43:05 wilsonville systemd[1]: asterisk.service: Job asterisk.service/start failed with result ‘dependency’.

Crap…what a pain…

I saw this problem just yesterday on a fresh ASL 1.01 build. It’s related to DAHDI/DKMS

Run this as root:
dpkg-reconfigure asl-dahdi-linux-dkms

Then reboot. See if that fixes it.

Nope

root@repeater:~# dpkg-reconfigure asl-dahdi-linux-dkms
Loading new asl-dahdi-linux-2.11.1 DKMS files…
It is likely that 4.19.66-v7+ belongs to a chroot’s host
Building for 4.19.66+, 4.19.66-v7+, 4.9.80+ and 4.9.80-v7+
Building for architecture armhf
Building initial module for 4.19.66+
Error! Bad return status for module build on kernel: 4.19.66+ (armhf)
Consult /var/lib/dkms/asl-dahdi-linux/2.11.1/build/make.log for more information.

Looking at the make log:

DKMS make.log for asl-dahdi-linux-2.11.1 for kernel 4.19.66+ (armhf)
Mon 8 Mar 14:41:43 PST 2021
make -C linux all
make[1]: Entering directory ‘/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux’
make -C drivers/dahdi/firmware firmware-loaders
make[2]: Entering directory ‘/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/firmware’
make[2]: Leaving directory ‘/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/firmware’
make -C /lib/modules/4.19.66+/build SUBDIRS=/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi DAHDI_INCLUDE=/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[2]: Entering directory ‘/usr/src/linux-headers-4.19.66+’
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/Kbuild:126: CPU Architecture ‘arm’ does not support VPMADT032 or HPEC. Skipping.
CC [M] /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi-base.o
CC [M] /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi-sysfs.o
CC [M] /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi-sysfs-chan.o
HOSTCC /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/print_fxo_modes.o
CC [M] /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-core.o
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-core.c: In function ‘xbus_new’:
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-core.c:1615:2: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
init_timer(&xbus->command_timer);
^~~~~~~~~~
CC [M] /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-sysfs.o
CC [M] /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-pcm.o
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi-base.c: In function ‘coretimer_init’:
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi-base.c:10174:2: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
init_timer(&core_timer.timer);
^~~~~~~~~~
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi-base.c:10175:28: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
core_timer.timer.function = coretimer_func;
^
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-pcm.c: In function ‘xbus_set_command_timer’:
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-pcm.c:374:33: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
xbus->command_timer.function = xbus_command_timer;
^
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-pcm.c:375:23: error: ‘struct timer_list’ has no member named ‘data’
xbus->command_timer.data = (unsigned long)xbus;
^
cc1: some warnings being treated as errors
scripts/Makefile.build:303: recipe for target ‘/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-pcm.o’ failed
make[4]: *** [/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-pcm.o] Error 1
make[4]: *** Waiting for unfinished jobs…
CC [M] /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi-version.o
cc1: some warnings being treated as errors
scripts/Makefile.build:303: recipe for target ‘/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-core.o’ failed
make[4]: *** [/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp/xbus-core.o] Error 1
CC [M] /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi_dynamic.o
CC [M] /var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi_dynamic_loc.o
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi_dynamic.c: In function ‘dahdi_dynamic_init’:
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi_dynamic.c:870:2: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
init_timer(&alarmcheck);
^~~~~~~~~~
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi_dynamic.c:872:12: error: ‘struct timer_list’ has no member named ‘data’
alarmcheck.data = 0;
^
/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi_dynamic.c:873:22: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
alarmcheck.function = check_for_red_alarm;
^
scripts/Makefile.build:544: recipe for target ‘/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp’ failed
make[3]: *** [/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/xpp] Error 2
make[3]: *** Waiting for unfinished jobs…
cc1: some warnings being treated as errors
scripts/Makefile.build:309: recipe for target ‘/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi_dynamic.o’ failed
make[3]: *** [/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi_dynamic.o] Error 1
cc1: some warnings being treated as errors
scripts/Makefile.build:303: recipe for target ‘/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi-base.o’ failed
make[3]: *** [/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi/dahdi-base.o] Error 1
Makefile:1519: recipe for target ‘module/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi’ failed
make[2]: *** [module/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux/drivers/dahdi] Error 2
make[2]: Leaving directory ‘/usr/src/linux-headers-4.19.66+’
Makefile:74: recipe for target ‘modules’ failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory ‘/var/lib/dkms/asl-dahdi-linux/2.11.1/build/linux’
Makefile:9: recipe for target ‘all’ failed
make: *** [all] Error 2

This is all on a Pi3 with a SanDisk 16gb SD and just downloaded ASL 1.01 build