1. X-WRT/OpenWRT 8.09 or later firmware, 2.4 kernel is good enough (openwrt-brcm-2.4-squashfs.trx)
2. PL2303 USB-Serial converter (Belkin or FTDI should work fine too.. but not CH314 which we need kernel 2.6 for it)
3. Load of patience
Loading the x-wrt/openwrt firmware is a straight forward by following this guide. We need to use tftp though, I've no idea if we could upgrade the stock firmware with the x-wrt one using the web interface, but no harm trying.
After we've successfully uploaded the new firmware, we need to add few extra stuffs to make the USB works. Go to web interface, under System->Packages, add usb-ohci, usb-serial and the correct kernel module for the USB-Serial converter .. since I was using PL2303, so the usb-serial-pl2303 is the right module to be installed. Attaching the USB-Serial converter should load the pl2303 kernel module automatically.
The rest of the setup should be the same as the one found here.
No hardware modification needed for this router, not like the Linksys WRT54G series. Any TNC which supports KISS mode should work just fine. I've tested the Byonic's TinyTrak4 and probably will try Argent Data's OT1+ this weekend (if we've another TT).
As of now, we've successfully converted Linksys WRT54GL and WL-500G for iGate usage. The good thing about using the router is, it can still be your normal wireless router + it can acts as your igate too. Killing two birds with one stone .. and it saves your electricity bill too ..
NOTE: Migrate to aprx and your headache with aprs4r + ruby = not enough memory will be a history. As per Eric comment below, you could run aprx on most routers that can run openwrt and have USB port. Head up to the following website where you could download the compiled firmwares with aprx 2.01 included: