VASTwrt Router Firmware
vast-routers_linksys54g.jpg

Overview

To take full advantage of the extensive hardware modifications done to our Linksys WRT54g(s) routers we have to use and configure the appropriate software for each of our routers. To simplify things and solve potential problems, we have developed a customized firmware for our routers. This page describes the major features of our firmwares so that the capabilities of our routers is available at a glance.

Available Routers

  1. RED Linksys WRT54GS v2.0
  2. YELLOW Linksys WRT54G v2.0
  3. GREEN Linksys WRT54G v2.0
  4. ORANGE Linksys WRT54G v5

Current Capabilities

This section describes what features we expect from our combination of software/hardware selection and configuration.

  • GPS Data Sharing
    • Our firmwares use GPSd to share GPS data over the WiFi network. This ensures that everyone has access to GPS data, and reduces the number of GPS devices needed to track vehicles. Our routers feature a GPS device inside of them, with an external antenna port that lets us put the antenna on the roof of a vehicle for reliable GPS reception.
  • Network Time Sync
    • Our firmwares use NTPd to synchronize our network clients to our GPS device to ensure that all timestamped data is consistently marked and to ensure that we can clearly communicate the time that we received radio packet data.
  • Long Distance WiFi
    • Our routers use high gain antennas, which should improve the long-distance capabilities of our routers for our UI-RISE network. We have not done tests to measure this distance between routers. Our routers are also able to do some passing of traffic between each other to reach hosts that can't be heard on the originating router.
  • Easy-Access Network
    • We are researching configuration options to allow dynamic host-named based access to computers connected to the routers that is handled by the router. We will also be investigating if these host-names propagate across multiple routers, because it should theoretically work. A special static host-name system will be a secondary backup, but it can not automatically resolve an assigned host-name to a computer changing IP addresses or routers.
  • Where-am-I?
    • Instead of requiring people who want to know the position of the bus or other tracking vehicle to use the full tracking package from the VAST Ground Station, this feature allows anyone with a modern web browser to see the current position graphically in real time from a special web page on the router. Click here for a "Where-am-I?" web demo.

Firmware Features

Our custom firmwares feature the following important software.

  • GPSd - GPS Software for Linux
    • gpsd_2.30-1_mipsel.ipk
    • MD5: 24cb1e920240a9fb225b4f1e084ff7a3
    • root@red:~# ipkg install http://downloads.openwrt.org/backports/rc5/gpsd_2.30-1_mipsel.ipk
  • NTPd - Network Time Protocol Server
    • ntpd_4.2.4-1_mipsel.ipk
    • MD5: ff97237d89d8bc693be3226dd1434a90
    • root@red:~# ipkg install http://downloads.openwrt.org/backports/0.9/ntpd_4.2.4-1_mipsel.ipk

Other important software/scripts included in our firmware are listed below.

  • busybox w/ STTY
    • This special version of busybox is compiled with stty to allow setting serial port speeds, and is not included by default on OpenWRT routers. This software is necessary to communicate with our 4800 baud GPS that is mounted inside of the router. It must be compiled into the firmware, and cannot be installed on a running system.
  • gpstime.sh
    • This script allows the router to synchronize its internal clock with time from the GPS, which is in UTC. It basically connects to GPSd, hits "D" to get a date string, parses it and sets it with the "date" command.
  • dnsmasq
    • This is installed by default, but we will configure it to be an important part of our dynamic host-name resolving network. Basically if you know a computer name (example: austiny), the router will make sure that requests to that computer reflect the current IP address even if that computer changes the router it is connected to. It will become an important part of future data collection software the Ground Station team develops.
  • minicom
    • This is a terminal emulator and allows us to test the serial ports on a router to ensure that it is operating properly. It is more of a diagnostic utility than something used on a daily basis.

Other important file / configuration changes included in our firmware are listed below.

  • /etc/inittab - We disabled the serial console in our version of this file to enable use of both serial ports.
  • /etc/TZ - This file saves the UTC offset for the router to allow the gpstime.sh script to work correctly.
  • /etc/ntp.conf - Specifies that the connected GPS device is a preferred stratum 0 source.
  • /etc/hosts - Resolves default NTP servers to the router's IP address for use during a mission.
  • /etc/dnsmasq - We gave each router its own IP range to assign via DHCP.
  • /www/ - Each router has its own CSS template to identify it by color.
  • WDS - We use WDS so the routers can pass traffic and still support normal wireless clients.

RED Linksys WRT54GS v2.0

openwrt-red.png

RED is configured to use OpenWRT and GPSd. It will also be our on-the-move file server because it is our most powerful router and may eventually have the capability to download photos from a SD card. Its projected capabilities include real-time capture and network distribution of GPS data from both an internal GPS (to record position of a car) and a serial-connected APRS receiver (to record position of the balloon). This information will be available over both a WiFi network and the Ethernet network. The RED router will also be responsible for synchronizing the clocks of connected clients by decoding the time portion of GPS packets and using a NTP Server that clients will connect to.

YELLOW Linksys WRT54G v2.0

YELLOW doesn't have enough RAM to run the the 2.33 version of GPSd that we prefer to use. We are researching how to make an older version of GPSd that does run on this router compatible with our data collection systems. We do not expect this limitation to be a problem that prevents us getting everything working on YELLOW because it has enough FLASH memory for our firmware.

GREEN Linksys WRT54G v2.0

GREEN doesn't have enough RAM to run the the 2.33 version of GPSd that we prefer to use. We are researching how to make an older version of GPSd that does run on this router compatible with our data collection systems. We do not expect this limitation to be a problem that prevents us getting everything working on GREEN because it has enough FLASH memory for our firmware.

ORANGE Linksys WRT54G v5

ORANGE is not able to run the full version of OpenWRT because it only has 2MB of flash memory. Currently it runs DD-WRT and will not see use unless a specialized and stripped down version of OpenWRT can be installed on it.

Known Issues

The WRT54G series of routers do not have a hardware clock, and as a result cannot keep track of time reliably, and have problems when they are rebooted or the power is disconnected. Timing is important for GPS data, and fortunately most incoming data has timing information embedded in it, but this could be an issue that needs to be researched and tested more throughly.

Note: We now keep time by pulling it from received GPS data. The time kept by the router is compared to the GPS time once every 16 seconds to make fine adjustments to ensure that the system clock is accurate.

Administration

The VASTwrt series of routers feature special diagnostic and feature pages accessible over the UI-RISE WiFi network. Though efforts are made to provide links to these special function web pages, a list of special pages is also included below:

Feature Pages

Special Use Web Scripts