[App_rpt-users] Compiling/running the AllStarLink "trunk" on a 3.x+ Linux kernel system

Stacy kg7qin at arrl.net
Mon Aug 17 15:50:47 UTC 2015


All-
FYI.  I wasn't able to find any information on how to do this, so I took
Friday night/Saturday to hack on the files from the "trunk" branch of
the AllStarLink repository, getting asterisk to compile and successfully
run under a 3.x+ kernel.

More info here: 
https://forums.qrz.com/index.php?threads/allstarlink-on-a-3-x-linux-kernel.490024/

Github repository with files I used to do this: 
https://github.com/KG7QIN/AllStarLink

Note that I also provide a patch for the DAHDI 2.10.2+2.10.2 complete
driver for it to work with AllStarLink.

After setting up my Raspberry PI B+ as an AllStar node, I wanted to run
this on other system for experimentation (I used VK2ACP's Github
repository for this, but I had to port the patch to the newer DAHDI
driver since the one he had wouldn't compile on the version of ArchLinux
I was running due to the IOCTL calls used.). 

I didn't like that I couldn't compile this on a Debian distro running a
3.x+ kernel using the files provided from the repository.  After a bit
of searching, it seems that this was a common problem with not many
people trying to do it (or for those that have done it, having the
information readily accessible on the web -- I was able to mostly find
the images that people have from their work on this).

I had tried to port the zaptel driver over to the 3.x+ kernel, but with
the changes to the IOCTL calls between kernels, as well as some other
changes, it didn't work.  (I even unsuccessfully tried to post a $50
bounty for someone to do the conversion on bountysource.com, but it went
unclaimed and I ended up killing it).

After letting this sit for a few months, I decided to try another shot
at it.  Since I had some free time on my hands, I decided to try my hand
at "solving" this problem and getting the software to compile and run on
my laptop (running Ubuntu 15.04).

I installed the necessary build dependencies for asterisk from the
Ubuntu repositories which let me compile most of AllStarLink asterisk,
and proceeded to narrow down why res_crypto wouldn't compile (I was able
to get the system to partially work without this, but it wouldn't accept
calls from the AllStarLink telephone portal due to not being able to
verify the public key used).

After playing with OpenSSL (I thought the problem lied in how the Ubuntu
folks compiled it), and trying to force res_crypto to compile (causing
asterisk to crash when loaded), I found it came down to the test for
OpenSSL that is used in the configuration script.  I did some digging
and found that configure.ac was the main source for this, and I was able
to find the offending lines that created the test condition that would
fail and make the build scripts not compile in res_crypto.

Since the autobuild scripts seems to be some black magic that I wasn't
steeped in, I decided to see how a newer version of Asterisk handled the
test for OpenSSL and downloaded Asterisk 1.8.  Looking at its
configure.ac, I saw the lines that they used for the test and copied
them over, replacing the old ssl2_connect test that was failing.  After
running bootstrap.sh to refresh the config scripts and commending out a
check for SED (that makes configure bomb out), I ran a make menuconfig
and saw that res_crypto was no longer X'd out.  A quick compile, install
and configuration of the node shows that it works.

I really like the concept behind the AllStarLink network and think Jim
Dixon (et all) have done a great job with it.  Having been exposed to
asterisk through an article in Usenix back in 2005/2006 (and using it
ever since for my own phone system), I never realized what the
pciradio/etc stuff was really for.  It wasn't until I got my ham radio
license in January that I really started to learn what the "other stuff"
in asterisk was for.

Anyways, I'm sharing this with the hope that someone else may use it. 
It works for me, but it may not work for you.

73s,
Stacy (KG7QIN)





More information about the App_rpt-users mailing list