Tuesday, December 8, 2009

WRT54GL APRS RxOnly iGate w/OpenWRT & APRX

I wanted to build myself an iGate should the other one in town go offline. I began by purchasing a WRT54GL from Fry's and I re-flashed it with a Kamikaze version of OpenWRT. I bought a TinyTrak4 and flashed it with just the KISS TNC Firmware. The TinyTrak4 fit nicely into the case, with the small fan on the top, and the TTL Converter on the serial side of the TT4. The version I had was an older version, and I kept it in the case so it wouldn't get shorted out on the router board, it takes up more space, but I don't have to worry about it.

I installed the small fan because I have discovered how much heat these can generate, especially if the modem is stacked with it. I couldn't do an easy plug on the top of the board to the header pins because of the TT4 case, so I had to solder to the bottom of the board to the contact points, that way I could enclose the whole setup inside the original case. Once I planed and installed the cables the way I wanted, I was able to get the whole package closed, and still be able to see the TT4 lights. I ran a small cable to the back of the case, so I could use a simple audio jumper into the cheapo scanner I was going to use as the receiver.

I just used a Realistic Handheld scanner that only has 10 memories. It's perfect for APRS, because we only need max 2 channels. 144.390 MHz and the alternate 144.990 MHz.

I installed OpenWRT and During my research, I discovered X-WRT. It is a replacement web interface that allows you do just about anything you need to via the web. SSH console no longer needed once X-WRT is installed. I wanted to use APRS4r, but when I attempted to get that installed, I quickly ran out of memory, because Ruby (a dependency) is rather large. I don't know how to build my own OpenWRT image, so I started digging around and found APRX, it was in the package listings for the OpenWRT. I really didn't have to learn that much linux, because X-WRT has a file editor that allowed me to modify the files I needed without using the command line. I did have to use the command line to install the X-WRT interface though.

The version of APRX on the packages for OpenWRT was version 0.99. I configured that up, and got it to connect to the APRSIS, and start gating traffic. I did later run into a problem because I didn't have a filter setup in the configs. When you attempt 2-way communication via APRS, you must have a filter on the RX-Only iGates or the APRSIS will think it can send traffic back through your iGate, using the reverse path. APRS-IS filters are a way of telling the server you are connecting to, what you want from it. If you tell it you only want position packets, then the 2-way message traffic will find another way back to that originating station, even though you gated it.

APRS-IS Filters:

The following are examples of the filters. The aprx.conf file shows the filter command like this:

aprsis-filter "m/100 t/p"

However, I noticed that it always ignored it, until I added a few spaces into the line like this:
aprsis-filter            "m/100 t/p"

Verify that the server accepted your filter by connecting to it via http://server:14501 and look for your iGate callsign, the filter will be on the "SA Setting" column.

***Replace "server" with the name of the server you are connecting to. IE: socal.aprs2.net
***If you use the default "rotate.aprs.net", you will have to look up which server you are connected to. It may require a Google search, as some servers are named differently. Use http://aprs.fi to find out which server you are talking to (IE: APRS via TCPIP*,qAC,T2SOCAL), then google it. IE: T2SOCAL is actually socal.aprs2.net, so you would use http://socal.aprs2.net:14501/

APRX 0.99 version configs:
aprsis-server    socal.aprs2.net    14580
aprsis-server    southwest.aprs2.net    14580
aprsis-server    aprsca.net    14580
aprsis-filter            "m/100 t/p"
radio serial   /dev/tts/1  9600 8n1    KISS  callsign KI6PSP-10
netbeacon for KI6PSP-10 symbol "R&" lat "3536.84N" lon "11741.06W"
comment "PHG0130/WRT54GL w/APRX-iGate Rx Only"
netbeacon ">TinyTrak4(KISSTNC)-WRT54GL iGate"
netbeacon ">SysOp:KI6PSP@GMAIL.COM"

Example Configs that I changed from default on APRX 2.00 and above:
mycall KI6PSP-10
server    socal.aprs2.net    14580
server    southwest.aprs2.net    14580
server    aprsca.net    14580
filter "m/1" #Had problems with it not accepting multiple filters, Gate all RX, reject APRSIS to RF beyond 1km of location.
serial-device /dev/tts/1 9600 8n1 KISS
callsign $mycall # callsign defaults to $mycall
#tx-ok false # transmitter enable defaults to false
initstring "\xC0\xC0\xFF\xC0\r\nMO 0\rKISS $01\r"
beaconmode aprsis
beacon symbol "R&" lat "3536.84N" lon "11741.06W" \
comment "PHG0130/WRT54GL w/APRX 2.00-iGate Rx Only"
beaconmode aprsis
beacon raw ">TinyTrak4-WRT54GL iGate"
beaconmode aprsis
beacon raw ">SysOp:KI6PSP@GMAIL.COM"
beaconmode aprsis
beacon raw ">http://KI6PSP.BLOGSPOT.COM"

TinyTrak4 Website:

Serial to 3.3v TTL converter:

WRT54 Setup Ref:


X-WRT Install Info: