diff options
Diffstat (limited to 'target/linux/ramips/base-files/etc/board.d/02_network')
-rwxr-xr-x | target/linux/ramips/base-files/etc/board.d/02_network | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network new file mode 100755 index 0000000..7857aca --- /dev/null +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -0,0 +1,308 @@ +#!/bin/sh + +. /lib/functions.sh +. /lib/ramips.sh +. /lib/functions/uci-defaults-new.sh +. /lib/functions/system.sh + +ramips_setup_rt3x5x_vlans() +{ + if [ ! -x /sbin/swconfig ]; then + # legacy default + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + return + fi + local wanports="" + local lanports="" + for port in 5 4 3 2 1 0; do + if [ `swconfig dev rt305x port $port get disable` = "1" ]; then + continue + fi + if [ `swconfig dev rt305x port $port get lan` = "0" ]; then + wanports="$port $wanports" + else + lanports="$port $lanports" + fi + done + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "rt305x" "1" "1" + ucidef_add_switch_vlan "rt305x" "1" "$lanports 6t" + ucidef_add_switch_vlan "rt305x" "2" "$wanports 6t" +} + +ramips_setup_interfaces() +{ + local board="$1" + + ucidef_set_interface_loopback + + case $board in + 3g300m | \ + w150m | \ + all0256n | \ + all5002 | \ + all5003 | \ + broadway | \ + dcs-930| \ + ncs601w | \ + wnce2001) + ucidef_add_switch "switch0" "1" "0" + ucidef_set_interface_lan "eth0" + ;; + + 3g-6200nl | \ + mlw221) + ucidef_set_interface_lan "eth0.2" + ;; + + wizard8800 | \ + wl-330n | \ + wmr300) + ucidef_set_interface_lan "eth0.1" + ;; + + 3g-6200n | \ + b2c | \ + nw718 | \ + psr-680w | \ + sl-r7205 | \ + w502u | \ + wr6202) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ;; + + awapn2403) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 6t" + ucidef_add_switch_vlan "switch0" "2" "1 6t" + ;; + + br-6475nd) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 9t" + ucidef_add_switch_vlan "switch0" "2" "0 9t" + ;; + + asl26555) + ucidef_set_interface_lan "eth0.1" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t" + ;; + + cy-swr1100) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 9t" + ucidef_add_switch_vlan "switch0" "2" "4 9t" + ;; + + dir-610-a1 | \ + dir-300-b7 | \ + dir-320-b1 | \ + dir-615-h1 | \ + hlk-rm04 | \ + mzk-w300nh2 | \ + mzk-750dhp) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 6t" + ucidef_add_switch_vlan "switch0" "2" "4 6t" + ;; + + awm002-evb | \ + awm003-evb | \ + argus-atp52b | \ + dir-645 | \ + f5d8235-v1 | \ + f5d8235-v2 | \ + hg255d | \ + rt-n14u | \ + wrtnode | \ + ur-326n4g | \ + zbt-wa05) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t" + ucidef_add_switch_vlan "switch0" "2" "0 6t" + ;; + + ur-336un) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ;; + + br6524n | \ + v11st-fe) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t" + ucidef_add_switch_vlan "switch0" "2" "0 5t" + ;; + + ar725w | \ + rt-n15 | \ + wl-351) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 5t" + ucidef_add_switch_vlan "switch0" "2" "4 5t" + ;; + + rt-n56u) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 8t" + ucidef_add_switch_vlan "switch0" "2" "4 8t" + ;; + + tew-691gr|\ + tew-692gr) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0t 1 2 3 4" + ucidef_add_switch_vlan "switch0" "2" "0t 5" + ;; + + vocore) + ucidef_set_interface_lan "eth0.1" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 4 6t" + ;; + + wcr-150gn) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 6t" + ucidef_add_switch_vlan "switch0" "2" "6t" + ;; + + wr8305rt) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 4 6t" + ucidef_add_switch_vlan "switch0" "2" "4 6t" + ;; + + y1 |\ + y1s) + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" "1" "1" + ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5 6t" + ucidef_add_switch_vlan "switch0" "2" "0 6t" + ;; + d105 | \ + na930 | \ + omni-emb-hpm|\ + wli-tx4-ag300n) + ucidef_set_interface_lan "eth0" + ;; + + *) + RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"` + if [ -n "${RT3X5X}" ]; then + ramips_setup_rt3x5x_vlans + else + ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" + fi + ;; + esac +} + +ramips_setup_macs() +{ + local board="$1" + local lan_mac="" + local wan_mac="" + + case $board in + br-6475nd) + lan_mac=$(cat /sys/class/net/eth0/address) + wan_mac=$(mtd_get_mac_binary devdata 7) + ;; + + w306r-v20) + lan_mac=$(cat /sys/class/net/eth0/address) + wan_mac=$(macaddr_add "$lan_mac" 5) + ;; + + tew-691gr) + lan_mac=$(cat /sys/class/net/eth0/address) + wan_mac=$(macaddr_add "$lan_mac" 3) + ;; + + tew-692gr) + lan_mac=$(cat /sys/class/net/eth0/address) + wan_mac=$(macaddr_add "$lan_mac" 4) + ;; + + m3 |\ + m4 |\ + x5 |\ + x8) + lan_mac=$(cat /sys/class/net/eth0/address) + lan_mac=$(macaddr_add "$lan_mac" -2) + ;; + + bc2 |\ + broadway |\ + d105 |\ + dir-620-a1 |\ + esr-9753 |\ + freestation5 |\ + hlk-rm04 | \ + mpr-a1 | \ + mpr-a2 | \ + dir-300-b7 | \ + dir-320-b1 | \ + psr-680w |\ + sl-r7205 |\ + y1 |\ + y1s) + lan_mac=$(cat /sys/class/net/eth0/address) + lan_mac=$(macaddr_setbit_la "$lan_mac") + wan_mac=$(macaddr_add "$lan_mac" 1) + ;; + + cy-swr1100 | \ + dir-645) + lan_mac=$(mtd_get_mac_ascii nvram lanmac) + wan_mac=$(mtd_get_mac_ascii nvram wanmac) + ;; + + wcr-150gn) + wan_mac=$(mtd_get_mac_binary factory 40) + ;; + + rt-n56u) + lan_mac=$(cat /sys/class/net/eth0/address) + lan_mac=$(macaddr_setbit_la "$lan_mac") + wan_mac=$(mtd_get_mac_binary factory 32772) + ;; + + all0239-3g | \ + carambola | \ + freestation5 | \ + w502u | \ + wnce2001) + wan_mac=$(mtd_get_mac_binary factory 46) + ;; + + *) + lan_mac=$(cat /sys/class/net/eth0/address) + wan_mac=$(macaddr_add "$lan_mac" 1) + ;; + + esac + + [ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac + [ -n "$wan_mac" ] && ucidef_set_interface_macaddr wan $wan_mac +} + +board_config_update +board=$(ramips_board_name) +ramips_setup_interfaces $board +ramips_setup_macs $board +board_config_flush + +exit 0 |