Amateur Radio Station
      
APRS I-Gate from a Linksys WRT54g V2 Wireless Router
By Tom VA3TS

These pages are to help others create their own APRS
I-Gates. My goal is to provide enough information for the newbie (like me) to upgrade the firmware and configure a compatible router.

Last year , 2011, I had an I-gate configured using UI-View32 which worked great and we had some fun with and learned a few things about aprs. For those that don't know, APRS stands for Automatic Position Reporting System and allows those with GPS equipped trackers to plot their positions on the web (among other places) and display it on the webpage aprs.fi. Why you say, well because it's fun and since I'm licensed, I can have a transmitter. So the information generated has to get to the web somehow so that's where the I-gate comes in.

One of the local hams, Bob VE3NX made up local maps to use with UI-View32 so we had a pretty good system here with the digipeaters VE3XTX and VA3KMS. However it always bothered me a bit to have a computer running here 24/7 for the sole use of aprs, then I came across some webpages that talked about using older wireless routers and reprogramming these to use aprs software on. After a bit of reading about this it appears that some routers were originally manufactured with a version of Linux (like microwave ovens and a whole host of consumer goods) and that some smart guys had gone about creating kernels and packages to allow a different router software to be uploaded and used. For those that are into networking (and not the social kind) there seemed to be some advantage here. It turned out to be an advantage for radio amateurs also because it wasn't long for a ham to think of a new radio application.

So I was interested and went about making this happen, quite a long road but so far it's been working well. I will document here what I did, but I won't repeat what others have done other than provide a link to their webpages. I am no expert by any means but if I can do it then you may be able to also.

A little Background: So The first thing you may want to know is what routers can be used and what software is available for them. The easiest way to explain this is to provide a few links to the websites that have the info. First though, you will hear about DD-WRT and Openwrt. The openwrt is what we will be using for our application simply because openwrt is open source and dd-wrt has some copywrite issues that we won't go into here. Suffice it to say that I have never come across and information that uses dd-wrt and the aprs software together. If you just want to upgrade your router then dd-wrt may be your choice. It's fairly easy and documented well enough here. This is the openwrt website and also has a link to the list of supported hardware. Getting a used router is not as easy as you might think. I have used ebay and kijiji but I'm always amazed what people want for their 5 year old routers. More than just a few on Kijiji simply would not ship the thing and instead wanted me to go to their house for it. Not bad if you are close by but these guys were asking me to do a 4 or 5 hour car ride for a used $20 router. So I paid $10 for the one in the picture above and drove a 30 minutes one way to get it. I bought another off ebay for $17 and paid $12 for USPS shipping. I don't believe it worthwhile to get carried away with prices. The one pictured above has 4Mb of flash and 16Mb of ram, just enough for what we are doing but don't get carried away adding packages or it will run out of room. Better still, find one with 8Mb of flash and 32Mb of ram. A little more money but you could add packages at build to make life easier. However, the system I have is perfectly fine and works well, so don't obsess too much about flash.

Linux: This was my first attempt at anything Linux so the learning curve was quite steep. I didn't have anyone around that could help me out other than those I found while searching the web. Thank goodness for their help because I would have been sunk without it. This site by PA0ESH gave me most of the information I needed to install Linux and configure it to compile the software for the wrt54g v2 Linksys router. First off I installed Oracles Virtual box which is a program that allows you to install Linux on your windows vista computer and run both at the same time. Then once that is installed and running, install Linux. I used Ubuntu 10.04 LTS. This will take a bit of time depending on your hardware, I have a quad core machine and it takes a while even with that, then you give it a username/password, well you know the drill. Once you are happy with that, try and set up your email or your usb stick, just so you can get data back and forth with Linux. At this point open the terminal program, see the picture to the right, as this is where you do the instructions from Ed PA0ESH's site. You will get a command prompt at the directory named after the username you supplied earlier. Then enter the Linux commands as
Ed has outlined to install the openwrt packages as well as aprx. Then it's the
make menuconfig command.

Openwrt: The menuconfig program will open and look like the picture to the right. What follows is the setting I used to make my configuration. These are for the WRT54g V2 hardware so make sure it applies to yours before you use it. This setup can be added to after it's uploaded to the router via a nice package upgrade feature of x-wrt. (Openwrt is the software packages, X-wrt is the end user frontend for it.) X-Wrt was developed to allows remote administration of the device without the use of the command-line driven console.
The completed setup, the linksys wrt54g router, below that a Kenwood TM-241 and below that a Byonics TT4. The picture below is a ttl to rs232 converter, mounted inside the router and allows communication between the router and the TT4.(purchased on ebay for less than $5)
aprx 2.00 
base-files 
busybox 
dnsmasq  
dropbear 
firewall 
haserl
iptables  
iptables-mod-conntrack  
iptables-mod-filter  
iptables-mod-nat  
kernel 2.4
kmod-brcm-wl  
kmod-diag  
kmod-ipt-conntrack
kmod-ipt-core 
kmod-ipt-filter 
kmod-ipt-nat  
l openssh-sftp-server
opkg
ppp
ppp-mod-pppoe 
setserial 
uci 
uhttpd
usbutils 
webif
webif-applications 
wireless-tools
wlc 
zlib
kmod-ipt-nathelper 
kmod-ppp  
kmod-pppoe 
kmod-switch 
kmod-wlcompat 
libc  
libgcc  
libip4tc  
libncurses 
libpthread  
ibrt  
libuci  
libusb 
libxtables  
minicom 
mtd  
nas  
ntpclient
nvram
Even though I installed the wireless tools and wireless packages I didn't actually use them. I set things up originally with the wireless but it didn't go well and it made for more problems at a time that I didn't need them. My advice is to get it working wired first then try the wireless configuration. I have a home modem and router like most other people and having connectivity interrupted while you are experimenting with this is sure to cause an issue with the xyl.

Before you exit the config program make sure to save the config to an alternate file, this is down at the bottom of the screen and the default filename is fine. When you go back into it you will be able to load that file and save a considerable amount of reconfiguration.

Looks like you are ready to do the "make", enter that command as per Ed PA0ESH and go have a coffee.


To Part 2 --- Upgrading the router firmware and configuration of x-wrt