#!/bin/sh . /etc/functions.sh . /lib/ramips.sh . /lib/functions/uci-defaults.sh if [ ! -x /usr/sbin/maccalc ]; then echo "$0: maccalc not found!" return fi ramips_setup_interfaces() { local board="$1" ucidef_set_interface_loopback case $board in all0256n) ucidef_set_interface_lan "eth0.1" ;; argus-atp52b | \ b2c | \ nw718 | \ w502u) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" ;; f5d8235-v1 | \ rt-n15) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" ucidef_add_switch "rtl8366s" "1" "1" ucidef_add_switch_vlan "rtl8366s" "1" "1 2 3 4 5t" ucidef_add_switch_vlan "rtl8366s" "2" "0 5t" ;; f5d8235-v2 | \ wl-351) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" ucidef_add_switch "rtl8366rb" "1" "1" ucidef_add_switch_vlan "rtl8366rb" "1" "0 1 2 3 5t" ucidef_add_switch_vlan "rtl8366rb" "2" "4 5t" ;; wcr-150gn) ucidef_set_interface_lan_wan "eth0.2" "eth0.1" ;; wli-tx4-ag300n) ucidef_set_interface_lan "eth0" ;; *) RT3X5X=`cat /proc/cpuinfo | grep RT3.5` if [ -n "${RT3X5X}" ]; then ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" 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) lan_mac=$(ramips_get_mac_binary factory 40) ;; argus-atp52b | \ b2c | \ f5d8235-v1 | \ nw718 | \ rt-n15 | \ wl-351) lan_mac=$(ramips_get_mac_binary factory 4) wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1) ;; dir-300-b1 |\ dir-300-b2 |\ dir-600-b1) lan_mac=$(ramips_get_mac_binary devdata 16388) wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1) ;; esr-9753 | \ nbg-419n | \ wcr-150gn) lan_mac=$(ramips_get_mac_binary factory 4) wan_mac=$(ramips_get_mac_binary factory 40) ;; f5d8235-v2) lan_mac=$(ramips_get_mac_binary "u-boot" 262148) wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1) ;; w502u) lan_mac=$(ramips_get_mac_binary factory 40) wan_mac=$(ramips_get_mac_binary factory 46) ;; wl341v3) lan_mac=$(ramips_get_mac_binary board-nvram 65440) wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1) ;; wli-tx4-ag300n) lan_mac=$(ramips_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