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 </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 " 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 <