My primary interest in the SheevaPlug was to use it as a server for the Amateur Packet Reporting System (APRS
). Last week I got it all working.
The first step was getting kernel AX.25 networking built into my kernel. I started from a kernel.org 2.6.30 tarball, applied the patches that cbxbiker61 posted at http://sheeva.with-linux.com/sheeva/
, and built it with this config file
copied to ".config" in the kernel source directory. I built directly on the plug, not cross-compiled, since I'm running on a 40GB USB disk drive rather than NAND Flash, and it was easy to do. I followed the instructions on pushbx's web site, http://www.computingplugs.com/index.php/Main_Page
, for building my kernel.
Once I had the kernel with AX.25 networking enabled, it was just a matter of following the set-up instructions at http://www.xastir.org/wiki/index.php/HowTo:AX.25
to connect the ax.25 network interface to a serial KISS TNC through a USB<->Serial adapter. Sharing the TNC across the network was a little harder to figure out, but in the end I managed it using the latest version of SOCAT and some trickery with "kissnetd" and pseudo-ttys. (Socat needs to be built from source, not installed via the Ubuntu repositories, because the repository version is too old and doesn't support the ability to tie raw network interfaces together.)
In addition to just having the TNC shared across the LAN, I also have javAPRSSrvr
running on the SheevaPlug. This required only a little more than installing the default java jre --- the ax25 component of javAPRSSrvr also requires a platform-specific shared library to be built, so I also had to install default-jdk to get that job done, since the shared library is currently only available for x86 in binary form.
Details of my set-up are described on my blog (also running on the SheevaPlug), http://www.bogodyn.org/blog/
, where I also walk through the configuration and build instructions a little bit.
With this set-up, I can run multiple APRS programs on different machines on my LAN, using only one TNC connected to the SheevaPlug, and also run the plug as an APRS<->Internet gateway. There's one more piece of software I can't yet run on the SheevaPlug because its author hasn't yet released source, but when he does it should simplify the sharing considerably.
As a lark, I also installed X11, VNC, and a few other libraries and development headers, and was even able to build Xastir
for the SheevaPlug, and connect it up to the ax.25 interface. But that still requires that I display the vncviewer on my desktop, where I already have Xastir running --- so this was mostly just a proof-of-principle that the SheevaPlug would support that sort of operation.