Differences between revisions 10 and 11
Revision 10 as of 2006-09-23 12:30:22
Size: 5053
Comment: tweaks to accomodate the jffs2 (rather than squashfs) filesystem
Revision 11 as of 2006-09-23 14:45:59
Size: 5257
Comment: less pasting/typing is good
Deletions are marked like this. Additions are marked like this.
Line 121: Line 121:
 or more succinctly:
  {{{
cd /tmp
scp 192.168.0.4:/src/kamikaze6/buildroot-ng/openwrt/bin/packages/kmod-{usb-core_2.6.17,usb2_2.6.17,zd1211_2.6.17+r69}-brcm-1_mipsel.ipk .
ipkg install *.ipk
}}}

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

  • load OpenWrt buildroot-ng 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-r4778.bin flash0.os
      CFE> reboot
  • log into the AP
    • with serial console, just press enter
  • configure network
    • WAN port defaults to 192.168.1.1, but can get a local address by running
      • udhcpc -i eth0
  • install USB modules:
    • cd /tmp
      scp 192.168.0.4:/src/kamikaze6/buildroot-ng/openwrt/bin/packages/kmod-usb-core_2.6.17-brcm-1_mipsel.ipk .
      scp 192.168.0.4:/src/kamikaze6/buildroot-ng/openwrt/bin/packages/kmod-usb2_2.6.17-brcm-1_mipsel.ipk .
      scp 192.168.0.4:/src/kamikaze6/buildroot-ng/openwrt/bin/packages/kmod-zd1211_2.6.17+r69-brcm-1_mipsel.ipk .
      ipkg install kmod-usb-core_2.6.17-brcm-1_mipsel.ipk
      ipkg install kmod-usb2_2.6.17-brcm-1_mipsel.ipk
      ipkg install kmod-zd1211_2.6.17+r69-brcm-1_mipsel.ipk
    or more succinctly:
    • cd /tmp
      scp 192.168.0.4:/src/kamikaze6/buildroot-ng/openwrt/bin/packages/kmod-{usb-core_2.6.17,usb2_2.6.17,zd1211_2.6.17+r69}-brcm-1_mipsel.ipk .
      ipkg install *.ipk
  • change root password
    • passwd
  • modify /etc/modules.d
    • remove encryption modules from 20-madwifi
      • cd /etc/modules.d
        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
        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:
    • cat > /etc/config/network <<EOF
      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"
      EOF

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