diff --git a/target/linux/ramips/rt288x/base-files/etc/board.d/02_network b/target/linux/ramips/rt288x/base-files/etc/board.d/02_network
index b9588f4aad4764d552fa0acac8e7fa331a50d265..0cc0e0b28b6989403b3fdb0ab703914d81786868 100755
--- a/target/linux/ramips/rt288x/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/rt288x/base-files/etc/board.d/02_network
@@ -42,13 +42,14 @@ ramips_setup_macs()
 	local label_mac=""
 
 	case $board in
-	airlink101,ar670w|\
+	airlink101,ar670w)
+		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x2004)" 1)
+		;;
 	airlink101,ar725w|\
 	asus,rt-n15|\
 	belkin,f5d8235-v1|\
-	buffalo,wzr-agl300nh|\
-	ralink,v11st-fe)
-		wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
+	buffalo,wzr-agl300nh)
+		wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
 		;;
 	esac