[Feature][T8TSK-294][UCI]fix rndis config to lynq_uci_ro config_2

Only Configure: No
Affected branch: MR3.0-Merge-v2.0-ZK
Affected module: uci
Is it affected on both ZXIC and MTK: only MTK
Self-test: Yes
Doc Update: No

Change-Id: I5a74889beefb911a340f5ff90e750ca301ae4110
diff --git a/meta/meta-mediatek-mt2735/recipes-core/images/mtk-image-2735.bb b/meta/meta-mediatek-mt2735/recipes-core/images/mtk-image-2735.bb
index 63a7ebc..8157f97 100755
--- a/meta/meta-mediatek-mt2735/recipes-core/images/mtk-image-2735.bb
+++ b/meta/meta-mediatek-mt2735/recipes-core/images/mtk-image-2735.bb
@@ -241,7 +241,7 @@
 	SOURCE=${TOPDIR}/tmp/deploy/images/auto2735evb-ivt-main/state
 	TARGET=${TOPDIR}/tmp/work/auto2735evb_ivt_main-poky-linux/mtk-image-2735/1.0-r0/rootfs
 	mkdir ${TARGET}/data_backup
-	cp ${TARGET}/etc/config/radio_property ${TARGET}/data_backup/
+	cp -r ${TARGET}/etc/config/ ${TARGET}/data_backup/
 	cp ${TARGET}/etc/config/lynq_uci ${TARGET}/data_backup/
         cp ${TARGET}/data/atsvc/lynq_atsvc_plugin.xml ${TARGET}/data_backup/
         cp ${TARGET}/data/atsvc/terminal_controller.conf ${TARGET}/data_backup/
diff --git a/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover
index 2b4b41c..10e7592 100755
--- a/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover
+++ b/meta/meta-mediatek-mt2735/recipes-core/initial/files/lynq_data_recover
@@ -128,6 +128,42 @@
         echo "$FIND_STR4" >> "$FIND_FILE"
     fi
 }
+
+#jb.qi@2024.3.15 add for uci check start
+check_uci()
+{
+    uci get lynq_uci.lynq_ril > /dev/null
+    if [ $? -ne 0 ]; then
+        echo "$TAG: lynq_uci config cant get" > /dev/kmsg
+        cp /data_backup/config/lynq_uci /etc/config/lynq_uci
+    fi
+
+    uci get mdlog.property > /dev/null
+    if [ $? -ne 0 ]; then
+        echo "$TAG: mdlog config cant get" > /dev/kmsg
+        cp  /data_backup/config/mdlog /etc/config/mdlog
+    fi
+
+    uci get radio_property.property > /dev/null
+    if [ $? -ne 0 ]; then
+        echo "$TAG: radio_property config cant get" > /dev/kmsg
+        cp  /data_backup/config/radio_property /etc/config/radio_property
+    fi
+
+    uci get service.tcp > /dev/null
+    if [ $? -ne 0 ]; then
+        echo "$TAG: service config cant get" > /dev/kmsg
+        cp  /data_backup/config/service /etc/config/service
+    fi
+
+    uci get usb.config > /dev/null
+    if [ $? -ne 0 ]; then
+        echo "$TAG: usb config cant get" > /dev/kmsg
+        cp /data_backup/config/usb /etc/config/usb
+    fi
+}
+#jb.qi@2024.3.15 add for uci check end
+
 #jb.qi add for systime to rtc on 20240205 start
 check_rtc_to_systime()
 {
@@ -149,7 +185,7 @@
 echo "$TAG: Before recover radio_property" > /dev/kmsg
 rm -rf /etc/config/.*.uci*
 rm -rf /home/root/.config/pulse/*
-check_copy_file /data_backup/radio_property /etc/config/radio_property
+check_uci
 grep "option status '1'" /etc/config/lynq_uci || check_copy_file /data_backup/lynq_uci /etc/config/lynq_uci
 mkdir -p /data/atsvc
 check_copy_file /data_backup/lynq_atsvc_plugin.xml /data/atsvc/lynq_atsvc_plugin.xml
diff --git a/meta/meta-mediatek-mt2735/recipes-core/initial/files/rndis/init_usb b/meta/meta-mediatek-mt2735/recipes-core/initial/files/rndis/init_usb
index 6f2ec19..71824c8 100755
--- a/meta/meta-mediatek-mt2735/recipes-core/initial/files/rndis/init_usb
+++ b/meta/meta-mediatek-mt2735/recipes-core/initial/files/rndis/init_usb
@@ -79,14 +79,28 @@
         #setprop sys.usb.config adb,acm
         #################### START ####################
         sleep 1
-        echo rndis_acm > /sys/kernel/config/usb_gadget/g1/configs/b.1/strings/0x409/configuration
-        echo 0x7102 > /sys/kernel/config/usb_gadget/g1/idProduct
-        echo 0x0001 > /sys/kernel/config/usb_gadget/g1/bcdDevice
-        echo 1 > /sys/devices/platform/soc/mt_usb/saving
-        ln -sf /sys/kernel/config/usb_gadget/g1/functions/rndis.gs4 /sys/kernel/config/usb_gadget/g1/configs/b.1/f1
-        ln -sf /sys/kernel/config/usb_gadget/g1/functions/acm.gs0 /sys/kernel/config/usb_gadget/g1/configs/b.1/f2
-        ln -sf /sys/kernel/config/usb_gadget/g1/functions/acm.gs1 /sys/kernel/config/usb_gadget/g1/configs/b.1/f3
-        ln -sf /sys/kernel/config/usb_gadget/g1/functions/acm.gs3 /sys/kernel/config/usb_gadget/g1/configs/b.1/f4
+        rndis_status=$(uci get lynq_uci_ro.rndis.status)
+        echo "====rndis status:$rndis_status====" > /dev/kmsg
+        if [ "$rndis_status" == "1" ]; then
+            echo rndis_acm > /sys/kernel/config/usb_gadget/g1/configs/b.1/strings/0x409/configuration
+            echo 0x7102 > /sys/kernel/config/usb_gadget/g1/idProduct
+            echo 0x0001 > /sys/kernel/config/usb_gadget/g1/bcdDevice
+            echo 1 > /sys/devices/platform/soc/mt_usb/saving
+            ln -sf /sys/kernel/config/usb_gadget/g1/functions/rndis.gs4 /sys/kernel/config/usb_gadget/g1/configs/b.1/f1
+            ln -sf /sys/kernel/config/usb_gadget/g1/functions/acm.gs0 /sys/kernel/config/usb_gadget/g1/configs/b.1/f2
+            ln -sf /sys/kernel/config/usb_gadget/g1/functions/acm.gs1 /sys/kernel/config/usb_gadget/g1/configs/b.1/f3
+            ln -sf /sys/kernel/config/usb_gadget/g1/functions/acm.gs3 /sys/kernel/config/usb_gadget/g1/configs/b.1/f4
+        else
+
+            echo gs1gs3_dual_acm > /sys/kernel/config/usb_gadget/g1/configs/b.1/strings/0x409/configuration
+            echo 0x202f > /sys/kernel/config/usb_gadget/g1/idProduct
+            echo 1 > /sys/devices/platform/soc/mt_usb/saving
+            ln -sf /sys/kernel/config/usb_gadget/g1/functions/ffs.adb /sys/kernel/config/usb_gadget/g1/configs/b.1/f1
+            ln -sf /sys/kernel/config/usb_gadget/g1/functions/acm.gs0 /sys/kernel/config/usb_gadget/g1/configs/b.1/f2
+            ln -sf /sys/kernel/config/usb_gadget/g1/functions/acm.gs1 /sys/kernel/config/usb_gadget/g1/configs/b.1/f3
+            ln -sf /sys/kernel/config/usb_gadget/g1/functions/acm.gs3 /sys/kernel/config/usb_gadget/g1/configs/b.1/f4
+        fi
+
         #################### END ####################
         sleep 1
         echo 11201000.usb > /sys/kernel/config/usb_gadget/g1/UDC
diff --git a/update_version.sh b/update_version.sh
old mode 100644
new mode 100755
index de1baa9..f35e0fa
--- a/update_version.sh
+++ b/update_version.sh
@@ -1,10 +1,16 @@
 #!/bin/bash
 
-LYNQ_SW_INSIDE_VERSION="LYNQ_CONFIG_VERSION = \"T800MLD_DB2_v02.MP1_MR3.01b21.07.02\""
-LYNQ_SW_VERSION="LYNQ_CONFIG_SW_VERSION = \"T800MLD_DB2_v02.MP1_MR3.01b21.07.02\""
+SW_INSIDE_VERSION="T800MLD_DB2_v02.MP1_MR3.01b21.07.02"
+SW_VERSION="T800MLD_DB2_v02.MP1_MR3.01b21.07.02"
+
+LYNQ_SW_INSIDE_VERSION="LYNQ_CONFIG_VERSION = \"${SW_INSIDE_VERSION}\""
+LYNQ_SW_VERSION="LYNQ_CONFIG_SW_VERSION = \"${SW_VERSION}\""
 COMMIT_ID="$(git rev-parse --short HEAD)"
 LYNQ_COMMITID="LYNQ_CONFIG_COMMITID = \"${COMMIT_ID}\""
 
+LYNQ_VERSION_UCI="        option LYNQ_SW_VERSION '${SW_VERSION}'"
+LYNQ_INSIDE_VERSION_UCI="        option LYNQ_SW_INSIDE_VERSION '${SW_INSIDE_VERSION}'"
+
 eval sed -i 's/^.*LYNQ_CONFIG_VERSION.*$/"${LYNQ_SW_INSIDE_VERSION}"/' $(pwd)/meta/meta-mediatek-mt2735/conf/machine/auto2735evb-ivt-base.conf
 eval sed -i 's/^.*LYNQ_CONFIG_SW_VERSION.*$/"${LYNQ_SW_VERSION}"/' $(pwd)/meta/meta-mediatek-mt2735/conf/machine/auto2735evb-ivt-base.conf
 eval sed -i 's/^.*LYNQ_CONFIG_COMMITID.*$/"${LYNQ_COMMITID}"/' $(pwd)/meta/meta-mediatek-mt2735/conf/machine/auto2735evb-ivt-base.conf
@@ -12,4 +18,10 @@
 eval sed -i 's/^.*LYNQ_CONFIG_VERSION.*$/"${LYNQ_SW_INSIDE_VERSION}"/' $(pwd)/meta-sdk/meta/meta-lynqSDK-T800/conf/machine/auto2735evb-ivt-base.conf
 eval sed -i 's/^.*LYNQ_CONFIG_SW_VERSION.*$/"${LYNQ_SW_VERSION}"/' $(pwd)/meta-sdk/meta/meta-lynqSDK-T800/conf/machine/auto2735evb-ivt-base.conf
 eval sed -i 's/^.*LYNQ_CONFIG_COMMITID.*$/"${LYNQ_COMMITID}"/' $(pwd)/meta-sdk/meta/meta-lynqSDK-T800/conf/machine/auto2735evb-ivt-base.conf
-sed -i "s/option\\ status\\ '0'/option\\ status\\ '1'/" $(pwd)/LYNQ_PUBLIC/common_src/lib/liblynq-uci/lynq_uci.config
+
+eval sed -i 's/^.*LYNQ_SW_VERSION.*$/"${LYNQ_VERSION_UCI}"/' $(pwd)/LYNQ_PUBLIC/common_src/lib/liblynq-uci/lynq_uci_ro.config
+eval sed -i 's/^.*LYNQ_SW_INSIDE_VERSION.*$/"${LYNQ_INSIDE_VERSION_UCI}"/' $(pwd)/LYNQ_PUBLIC/common_src/lib/liblynq-uci/lynq_uci_ro.config
+
+if [ "$1" = "rndis" ];then
+    sed -i "s/option\\ status\\ '0'/option\\ status\\ '1'/" $(pwd)/LYNQ_PUBLIC/common_src/lib/liblynq-uci/lynq_uci_ro.config
+fi
\ No newline at end of file