ad: Retevis-1

AllStarLink on a 3.x+ Linux Kernel

Discussion in 'General Announcements' started by KG7QIN, Aug 17, 2015.

ad: L-HROutlet
ad: l-rl
ad: Left-3
ad: abrind-2
ad: Left-2
ad: Radclub22-2
ad: L-MFJ
  1. KG7QIN

    KG7QIN Ham Member QRZ Page

    Github repository: https://github.com/KG7QIN/AllStarLink

    I have done some hacking on the trunk of AllStarLink and have successfully compiled and ran it on Ubuntu 15.04. The files for doing the same are located at the github repository above. This includes a copy of the 2.10.2 complete version of the DAHDI driver and a patch to make it work with AllStarLink.

    Background on this:
    I ran across AllStarLink and setup my initial node (KG7QIN-1) in a VM to try things out. It wasn't too long before I started wondering if I could turn the Raspberry PI B+ that I had (and not being used) into a AllStar node. I did some searching and found the ports to the version 2 of the RPi. Eventually, I ran aross VK2ACP's repository for the older model of the RPi. Using his files, I was able to port the patches to the DAHDI driver to 2.10.2+2.10.2 complete.

    After successfully setting up KG7QIN-1 as an RPi AllStar node, I started playing with the code to see if I could get it to compile on a modern (3.x+) Linux Kernel. I quickly found out that trunk doesn't like to compile on newer kernels. A quick search of the Internet showed that there isn't a lot of information available on this.

    After a failed attempt to see if I could port the zaptel driver over (don't try to hack IOCTL calls between ABI versions if you don't have a lot of experience, it can be a pain) and failing miserably, I had posted a bounty (to bountysource) for a conversion. Nobody took the bounty (it was only $50). (I knew the DAHDI driver was out there, but since it looked like the zaptel driver was in more widespread use, I started there).

    So, after leaving the project alone for a bit, I decided to take Friday night/Saturday and see if I could port the DAHDI driver to my laptop running Ubuntu 15.04 and then get "trunk" to compile.

    I was able to get DAHDI patched, compiled, installed with minimal effort.

    The asterisk files in trunk were another story. After getting the build-deps installed, I kept running into a problem with res_crypto not compiling. I tried everything, recompiling OpenSSL to include the ssl2 routines, updating OpenSSL to other versions, etc.

    The configure scripts were using a test for something that was no longer supported in the newer versions of OpenSSL. Once I realized that, I pulled down Asterisk 1.8, did a browse through the configure.ac file and copied the checks it uses over to the configure.ac file used in "trunk". Running a ./bootstrap.sh regenerated the configure scripts. After commenting our the check for SED from the new configure script, I was able to successfully compile, install and load res_crypto.

    I hope that someone else out there finds the files at the repository above useful and doesn't spend the time running down the dead-ends that I did.

    Note that this is very rough and requires the user to know how to use the Linux command line tools to compile software, patch files, etc. I make no guarantee that you will be able to compile the software using what I have here or that it works without errors. I can just tell you from my experience that it works.

    I hope that this spurs further development of the version of Asterisk used in the AllStarLink network, now that you can compile it on a newer kernel/distro by simply running a ./configure and make using the files in the repository.

    73s,
    -Stacy (KG7QIN)
     
    Last edited: Aug 17, 2015
    KD0TFP likes this.
  2. KG7QIN

    KG7QIN Ham Member QRZ Page

    Note: Node 41638 is my RPi AllStar node.

    Node 42088 is running on Ubuntu 15.04, Linux kernel 3.19.0-25 generic dated 24 July 2015
    (Ubuntu 3.19.0-25-generic #26-Ubuntu SMP Fri Jul 24 21:16:27 UTC 2015 i686 i686 i686 GNU/Linux)
     
  3. KG7QIN

    KG7QIN Ham Member QRZ Page

    Ok, looks like Steve N4IRS already has this done for both X86 and ARM. (Wonder why I didn't find it?)

    github.com/N4IRS/AllStar
     

Share This Page

ad: Retevis-1