Differences between revisions 5 and 8 (spanning 3 versions)
Revision 5 as of 2006-05-29 19:51:19
Size: 4780
Comment: move repeater init.d script later
Revision 8 as of 2006-09-23 11:04:22
Size: 2956
Comment: working on a buildroot-ng derived repeater
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
The MississippiNetworkRepeater is a NetgearWgt634u loaded with OpenWGT v0.06 and some custom modules built by JasonMcArthur. 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. 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.
Line 4: Line 4:

The current methodology for building one of the devices is as follows:

 * load OpenWGT in a normal fashion, either via serial console or via the Netgear web interface
   {{{
CFE> ifconfig eth0 -auto
CFE> flash -noheader 192.168.0.3:wgt634u/wipe-1.img flash0.os
CFE> flash -noheader -offset=3932160 192.168.0.3:wgt634u/wipe-2.img flash0.os
CFE> flash -noheader 192.168.0.3:wgt634u/openwgt-0.06.img flash0.os
CFE> reboot
}}}

 * log into the AP
 * configure network, e.g.:
   {{{
ifconfig vlan0 192.168.0.x up
ip route add default via 192.168.0.1
vi /etc/resolv.conf
}}}

 * wget three ipkg's from [http://downloads.openwrt.org/whiterussian/packages/ openwrt's whiterussian repository] to /tmp:
   * [http://downloads.openwrt.org/whiterussian/packages/rsync_2.6.5-0_mipsel.ipk rsync]
   * [http://downloads.openwrt.org/whiterussian/packages/libpopt_1.7-4_mipsel.ipk libpopt]
   * [http://downloads.openwrt.org/whiterussian/packages/uclibc_0.9.27-8_mipsel.ipk uclibc]
 * remount the flash read-write:
   {{{
remount-rootfs.sh rw
}}}
 * install the packages:
   {{{
ipkg install rsync_2.6.5-0_mipsel.ipk
ipkg install libpopt_1.7-4_mipsel.ipk
ipkg install uclibc_0.9.27-8_mipsel.ipk
}}}
 * ssh to the host where the repeater rootfs lives (to initialize the hostkey), if necessary:
   {{{
ssh root@192.168.0.3
}}}
 * rsync from a copy of the repeater rootfs, e.g.:
   {{{
rsync -v -a -H -x --delete root@192.168.0.3:/src/repeater-rootfs/ /
}}}
 * reboot

== Testing ==

To test, plug in the HawkingHwu54g radio, either directly or via a USB extension cable (up to 15 feet long, or even further using powered hubs). Place the HawkingHwu54g where the best {{{www.personaltelco.net}}} signal is available. Place the NetgearWgt634u where convenient and it provides good local coverage. Power up the NetgearWgt634u and, after 15-30 seconds, associate your client device to {{{www.personaltelco.net/repeater}}}. You should receive an address via DHCP in the 192.168.3.0/24 network. Try loading a web page with your client device and click through the splash page. Try pinging {{{4.2.2.2}}} and {{{www.google.com}}}.

== Feedback ==

The MississippiNetworkRepeater is in a testing phase. If you encounter problems or to provide positive or negative feedback, please contact RussellSenior. Thanks!

== FIXME ==

Need to package up a tarball of the repeater-rootfs.

== OpenWrt Version ==

Experimenting with an OpenWrt-based version of the repeater, aiming for inclusion of the zd1211rw driver.
Line 69: Line 10:
CFE> flash -noheader 192.168.0.3:wgt634u/wipe-1.img flash0.os
CFE> flash -noheader -offset=3932160 192.168.0.3:wgt634u/wipe-2.img flash0.os
CFE> flash -noheader 192.168.0.3:wgt634u/openwrt-wgt634u-2.6-squashfs-r3794.bin flash0.os
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-squashfs-r3794.bin flash0.os
Line 95: Line 36:
    {{{
cd /etc/modules.d
rm 20-madwifi
cp /rom/etc/modules.d/20-madwifi .
vi 20-madwifi
}}}
Line 105: Line 53:
cd /etc/init.d
rm S20madwifi
cp /rom/etc/init.d/S20madwifi .
cat >> S20madwifi <<EOF
Line 107: Line 60:
EOF
Line 108: Line 62:
Line 133: Line 88:


Experimenting with OpenWrt buildroot-ng, we need something like this in /etc/config/network:

  {{{
config interface wan
        option ifname eth0
        option proto static
        option ipaddr 192.168.1.1
        option netmask 255.255.255.0

config interface lan
        option type "bridge"
        option ifname "ath0 eth0.1 eth0.2 eth0.3 eth0.4"
        option proto "static"
        option ipaddr "192.168.3.1"
        option netmask "255.255.255.0"

config interface wlan
        option ifname wlan0
        option proto "none"
}}}

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 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-squashfs-r3794.bin flash0.os
      CFE> reboot
  • log into the AP
  • install USB modules:
    • cd /tmp
      scp 192.168.0.4:/src/kamikaze4/trunk/openwrt/bin/packages/kmod-usb-core_2.6.16.7-brcm-1_mipsel.ipk .
      scp 192.168.0.4:/src/kamikaze4/trunk/openwrt/bin/packages/kmod-usb2_2.6.16.7-brcm-1_mipsel.ipk .
      scp 192.168.0.4:/src/kamikaze4/trunk/openwrt/bin/packages/kmod-zd1211_2.6.16.7+r69-brcm-1_mipsel.ipk .
      ipkg install kmod-usb-core_2.6.16.7-brcm-1_mipsel.ipk
      ipkg install kmod-usb2_2.6.16.7-brcm-1_mipsel.ipk
      ipkg install kmod-zd1211_2.6.16.7+r69-brcm-1_mipsel.ipk
  • change root password
    • passwd
  • modify /etc/modules.d
    • remove encryption modules from 20-madwifi
      • cd /etc/modules.d
        rm 20-madwifi
        cp /rom/etc/modules.d/20-madwifi .
        vi 20-madwifi
    • add a file for zd1211:
      • cat > /etc/modules.d/70-zd1211 <<EOF
        zd1211
        EOF
  • modify /etc/init.d
    • add some lines to S20madwifi:
      • cd /etc/init.d
        rm S20madwifi
        cp /rom/etc/init.d/S20madwifi .
        cat >> S20madwifi <<EOF
        
        iwconfig ath0 essid www.personaltelco.net/repeater
        iwconfig ath0 channel 11
        EOF
    • remove S45firewall
      • rm /etc/init.d/S45firewall
    • add a file S90repeater:
      • cat > /etc/init.d/S90repeater <<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/S90repeater
    • Modify /etc/config/network to:
      • lan_ipaddr="192.168.3.1"
        wan_proto=none

Experimenting with OpenWrt buildroot-ng, we need something like this in /etc/config/network:

  • config interface wan
            option ifname   eth0
            option proto    static
            option ipaddr   192.168.1.1
            option netmask  255.255.255.0
    
    config interface lan
            option type     "bridge"
            option ifname   "ath0 eth0.1 eth0.2 eth0.3 eth0.4"
            option proto    "static"
            option ipaddr   "192.168.3.1"
            option netmask  "255.255.255.0"
    
    config interface wlan
            option ifname   wlan0
            option proto    "none"

MississippiNetworkRepeater (last edited 2007-11-23 18:03:15 by localhost)