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