#!/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 a5-v11) ucidef_set_interface_lan "eth0.1" ucidef_add_switch "switch0" "1" "1" ucidef_add_switch_vlan "switch0" "1" "0 6t" ;; 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" ;; 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" ;; ht-tm02) ucidef_set_interface_lan "eth0.1" ucidef_add_switch "switch0" "1" "1" ucidef_add_switch_vlan "switch0" "1" "4 6t" ;; 3g-6200n | \ dir-610-a1 | \ dir-300-b7 | \ dir-320-b1 | \ dir-615-h1 | \ hlk-rm04 | \ mzk-w300nh2 | \ mzk-750dhp | \ whr-300hp2 | \ whr-600d | \ wt1520) 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" ;; whr-1166d) 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" "5 6t" ;; awm002-evb | \ awm003-evb | \ argus-atp52b | \ dir-645 | \ f5d8235-v1 | \ f5d8235-v2 | \ hg255d | \ rt-n14u | \ wrtnode | \ wt3020 | \ 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" ;; ar670w | \ 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" ;; mt7620a_mt7530) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" ucidef_add_switch "switch1" "1" "1" ucidef_add_switch_vlan "switch1" "1" "0 1 2 3 6t" ucidef_add_switch_vlan "switch1" "2" "4 6t" ;; *) 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) ;; a5-v11 |\ bc2 |\ broadway |\ d105 |\ dir-620-a1 |\ esr-9753 |\ freestation5 |\ hlk-rm04 | \ mpr-a1 | \ mpr-a2 | \ ht-tm02 | \ 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