diff --git a/iopsys-econet/base-files/etc/init.d/ecnt_ae_wan b/iopsys-econet/base-files/etc/init.d/ecnt_ae_wan
index 2e0ff11a69254ce66101a49fe49a9800f77b0a44..fadacb8c25bbe0386a5e5f01e2e6c00b798750f9 100755
--- a/iopsys-econet/base-files/etc/init.d/ecnt_ae_wan
+++ b/iopsys-econet/base-files/etc/init.d/ecnt_ae_wan
@@ -3,6 +3,9 @@
 START=01
 
 boot() {
+
+	[ -f "/proc/tc3162/wan_2_5" -o "ae_wan" == "$(fw_printenv -n wan_mode)" ] || exit 0
+
 	echo "insmod ae_wan.ko wan_sel=1"
 	insmod /lib/modules/5.4.55/ae_wan.ko wan_sel=1
 
diff --git a/iopsys-econet/base-files/etc/init.d/ecnt_init b/iopsys-econet/base-files/etc/init.d/ecnt_init
new file mode 100755
index 0000000000000000000000000000000000000000..a96577e7e2393773ba5671ae42e7b6c4cab58796
--- /dev/null
+++ b/iopsys-econet/base-files/etc/init.d/ecnt_init
@@ -0,0 +1,123 @@
+#!/bin/sh /etc/rc.common
+
+# The content (edited) of this file
+# is from Airoha SDK /etc/preinit file
+
+START=00
+
+boot() {
+	PROFILE_CFG=/userfs/profile.cfg
+	if [ -f $PROFILE_CFG ] ; then
+	    . $PROFILE_CFG
+	fi
+
+	echo 32768 > /proc/net/skbmgr_driver_max_skb
+	echo 16384 > /proc/net/skbmgr_limit
+	echo 16384 > /proc/net/skbmgr_4k_limit
+
+	echo "insmod module_sel.ko"
+	insmod /lib/modules/5.4.55/module_sel.ko
+
+	echo "insmod tcledctrl.ko"
+	insmod /lib/modules/5.4.55/tcledctrl.ko
+
+	echo "insmod tccicmd.ko"
+	insmod /lib/modules/5.4.55/tccicmd.ko
+
+	echo "insmod sif.ko"
+	insmod /lib/modules/5.4.55/sif.ko
+
+	echo "insmod fe_core.ko"
+	insmod /lib/modules/5.4.55/fe_core.ko
+
+	echo "insmod ifc.ko"
+	insmod /lib/modules/5.4.55/ifc.ko
+
+	echo "insmod qdma_lan.ko"
+	insmod /lib/modules/5.4.55/qdma_lan.ko
+
+	#if [ "CONFIG_PACKAGE_kmod-npu" != "" ] ;then
+	#	echo "insmod npu.ko"
+	#	insmod /lib/modules/5.4.55/npu.ko
+	#else
+	#	echo "has no CONFIG_PACKAGE_kmod-npu"
+	#fi
+
+	#if [ "CONFIG_PACKAGE_kmod-npu_wifi_offload" != "" ] ;then
+	if [ "$TCSUPPORT_NPU_WIFI_OFFLOAD" != "" ]; then
+		echo "insmod npu.ko"
+		insmod /lib/modules/5.4.55/npu.ko
+		echo "insmod hostadpt.ko"
+		insmod /lib/modules/5.4.55/hostadpt.ko
+	else
+		echo "has no CONFIG_PACKAGE_kmod-npu_wifi_offload"
+	fi
+
+	echo "insmod eth.ko"
+	insmod /lib/modules/5.4.55/eth.ko
+
+	echo "insmod eth_ephy.ko"
+	insmod /lib/modules/5.4.55/eth_ephy.ko
+
+	echo "insmod qdma_wan.ko"
+	insmod /lib/modules/5.4.55/qdma_wan.ko
+
+	echo 1 > /proc/tc3162/vport_enable
+
+#	if [ "$TCSUPPORT_WLAN_MT7915D" != "" ]; then
+#		echo "insmod mt7915_ap.ko"
+#		insmod /lib/modules/5.4.55/mt7915_ap.ko
+#	else
+#		echo "insmod mt7603eap.ko"
+#		insmod /lib/modules/5.4.55/mt7603eap.ko
+#
+#		echo "insmod mt7663_ap.ko"
+#		insmod /lib/modules/5.4.55/mt7663_ap.ko
+#	fi
+#	echo "insmod sw_rps_for_wifi.ko"
+#	insmod /lib/modules/5.4.55/sw_rps_for_wifi.ko
+
+#	if [ "TCSUPPORT_SWNAT" != "" ]; then
+#		echo "/lib/modules/5.4.55/mt_whnat.ko"
+#		insmod /lib/modules/5.4.55/mt_whnat.ko
+#	fi
+
+	if [ "$TCSUPPORT_CPU_EN7523" != "" ]; then
+		echo "insmod hw_nat.ko"
+		insmod /lib/modules/5.4.55/hw_nat.ko SRAM_FOE_NUM=7
+	else
+		if [ "$TCSUPPORT_MEMORY_SHRINK" != "" ]; then
+			insmod /lib/modules/hw_nat.ko FOE_NUM=8
+		else
+			insmod /lib/modules/hw_nat.ko FOE_NUM=16
+		fi
+	fi
+
+	insmod /lib/modules/tso2.ko
+
+	if [ -f "/proc/tc3162/wan_2_5" -o \
+	     "ae_wan" == "$(fw_printenv -n wan_mode)" ]; then
+		echo "insmod ae_wan.ko"
+		#insmod /lib/modules/5.4.55/ae_wan.ko wan_sel=0
+	else
+		echo "insmod pon"
+	fi
+	if [ -f "/proc/tc3162/lan_2_5" ]; then
+		echo "insmod hsgmii_lan.ko"
+		insmod /lib/modules/5.4.55/hsgmii_lan.ko
+	else
+		echo "insmod pon"
+	fi
+	
+	#echo "insmod secureupgrade.ko"
+	#insmod /lib/modules/5.4.55/secureupgrade.ko	
+
+	# port-management needs eth0 to be started at least once
+	ifconfig eth0 0.0.0.0
+
+	# assign base macaddr to ethernet ports
+	ethaddr=$(fw_printenv -n ethaddr)
+	for eth in $(ls -hl /sys/class/net/eth0* 2>/dev/null | awk -F'/' '{print$NF}'); do
+		ifconfig $eth hw ether $ethaddr 2>/dev/null
+	done
+}
diff --git a/iopsys-econet/base-files/etc/init.d/ecnt_kmod b/iopsys-econet/base-files/etc/init.d/ecnt_kmod
deleted file mode 100755
index 51596593ecbc13650e9eac687288507afe644fc7..0000000000000000000000000000000000000000
--- a/iopsys-econet/base-files/etc/init.d/ecnt_kmod
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/sh /etc/rc.common
-
-START=00
-
-boot() {
-	echo "insmod module_sel.ko"
-	insmod /lib/modules/5.4.55/module_sel.ko
-
-	echo "insmod tcledctrl.ko"
-	insmod /lib/modules/5.4.55/tcledctrl.ko
-
-	echo "insmod tccicmd.ko"
-	insmod /lib/modules/5.4.55/tccicmd.ko
-
-	echo "insmod sif.ko"
-	insmod /lib/modules/5.4.55/sif.ko
-
-	echo "insmod fe_core.ko"
-	insmod /lib/modules/5.4.55/fe_core.ko
-
-	echo "insmod ifc.ko"
-	insmod /lib/modules/5.4.55/ifc.ko
-
-	echo "insmod qdma_lan.ko"
-	insmod /lib/modules/5.4.55/qdma_lan.ko
-
-	echo "insmod eth.ko"
-	insmod /lib/modules/5.4.55/eth.ko
-
-	ethaddr=$(fw_printenv -n ethaddr)
-	for eth in $(ls -hl /sys/class/net/eth0* 2>/dev/null | awk -F'/' '{print$NF}'); do
-		ifconfig $eth hw ether $ethaddr 2>/dev/null
-	done
-
-	echo "insmod eth_ephy.ko"
-	insmod /lib/modules/5.4.55/eth_ephy.ko
-
-	echo "insmod qdma_wan.ko"
-	insmod /lib/modules/5.4.55/qdma_wan.ko
-
-	echo 1 > /proc/tc3162/vport_enable
-
-	echo "insmod mt7603eap.ko"
-	insmod /lib/modules/5.4.55/mt7603eap.ko
-
-	echo "insmod mt7663_ap.ko"
-	insmod /lib/modules/5.4.55/mt7663_ap.ko
-
-	echo "insmod sw_rps_for_wifi.ko"
-	insmod /lib/modules/5.4.55/sw_rps_for_wifi.ko
-
-	echo "insmod hw_nat.ko"
-	insmod /lib/modules/5.4.55/hw_nat.ko SRAM_FOE_NUM=7
-
-	echo "mknod /dev/hwnat0"
-	mknod /dev/hwnat0 c 220 0
-
-	echo "insmod hsgmii_lan.ko"
-	insmod /lib/modules/5.4.55/hsgmii_lan.ko
-
-	# port-management needs eth0 to be started at least once
-	ifconfig eth0 0.0.0.0
-}
diff --git a/iopsys-econet/base-files/etc/init.d/ecnt_skb b/iopsys-econet/base-files/etc/init.d/ecnt_skb
deleted file mode 100755
index 7562aa6b6f7df36a700bbbbee993293d689da5c0..0000000000000000000000000000000000000000
--- a/iopsys-econet/base-files/etc/init.d/ecnt_skb
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh /etc/rc.common
-
-START=00
-
-boot() {
-	echo 32768 > /proc/net/skbmgr_driver_max_skb
-	echo 16384 > /proc/net/skbmgr_limit
-	echo 16384 > /proc/net/skbmgr_4k_limit
-}
diff --git a/iopsys-econet/base-files/etc/init.d/ecnt_xpon b/iopsys-econet/base-files/etc/init.d/ecnt_xpon
index 18b798559a28ca49200be95543747790bbaa4a09..25a81f6fb8db36abe33a2e97454b68a6932ed3bb 100755
--- a/iopsys-econet/base-files/etc/init.d/ecnt_xpon
+++ b/iopsys-econet/base-files/etc/init.d/ecnt_xpon
@@ -1,6 +1,6 @@
 #!/bin/sh /etc/rc.common
 
-START=19
+START=00
 
 boot() {
 	echo "mknod /dev/hwnat0 c 220 0"