#!/bin/sh . /lib/functions.sh . /lib/ramips.sh . /lib/functions/uci-defaults.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="" swconfig dev rt305x set reset 1 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 | \ wnce2001) ucidef_add_switch "switch0" "1" "0" ucidef_set_interface_lan "eth0" ;; 3g-6200nl | \ wl-330n) ucidef_set_interface_lan "eth0.1" ;; 3g-6200n | \ argus-atp52b | \ b2c | \ nw718 | \ psr-680w | \ sl-r7205 | \ w502u | \ wr6202) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" ;; asl26555) ucidef_set_interface_lan "eth0.1" ucidef_add_switch "switch0" "1" "1" ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t" ;; dir-645) 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" ;; dir-615-h1 | \ mzk-w300nh2) 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" ;; f5d8235-v1 | \ f5d8235-v2 | \ ur-326n4g) 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" ;; 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" ;; freestation5 | \ wcr-150gn) ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1" ;; d105 | \ 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" "eth1" fi ;; esac } ramips_setup_macs() { local board="$1" local lan_mac="" local wan_mac="" case $board in all0256n | \ all5002 | \ dir-615-h1) lan_mac=$(mtd_get_mac_binary factory 40) ;; 3g-6200n | \ 3g300m | \ w150m | \ air3gii | \ argus-atp52b | \ bc2 | \ br6425 | \ broadway | \ dir-620-d1 | \ f5d8235-v1 | \ mzk-w300nh2 | \ nw718 | \ psr-680w | \ rt-n15 | \ sl-r7205 | \ wl-351) lan_mac=$(mtd_get_mac_binary factory 4) wan_mac=$(macaddr_add "$lan_mac" 1) ;; asl26555) lan_mac=$(mtd_get_mac_binary devdata 16388) ;; w306r-v20) lan_mac=$(mtd_get_mac_binary factory 4) wan_mac=$(macaddr_add "$lan_mac" 5) ;; rt-n13u | \ fonera20n) lan_mac=$(mtd_get_mac_binary factory 40) wan_mac=$(macaddr_add "$lan_mac" 1) ;; dir-300-b1 |\ dir-300-b2 |\ dir-600-b1) lan_mac=$(mtd_get_mac_binary devdata 16388) wan_mac=$(macaddr_add "$lan_mac" 1) ;; dir-620-a1) lan_mac=$(mtd_get_mac_binary factory 4) lan_mac=$(macaddr_setbit_la "$lan_mac") wan_mac=$(macaddr_add "$lan_mac" 1) ;; dir-645) lan_mac=$(mtd_get_mac_ascii nvram lanmac) wan_mac=$(mtd_get_mac_ascii nvram wanmac) ;; esr-9753 | \ ur-326n4g | \ ur-336un) lan_mac=$(mtd_get_mac_binary devdata 16388) wan_mac=$(macaddr_add "$lan_mac" 1) ;; nbg-419n | \ wcr-150gn) lan_mac=$(mtd_get_mac_binary factory 4) wan_mac=$(mtd_get_mac_binary factory 40) ;; omni-emb-hpm) lan_mac=$(mtd_get_mac_binary factory 40) ;; f5d8235-v2) lan_mac=$(mtd_get_mac_binary "u-boot" 262148) wan_mac=$(macaddr_add "$lan_mac" 1) ;; rt-n56u) lan_mac=$(mtd_get_mac_binary factory 4) wan_mac=$(mtd_get_mac_binary factory 32772) ;; tew-691gr) lan_mac=$(mtd_get_mac_binary factory 40) wan_mac=$(macaddr_add "$lan_mac" 3) ;; tew-692gr) lan_mac=$(mtd_get_mac_binary factory 40) wan_mac=$(macaddr_add "$lan_mac" 4) ;; all0239-3g | \ carambola | \ w502u | \ wnce2001) lan_mac=$(mtd_get_mac_binary factory 40) wan_mac=$(mtd_get_mac_binary factory 46) ;; wl341v3) lan_mac=$(mtd_get_mac_binary board-nvram 65440) wan_mac=$(macaddr_add "$lan_mac" 1) ;; d105 | \ wli-tx4-ag300n) lan_mac=$(mtd_get_mac_binary factory 4) ;; esac [ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac [ -n "$wan_mac" ] && ucidef_set_interface_macaddr wan $wan_mac } [ -e /etc/config/network ] && exit 0 touch /etc/config/network board=$(ramips_board_name) ramips_setup_interfaces $board ramips_setup_macs $board uci commit network exit 0