[ ! -e /etc/fw_env.config ] && exit 0 BOARD_CFG=/etc/board.json [ ! -e "$BOARD_CFG" ] && exit 0 . /lib/functions/system.sh . /lib/upgrade/common.sh . /usr/share/libubox/jshn.sh [ "$(rootfs_type)" = "tmpfs" ] && exit 0 case "$(board_name)" in tplink,tl-st1008f,v2) env_ethaddr=$(macaddr_canonicalize "$(fw_printenv -n ethaddr 2>/dev/null)") # This device ships with a dummy ethaddr because it's an unmanaged switch. # If it hasn't been updated to another one yet, do that now. if [ -z "$env_ethaddr" ] || [ "$env_ethaddr" = "00:e0:4c:00:00:00" ]; then json_init json_load_file "$BOARD_CFG" json_select network_device json_select eth0 json_get_var board_ethaddr macaddr [ -n "$board_ethaddr" ] && fw_setenv ethaddr "$board_ethaddr" fi ;; esac exit 0