6a626f54a5531991bfd47e20533287c3ad819694
[openwrt.git] / target / linux / package / base-files / files / brcm-2.4 / etc / init.d / S05netconfig
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