Jump to: navigation, search

Xastir on OLPC


The OLPC has plenty of computing power for running APRS. Since it's a Linux system, I've chosen my favorite APRS application: Xastir. Satisfying the hardware prerequisites is one thing, making it run is another.

Installing Xastir

First a few prerequisite packages need to be installed, specifically:
glib gtk+ libxml ImageMagick lesstif libXp shapelib lesstif-devel perl-GPS perl-XML-Simple and all associated dependencies.

All these are available through yum install, e.g.:

yum install glib gtk+ libxml ImageMagick lesstif libXp shapelib lesstif-devel perl-GPS perl-XML-Simple

Note that this will install a lot of software on your OLPC. Once installed, the RPM package I'm generating should install. This will have the capability to retrieve and display most maps Xastir supports, connect to the APRS-IS infrastructure. Most importantly, it will communicate with serial-port TNCs with a supported USB-to-Serial interface. If you already have a USB-to-serial adapter, support for it may or may not be included with the OLPC. Only three chipsets are enabled, CP2101, FTDI_SIO and PL2303. I, of course, don't have one of these but Linux does support many more. If you're in this boat, see the kernel parts of the next section.

However, one script will be missing: gpx2shape. The required Perl module is not available as an RPM and I haven't yet figured out how I want to work this problem. Also, because the resolution of the screen vs. the physical size of the screen is so large (200 dpi) text on Xastir is really really tiny. I haven't worked this one out either.

Soundmodem as a TNC...

Unfortunately, using the soundcard as an interface is much more difficult. And, of course, this was my intended use for the machine. So, I've started working out how this can be done as well. First, it involves modifying the kernel...

Steps I've worked out so far...

  1. Obtain a developer key.
  2. Obtain a suitable OLPC kernel source RPM for your system. NOTE: I have yet been unable to compile a kernel on the OLPC itself. Instead I've used a plain Fedore Core 7 system with good success.
    1. Enable the following configuration options:
      2. CONFIG_AX25=m
      4. CONFIG_MKISS=m
    2. Build the kernel RPMs.
    3. Install the kernel RPM.
  3. Obtain the source / binary RPMs for:
    1. libax25
    2. libax25-devel
    3. soundmodem
    4. ax25-tools (optional)
    5. ax25-apps (optional)
  4. Compile and/or install your selection of the above.
  5. Obtain the Xastir RPM (coming soon I hope) and install.

Now, while this sounds easy, it's wrought with difficulties. The kernel build is tricky because it should be done as an RPM, so the configuration file in the /usr/src/redhat/SOURCES directory must be modified. Then run rpmbuild -ba /usr/src/redhat/SPECS/olpc-2.6.spec.

The next bit is that soundmodem doesn't work properly. It crashes after decoding a packet. I haven't worked out why this occurs, mostly because I've been rebuilding the OS on my OLPC so much to get these directions correct.


And now for the good bit - the actual software!

I've placed it on my home website, but I encourage you to use the Coral network for faster downloads. Here are the links:
I've been seeing about 170KB/s upload speed so hopefully that'll be the slowest you can get the files.

I've also placed the source RPMs there, except for the kernel because it apparently didn't get generated the last time I built it. Oh well.

Also, I still don't have a complete package list needed to *install* the software. It'll be smaller than what's needed to *build* it. I'll get to that once I'm confident that I've backed up my SD card ;)

Other notes

I'm looking for someone to help me get the soundmodem software working with 2.6 kernels. It doesn't work with the OLPC, but I've also had only a single instance of it working on a 2.6 system of any kind. Please?

More later & '73