68be590894
SVN-Revision: 28827
185 lines
3.1 KiB
Bash
Executable File
185 lines
3.1 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (C) 2011 OpenWrt.org
|
|
#
|
|
|
|
set_interface_loopback() {
|
|
uci batch <<EOF
|
|
set network.loopback='interface'
|
|
set network.loopback.ifname='lo'
|
|
set network.loopback.proto='static'
|
|
set network.loopback.ipaddr='127.0.0.1'
|
|
set network.loopback.netmask='255.0.0.0'
|
|
EOF
|
|
}
|
|
|
|
set_interface_raw() {
|
|
local cfg=$1
|
|
local ifname=$2
|
|
|
|
uci batch <<EOF
|
|
set network.$cfg='interface'
|
|
set network.$cfg.ifname='$ifname'
|
|
set network.$cfg.proto='none'
|
|
EOF
|
|
}
|
|
|
|
set_interface_lan() {
|
|
local ifname=$1
|
|
|
|
uci batch <<EOF
|
|
set network.lan='interface'
|
|
set network.lan.ifname='$ifname'
|
|
set network.lan.type='bridge'
|
|
set network.lan.proto='static'
|
|
set network.lan.ipaddr='192.168.1.1'
|
|
set network.lan.netmask='255.255.255.0'
|
|
EOF
|
|
}
|
|
|
|
set_interface_wan() {
|
|
local ifname=$1
|
|
|
|
uci batch <<EOF
|
|
set network.wan='interface'
|
|
set network.wan.ifname='$ifname'
|
|
set network.wan.proto='dhcp'
|
|
EOF
|
|
}
|
|
|
|
set_interfaces_lan_wan() {
|
|
local lan_ifname=$1
|
|
local wan_ifname=$2
|
|
|
|
set_interface_lan "$lan_ifname"
|
|
set_interface_wan "$wan_ifname"
|
|
}
|
|
|
|
add_switch() {
|
|
local name=$1
|
|
local reset=$2
|
|
local enable=$3
|
|
uci batch <<EOF
|
|
add network switch
|
|
set network.@switch[-1].name='$name'
|
|
set network.@switch[-1].reset='$reset'
|
|
set network.@switch[-1].enable_vlan='$enable'
|
|
EOF
|
|
}
|
|
|
|
add_switch_vlan() {
|
|
local device=$1
|
|
local vlan=$2
|
|
local ports=$3
|
|
uci batch <<EOF
|
|
add network switch_vlan
|
|
set network.@switch_vlan[-1].device='$device'
|
|
set network.@switch_vlan[-1].vlan='$vlan'
|
|
set network.@switch_vlan[-1].ports='$ports'
|
|
EOF
|
|
}
|
|
|
|
[ -e /etc/config/network ] && exit 0
|
|
|
|
touch /etc/config/network
|
|
|
|
set_interface_loopback
|
|
|
|
. /lib/ar71xx.sh
|
|
|
|
board=$(ar71xx_board_name)
|
|
|
|
case "$board" in
|
|
dir-825-b1)
|
|
set_interfaces_lan_wan "eth0.1" "eth1"
|
|
add_switch "rtl8366s" "1" "1"
|
|
add_switch_vlan "rtl8366s" "1" "0 1 2 3 5t"
|
|
;;
|
|
|
|
rb-433 |\
|
|
rb-433u)
|
|
set_interfaces_lan_wan "eth1" "eth0"
|
|
add_switch "switch0" "1" "1"
|
|
add_switch_vlan "switch0" "1" "1 2 5"
|
|
;;
|
|
|
|
rb-450)
|
|
set_interfaces_lan_wan "eth1" "eth0"
|
|
add_switch "eth1" "1" "1"
|
|
add_switch_vlan "eth1" "1" "0 1 2 3 5"
|
|
;;
|
|
|
|
rb-450g |\
|
|
routerstation-pro)
|
|
set_interfaces_lan_wan "eth1" "eth0"
|
|
add_switch "switch0" "1" "1"
|
|
add_switch_vlan "switch0" "1" "0 1 2 3 4"
|
|
;;
|
|
|
|
pb92)
|
|
set_interfaces_lan_wan "eth0.1" "eth0.2"
|
|
add_switch "eth0" "1" "1"
|
|
add_switch_vlan "eth0" "1" "0t 1 3 4 5"
|
|
add_switch_vlan "eth0" "2" "0t 2"
|
|
;;
|
|
|
|
tl-wr841n-v1|\
|
|
tl-wr941nd)
|
|
set_interface_raw "eth" "eth0"
|
|
set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
|
|
;;
|
|
|
|
wrt160nl)
|
|
set_interfaces_lan_wan "eth0" "eth1"
|
|
add_switch "eth0" "1" "1"
|
|
add_switch_vlan "eth0" "1" "0 1 2 3 4 5"
|
|
;;
|
|
|
|
aw-nr580 |\
|
|
bullet-m |\
|
|
eap7660d |\
|
|
rb-411 |\
|
|
tl-wa901nd-v2 |\
|
|
tl-wr703n |\
|
|
wp543)
|
|
set_interface_lan "eth0"
|
|
;;
|
|
|
|
ap83 |\
|
|
jwap003 |\
|
|
pb42 |\
|
|
pb44 |\
|
|
routerstation)
|
|
set_interfaces_lan_wan "eth1" "eth0"
|
|
;;
|
|
|
|
ap121 |\
|
|
ap121-mini |\
|
|
ap96 |\
|
|
dir-600-a1 |\
|
|
dir-615-c1 |\
|
|
ja76pf |\
|
|
rb750 |\
|
|
tew-632brp |\
|
|
tl-mr3220 |\
|
|
tl-mr3420 |\
|
|
tl-wr741nd |\
|
|
tl-wr741nd-v4 |\
|
|
whr-g301n |\
|
|
whr-hp-g300n |\
|
|
whr-hp-gn |\
|
|
wzr-hp-ag300h)
|
|
set_interfaces_lan_wan "eth0" "eth1"
|
|
add_switch "eth0" "1" "1"
|
|
add_switch_vlan "eth0" "1" "0 1 2 3 4"
|
|
;;
|
|
|
|
*)
|
|
set_interfaces_lan_wan "eth0" "eth1"
|
|
;;
|
|
esac
|
|
|
|
uci commit network
|
|
|
|
exit 0
|