The MississippiNetworkRepeater is a NetgearWgt634u loaded with OpenWRT. It uses a HawkingHwu54g USB 802.11g radio as a client to any nearby www.personaltelco.net network and operates its native radio as a local coverage access point.
Building
To build one of the devices:
- load OpenWrt Kamikaze (here r6693) in a normal fashion, via serial console: - CFE> ifconfig eth0 -auto CFE> flash -noheader 192.168.0.5:wgt634u/wipe-1.img flash0.os CFE> flash -noheader -offset=3932160 192.168.0.5:wgt634u/wipe-2.img flash0.os CFE> flash -noheader 192.168.0.5:wgt634u/openwrt-wgt634u-2.6-jffs2-r6693.bin flash0.os CFE> reboot 
 
- log into the AP via serial console
- set root password: - passwd 
 
- configure /etc/ipkg.conf to point at a compatible package archive: - src snapshots http://www.personaltelco.net/~russell/openwrt/r6693 dest root / dest ram /tmp 
 
- install zd1211 packages: - ipkg install kmod-usb2 ipkg install kmod-zd1211 
 
- install iproute2 tools because I like them: - ipkg install ip 
 
- configure /etc/config/wireless: - config wifi-device wifi0 option type atheros option channel 11 config wifi-iface option device wifi0 # option network lan option mode ap option ssid www.personaltelco.net/repeater option hidden 0 option encryption none
 
- disable firewall script: - rm /etc/rc.d/S45firewall 
 
- modify the lan stanza in /etc/config/network: - #### LAN configuration config interface lan option type bridge option ifname "eth0.0 ath0" option proto static option ipaddr 192.168.3.1 option netmask 255.255.255.0
 
- add a file /etc/init.d/repeater: - cat > /etc/init.d/repeater <<EOF #!/bin/sh echo "Initializing Repeater" /sbin/ifconfig wlan0 up /usr/sbin/iwconfig wlan0 essid www.personaltelco.net while /usr/sbin/iwconfig wlan0 2>/dev/null | grep Access | awk '{ print $5 }' | grep 00:00:00:00:00:00 ; do sleep 1 ; done /sbin/udhcpc -i wlan0 /usr/sbin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE EOF chmod 755 /etc/init.d/repeater
 
- create a link in /etc/rc.d: - cd /etc/rc.d ln -s /etc/init.d/repeater S90repeater 
 
- turn of wan stanza's dhcp in /etc/config/network: - #### WAN configuration config interface wan option ifname "eth0.1" option proto none
 
- install snmpd: - ipkg install snmpd 
 
- configure /etc/snmp/snmpd.conf: - syslocation "<Location> MissNet-?? (repeater)" syscontact "ops@personaltelco.net" rocommunity public exec assoc_count /usr/local/bin/assoc_count 
 
- setup the /usr/local/bin/assoc_count script: - mkdir -p /usr/local/bin cat > /usr/local/bin/assoc_count <<EOF #!/bin/sh echo $(($(wc -l < /proc/net/madwifi/ath0/associated_sta)/3)) EOF chmod 755 /usr/local/bin/assoc_count 
 
- if necessary, patch up slightly broken /etc/init.d/usb permissions: - chmod 755 /etc/init.d/usb 
 
- if necessary, create a symlink in /etc/rc.d to /etc/init.d/snmpd cd /etc/rc.d ln -s /etc/init.d/snmpd S70snmpd 

