| 1 | #!/bin/sh
|
|---|
| 2 | [ -e /etc/config/network ] && exit 0
|
|---|
| 3 |
|
|---|
| 4 | mkdir -p /etc/config
|
|---|
| 5 |
|
|---|
| 6 | (
|
|---|
| 7 | if grep 'mtd0: 00060000' /proc/mtd 2>&- >&-; then
|
|---|
| 8 | # WGT634u
|
|---|
| 9 | echo boardtype=wgt634u
|
|---|
| 10 | else
|
|---|
| 11 | strings /dev/mtdblock/3
|
|---|
| 12 | fi
|
|---|
| 13 | ) | awk '
|
|---|
| 14 | function p(name) {
|
|---|
| 15 | if (c[name] != "") print name "=\"" c[name] "\""
|
|---|
| 16 | }
|
|---|
| 17 |
|
|---|
| 18 | BEGIN {
|
|---|
| 19 | FS="="
|
|---|
| 20 | c["lan_ifname"]="br0"
|
|---|
| 21 | c["lan_ifnames"]="vlan0 eth1"
|
|---|
| 22 | c["wan_proto"]="none"
|
|---|
| 23 | c["wan_ifname"]="vlan1"
|
|---|
| 24 | c["vlan0ports"]="1 2 3 4 5*"
|
|---|
| 25 | c["vlan1ports"]="0 5"
|
|---|
| 26 | }
|
|---|
| 27 |
|
|---|
| 28 | ($1 == "boardnum") || ($1 == "boardtype") || ($1 == "boardflags") {
|
|---|
| 29 | nvram[$1] = $2
|
|---|
| 30 | }
|
|---|
| 31 |
|
|---|
| 32 | END {
|
|---|
| 33 | # v1 hardware
|
|---|
| 34 | if (nvram["boardtype"] == "bcm94710dev") {
|
|---|
| 35 | # Linksys WRT54G v1.x
|
|---|
| 36 | if (nvram["boardnum"] == "42") {
|
|---|
| 37 | c["vlan0ports"]=""
|
|---|
| 38 | c["vlan1ports"]=""
|
|---|
| 39 | c["lan_ifnames"]="vlan2 eth2"
|
|---|
| 40 | }
|
|---|
| 41 |
|
|---|
| 42 | # Asus WL-500g
|
|---|
| 43 | if (nvram["boardnum"] == "asusX") {
|
|---|
| 44 | c["lan_ifnames"]="eth0 eth1 eth2" # FIXME
|
|---|
| 45 | # wan_ifname=eth1
|
|---|
| 46 | }
|
|---|
| 47 | }
|
|---|
| 48 | if (nvram["boardtype"] == "wgt634u") {
|
|---|
| 49 | c["vlan0ports"] = "0 1 2 3 5*"
|
|---|
| 50 | c["vlan1ports"] = "4 5"
|
|---|
| 51 | c["lan_ifnames"] = "vlan0 ath0"
|
|---|
| 52 | }
|
|---|
| 53 | if ((nvram["boardtype"] == "0x0467") || (nvram["boardtype"] == "0x042f")) {
|
|---|
| 54 | c["vlan0ports"] = "0 1 2 3 5*"
|
|---|
| 55 | c["vlan1ports"] = "4 5"
|
|---|
| 56 | }
|
|---|
| 57 |
|
|---|
| 58 | # WAP54G
|
|---|
| 59 | if ((nvram["boardnum"] == "2") || \
|
|---|
| 60 | (nvram["boardnum"] == "1024")) {
|
|---|
| 61 | c["lan_ifnames"]="eth0 eth1"
|
|---|
| 62 | c["wan_ifname"]=""
|
|---|
| 63 | }
|
|---|
| 64 |
|
|---|
| 65 | print "#### VLAN configuration "
|
|---|
| 66 | print "vlan0hwname=et0"
|
|---|
| 67 | print "vlan1hwname=et0"
|
|---|
| 68 | p("vlan0ports")
|
|---|
| 69 | p("vlan1ports")
|
|---|
| 70 | print ""
|
|---|
| 71 | print ""
|
|---|
| 72 |
|
|---|
| 73 | print "#### LAN configuration"
|
|---|
| 74 | print "lan_proto=\"static\""
|
|---|
| 75 | p("lan_ifname")
|
|---|
| 76 | p("lan_ifnames")
|
|---|
| 77 | print "lan_ipaddr=\"192.168.1.1\""
|
|---|
| 78 | print "lan_netmask=\"255.255.255.0\""
|
|---|
| 79 | print "# lan_dns=\"192.168.1.1\""
|
|---|
| 80 | print "# lan_gateway=\"192.168.1.1\""
|
|---|
| 81 |
|
|---|
| 82 | print ""
|
|---|
| 83 | print ""
|
|---|
| 84 |
|
|---|
| 85 | print "#### WAN configuration"
|
|---|
| 86 | print "# wan_proto: WAN protocol, available protocols:"
|
|---|
| 87 | print "# none: disable"
|
|---|
| 88 | print "# dhcp: DHCP"
|
|---|
| 89 | print "# static: Static IP"
|
|---|
| 90 | print "# pppoe: PPP over Ethernet"
|
|---|
| 91 | print "# pptp: Point-to-Point tunneling Protocol"
|
|---|
| 92 | print "# for pppoe and pptp you need to use wan_ifname=\"ppp0\""
|
|---|
| 93 | print ""
|
|---|
| 94 | print "wan_proto=dhcp"
|
|---|
| 95 | p("wan_ifname")
|
|---|
| 96 | print "wan_device=\"" c["wan_ifname"] "\""
|
|---|
| 97 | print "# wan_ipaddr=\"192.168.0.2\""
|
|---|
| 98 | print "# wan_netmask=\"255.255.255.0\""
|
|---|
| 99 | print "# wan_gateway=\"192.168.0.1\""
|
|---|
| 100 | print "# wan_dns=\"192.168.0.1\""
|
|---|
| 101 | print ""
|
|---|
| 102 | print "## PPP over Ethernet and PPTP"
|
|---|
| 103 | print "# wan_ifname=\"ppp0\""
|
|---|
| 104 | print "# ppp_username=\"my_username\""
|
|---|
| 105 | print "# ppp_passwd=\"my_password\""
|
|---|
| 106 | print "# pptp_server_ip=\"192.168.0.1\""
|
|---|
| 107 | }
|
|---|
| 108 | ' > /etc/config/network
|
|---|