Merge "[Feature][T106][task-view-944]Support the M22 Nand"
diff --git a/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/product.ini b/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/product.ini
new file mode 100755
index 0000000..9cc8232
--- /dev/null
+++ b/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/product.ini
@@ -0,0 +1,9 @@
+[imagefs]
+largefile_split_enable=no
+mkfs_jffs2=-v -X lzo --pagesize=0x800 --eraseblock=0x20000 --little-endian --no-cleanmarkers --squash
+
+[nvrofs]
+mkfs_jffs2=-v -X lzo --pagesize=0x800 --eraseblock=0x20000 --little-endian --no-cleanmarkers --squash
+
+[resource]
+mkfs_jffs2=-v -X lzo --pagesize=0x800 --eraseblock=0x20000 --little-endian --no-cleanmarkers --squash
diff --git a/allbins/zx297520v3/prj_vehicle/config_dc_4Gb/partition_M22.bin b/allbins/zx297520v3/prj_vehicle/config_dc_4Gb/partition_M22.bin
new file mode 100755
index 0000000..e6d9094
--- /dev/null
+++ b/allbins/zx297520v3/prj_vehicle/config_dc_4Gb/partition_M22.bin
Binary files differ
diff --git a/allbins/zx297520v3/prj_vehicle/config_dc_4Gb/partition_M22.ini b/allbins/zx297520v3/prj_vehicle/config_dc_4Gb/partition_M22.ini
new file mode 100755
index 0000000..df94ad5
--- /dev/null
+++ b/allbins/zx297520v3/prj_vehicle/config_dc_4Gb/partition_M22.ini
@@ -0,0 +1,115 @@
+[PartitionHead]
+partition_magic=0x31594876
+partition_platform=WF7520
+partition_version=0x00201304
+partition_entrys=0x12
+partition_crc=0x12345678
+
+[Partition0]
+partition_name=zloader
+partition_type=nand
+partition_addr=0x00000000
+partition_size=0x00040000
+
+[Partition1]
+partition_name=uboot
+partition_type=nand
+partition_addr=0x00040000
+partition_size=0x00100000
+
+[Partition2]
+partition_name=uboot2
+partition_type=nand
+partition_addr=0x00140000
+partition_size=0x00100000
+
+[Partition3]
+partition_name=nvrofs
+partition_type=nand
+partition_addr=0x00240000
+partition_size=0x00200000
+
+[Partition4]
+partition_name=flags
+partition_type=nand
+partition_addr=0x00440000
+partition_size=0x004C0000
+
+[Partition5]
+partition_name=imagefs
+partition_type=nand
+partition_addr=0x00900000
+partition_size=0x00C00000
+
+[Partition6]
+partition_name=imagefs2
+partition_type=nand
+partition_addr=0x01500000
+partition_size=0x00C00000
+
+[Partition7]
+partition_name=rootfs
+partition_type=nand
+partition_addr=0x02100000
+partition_size=0x01400000
+
+[Partition8]
+partition_name=rootfs2
+partition_type=nand
+partition_addr=0x03500000
+partition_size=0x01400000
+
+[Partition9]
+partition_name=userdata
+partition_type=nand
+partition_addr=0x04900000
+partition_size=0x01000000
+
+[Partition10]
+partition_name=caprootfs
+partition_type=nand
+partition_addr=0x05900000
+partition_size=0x02800000
+
+[Partition11]
+partition_name=caprootfs2
+partition_type=nand
+partition_addr=0x08100000
+partition_size=0x02800000
+
+[Partition12]
+partition_name=capuserdata
+partition_type=nand
+partition_addr=0x0A900000
+partition_size=0x02800000
+
+[Partition13]
+partition_name=oem
+partition_type=nand
+partition_addr=0x0D100000
+partition_size=0x00E00000
+
+[Partition14]
+partition_name=oem2
+partition_type=nand
+partition_addr=0x0DF00000
+partition_size=0x00E00000
+
+[Partition15]
+partition_name=oemdata
+partition_type=nand
+partition_addr=0x0ED00000
+partition_size=0x01000000
+
+[Partition16]
+partition_name=ddr
+partition_type=ddr
+partition_addr=0x00000000
+partition_size=0xFFFFFFFF
+
+[Partition17]
+partition_name=raw
+partition_type=raw
+partition_addr=0x00000000
+partition_size=0x10000000
+
diff --git a/allbins/zx297520v3/prj_vehicle/scripts_linux/AllInOneImage_dc_ref_M22.ini b/allbins/zx297520v3/prj_vehicle/scripts_linux/AllInOneImage_dc_ref_M22.ini
new file mode 100755
index 0000000..d5a470a
--- /dev/null
+++ b/allbins/zx297520v3/prj_vehicle/scripts_linux/AllInOneImage_dc_ref_M22.ini
@@ -0,0 +1,36 @@
+[GeneralSetting]
+storage_type=1
+is_nv_coalition=1
+TLoaderAddr=0x80000
+
+[Output]
+FilePath=7520V3SC_VEC_DC_REF_M22.bin
+
+[TLoader]
+FilePath=../allbins_dc_ref_M22/tloader.bin
+
+[TBoot]
+FilePath=../allbins_dc_ref_M22/tboot.bin
+
+[Partition]
+FilePath=../allbins_dc_ref_M22/partition.bin
+
+[ProductInfo]
+FilePath=../allbins_dc_ref_M22/product.ini
+
+[Image]
+../allbins_dc_ref_M22/ap_imagefs.img
+../allbins_dc_ref_M22/ap_imagefs2.img
+../allbins_dc_ref_M22/ap_userdata.img
+../allbins_dc_ref_M22/ap_capuserdata.img
+../allbins_dc_ref_M22/cap_oemdata.img
+../allbins_dc_ref_M22/ap_rootfs.img
+../allbins_dc_ref_M22/ap_rootfs2.img
+../allbins_dc_ref_M22/ap_caprootfs.img
+../allbins_dc_ref_M22/ap_caprootfs2.img
+../allbins_dc_ref_M22/cap_oem.img
+../allbins_dc_ref_M22/cap_oem2.img
+../allbins_dc_ref_M22/flags.bin
+../allbins_dc_ref_M22/uboot.bin
+../allbins_dc_ref_M22/uboot2.bin
+../allbins_dc_ref_M22/zloader.bin
diff --git a/allbins/zx297520v3/prj_vehicle/scripts_linux/NVRWInOneImage_dc_ref_M22.ini b/allbins/zx297520v3/prj_vehicle/scripts_linux/NVRWInOneImage_dc_ref_M22.ini
new file mode 100755
index 0000000..3379634
--- /dev/null
+++ b/allbins/zx297520v3/prj_vehicle/scripts_linux/NVRWInOneImage_dc_ref_M22.ini
@@ -0,0 +1,18 @@
+
+[NVIMAGE]
+NvrwPath=../allbins_dc_ref_M22/nvrwall.bin
+
+[NVRO]
+
+
+[NVRW]
+../allbins_dc_ref_M22/ati_nvrw_0x00000800.bin
+../allbins_dc_ref_M22/at_nvrw_0x00001000.bin
+../allbins_dc_ref_M22/drv_nvrw_0x00012000.bin
+../allbins_dc_ref_M22/phycfg_nvrw_0x00001400.bin
+../allbins_dc_ref_M22/psPriData_nvrw_0x00002000.bin
+../allbins_dc_ref_M22/psPubData_nvrw_0x00001C00.bin
+../allbins_dc_ref_M22/Ref_nvrw_0x26C00.bin
+../allbins_dc_ref_M22/tsp_nvrw_0x00000000.bin
+../allbins_dc_ref_M22/voice_nvrw_0x00016000.bin
+
diff --git a/allbins/zx297520v3/prj_vehicle/scripts_linux/NVRWOInOneImage_dc_ref_M22.ini b/allbins/zx297520v3/prj_vehicle/scripts_linux/NVRWOInOneImage_dc_ref_M22.ini
new file mode 100755
index 0000000..548577c
--- /dev/null
+++ b/allbins/zx297520v3/prj_vehicle/scripts_linux/NVRWOInOneImage_dc_ref_M22.ini
@@ -0,0 +1,39 @@
+
+;NV合并
+[NVIMAGE]
+;NvroPath=modem_nvro.bin
+NvrwoPath=../allbins_dc_ref_M22/nvrwoall.bin
+
+[NVRO]
+;举例../../../zx297520/nv/CA_3M_BX/amtComm_nvro_0x00000000.bin
+
+[NVRWO]
+;举例../../../zx297520/nv/CA_3M_BX/at_nvrw_0x00022000.bin
+../allbins_dc_ref_M22/phycom_nvrwo_0x0002BC00.bin
+;xf.li@20230927 add for DRDI start
+../allbins_dc_ref_M22/phycom_nvrwo_0x0002C400.bin
+../allbins_dc_ref_M22/phycom_nvrwo_0x00037C00.bin
+;xf.li@20230927 add for DRDI end
+../allbins_dc_ref_M22/phyGgeAmtUser_nvrwo_0x00003400.bin
+;xf.li@20230927 add for DRDI start
+../allbins_dc_ref_M22/phyGgeAmtUser_nvrwo_0x0002CC00.bin
+../allbins_dc_ref_M22/phyGgeAmtUser_nvrwo_0x00038400.bin
+;xf.li@20230927 add for DRDI end
+../allbins_dc_ref_M22/phyGgeCom_nvrwo_0x0000EC00.bin
+../allbins_dc_ref_M22/phyLteaAmtUser_nvrwo_0x00007800.bin
+;xf.li@20230927 add for DRDI start
+../allbins_dc_ref_M22/phyLteaAmtUser_nvrwo_0x0003C800.bin
+../allbins_dc_ref_M22/phyLteaAmtUser_nvrwo_0x00031000.bin
+;xf.li@20230927 add for DRDI end
+../allbins_dc_ref_M22/phyLteaCom_nvrwo_0x00012C00.bin
+../allbins_dc_ref_M22/phyLtetxtable_nvrwo_0x0001BC00.bin
+../allbins_dc_ref_M22/phyTdsAmtUser_nvrwo_0x00002800.bin
+../allbins_dc_ref_M22/phyTdsCom_nvrwo_0x0000E400.bin
+../allbins_dc_ref_M22/phyWcdmaAmtUser_nvrwo_0x00005000.bin
+;xf.li@20230927 add for DRDI start
+../allbins_dc_ref_M22/phyWcdmaAmtUser_nvrwo_0x0002E800.bin
+../allbins_dc_ref_M22/phyWcdmaAmtUser_nvrwo_0x0003A000.bin
+;xf.li@20230927 add for DRDI end
+../allbins_dc_ref_M22/phyWcdmaCom_nvrwo_0x00012400.bin
+../allbins_dc_ref_M22/zxRfM0_nvrwo_0x00016C00.bin
+
diff --git a/allbins/zx297520v3/prj_vehicle/scripts_linux/copybin_a_to_b.sh b/allbins/zx297520v3/prj_vehicle/scripts_linux/copybin_a_to_b.sh
index 697130b..1f0278f 100755
--- a/allbins/zx297520v3/prj_vehicle/scripts_linux/copybin_a_to_b.sh
+++ b/allbins/zx297520v3/prj_vehicle/scripts_linux/copybin_a_to_b.sh
@@ -9,6 +9,9 @@
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc/ap_imagefs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc/ap_imagefs2.img
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/ap_imagefs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/ap_imagefs2.img
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/ap_imagefs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/ap_imagefs2.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/ap_imagefs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/ap_imagefs2.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/ap_imagefs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/ap_imagefs2.img
#ap_rootfs.img
@@ -16,12 +19,18 @@
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc/ap_rootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc/ap_rootfs2.img
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/ap_rootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/ap_rootfs2.img
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/ap_rootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/ap_rootfs2.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/ap_rootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/ap_rootfs2.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/ap_rootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/ap_rootfs2.img
#ap_caprootfs
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc/ap_caprootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc/ap_caprootfs2.img
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/ap_caprootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/ap_caprootfs2.img
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/ap_caprootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/ap_caprootfs2.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/ap_caprootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/ap_caprootfs2.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/ap_caprootfs.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/ap_caprootfs2.img
#uboot
@@ -29,10 +38,16 @@
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc/uboot.bin $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc/uboot2.bin
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/uboot.bin $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/uboot2.bin
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/uboot.bin $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/uboot2.bin
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/uboot.bin $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/uboot2.bin
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/uboot.bin $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/uboot2.bin
#oem
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins/ap_oem.img $TOP_DIR/zx297520v3/prj_vehicle/allbins/ap_oem2.img
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/cap_oem.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_4Gb/cap_oem2.img
cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/cap_oem.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref/cap_oem2.img
-cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/cap_oem.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/cap_oem2.img
\ No newline at end of file
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/cap_oem.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_ref_M22/cap_oem2.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+cp -rvf $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/cap_oem.img $TOP_DIR/zx297520v3/prj_vehicle/allbins_dc_systemd/cap_oem2.img
diff --git a/allbins/zx297520v3/prj_vehicle/scripts_linux/copybin_vehicle_dc_ref.sh b/allbins/zx297520v3/prj_vehicle/scripts_linux/copybin_vehicle_dc_ref.sh
index 364ab03..1f9e9eb 100755
--- a/allbins/zx297520v3/prj_vehicle/scripts_linux/copybin_vehicle_dc_ref.sh
+++ b/allbins/zx297520v3/prj_vehicle/scripts_linux/copybin_vehicle_dc_ref.sh
@@ -5,14 +5,25 @@
#partition
cp -rvf $TOP_DIR/allbins/zx297520v3/prj_vehicle/config_dc_4Gb/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/allbins/zx297520v3/prj_vehicle/config_dc_4Gb/partition_M22.ini $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/partition.ini
+cp -rvf $TOP_DIR/allbins/zx297520v3/prj_vehicle/config_dc_4Gb/partition_M22.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/partition.bin
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
#rpm
cp -rvf $TOP_DIR/rpm/project/zx297520v3/bin/tos/modem_7520v3/evb_cpurpm.img $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/evb_cpurpm.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/rpm/project/zx297520v3/bin/tos/modem_7520v3/evb_cpurpm.img $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/evb_cpurpm.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+
cp -rvf $TOP_DIR/rpm/project/zx297520v3/bin/tos/modem_7520v3/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/
rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/evb_cpurpm.img
#phy
cp -rvf $TOP_DIR/cp/phy/bin/zx297520v3/merge_lte_220a1_bin/ps/evb_cpuphy.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/evb_cpuphy.bin
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/cp/phy/bin/zx297520v3/merge_lte_220a1_bin/ps/evb_cpuphy.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/evb_cpuphy.bin
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
cp -rvf $TOP_DIR/cp/phy/bin/zx297520v3/merge_lte_220a1_bin/ps/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/
rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/evb_cpuphy.bin
@@ -34,6 +45,23 @@
rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/phyTdsAmtCali_nvro_0x00048000.bin
rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/phyWcdmaAmtCali_nvro_0x00058000.bin
rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/phyLteaAmtCali_nvro_0x00078000.bin
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+mkdir -p $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/config
+cp -rvf $TOP_DIR/allbins/zx297520v3/prj_evb/nv/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/
+cp -rvf $TOP_DIR/allbins/zx297520v3/prj_evb/nv/merge_lte/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/
+cp -rvf $TOP_DIR/allbins/zx297520v3/prj_vehicle/nv/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/
+cp -rvf $TOP_DIR/allbins/zx297520v3/prj_vehicle/nv_dc_ref/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/
+rm -rf $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/merge_lte
+rm -rf $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/ps_nopsm
+rm -rf $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/th_psm
+rm -rf $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/单天线
+rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/amtComm_nvro_0x00000000.bin
+rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/phyGgeAmtCali_nvro_0x00050000.bin
+rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/phyLteAmtCali_nvro_0x00008000.bin
+rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/phyTdsAmtCali_nvro_0x00048000.bin
+rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/phyWcdmaAmtCali_nvro_0x00058000.bin
+rm $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/phyLteaAmtCali_nvro_0x00078000.bin
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
#uboot
mkdir -p $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/boot/dl_off
@@ -41,6 +69,13 @@
cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/tloader.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/tloader.bin
cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/uboot.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/uboot.bin
cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/dl_off/zloader.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/zloader.bin
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/tboot.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/tboot.bin
+cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/tloader.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/tloader.bin
+cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/uboot.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/uboot.bin
+cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/dl_off/zloader.bin $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/zloader.bin
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+
cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/u-boot $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/boot/u-boot
cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/u-boot.map $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/boot/u-boot.map
cp -rvf $TOP_DIR/boot/prj/zx297520v3/vehicle_dc_ref/bin/z-load $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/boot/z-load
@@ -50,11 +85,23 @@
#ap
cp -rvf $TOP_DIR/ap/project/zx297520v3/prj_vehicle_dc_ref/bin/220A1/allbins/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/ap/project/zx297520v3/prj_vehicle_dc_ref/bin/220A1/allbins/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
cp -rvf $TOP_DIR/ap/project/zx297520v3/prj_vehicle_dc_ref/bin/220A1/elfs/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/
#cap
mkdir -p $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/cap
cp -rvf $TOP_DIR/cap/allbins/zx297520v3/vehicle_dc_ref/bins/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref/
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp -rvf $TOP_DIR/cap/allbins/zx297520v3/vehicle_dc_ref/bins/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/allbins_dc_ref_M22/
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
cp -rvf $TOP_DIR/cap/allbins/zx297520v3/vehicle_dc_ref/elf/* $TOP_DIR/allbins/zx297520v3/prj_vehicle/elf_dc_ref/cap/
-
-
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+cp ../allbins_dc_ref_M22/ap_caprootfs_M22.img ../allbins_dc_ref_M22/ap_caprootfs.img
+cp ../allbins_dc_ref_M22/ap_capuserdata_M22.img ../allbins_dc_ref_M22/ap_capuserdata.img
+cp ../allbins_dc_ref_M22/ap_cpuap_M22.bin ../allbins_dc_ref_M22/ap_cpuap.bin
+cp ../allbins_dc_ref_M22/ap_rootfs_M22.img ../allbins_dc_ref_M22/ap_rootfs.img
+cp ../allbins_dc_ref_M22/cap_oemdata_M22.img ../allbins_dc_ref_M22/cap_oemdata.img
+cp ../allbins_dc_ref_M22/cap_oem_M22.img ../allbins_dc_ref_M22/cap_oem.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
diff --git a/allbins/zx297520v3/prj_vehicle/scripts_linux/merge_M22.sh b/allbins/zx297520v3/prj_vehicle/scripts_linux/merge_M22.sh
new file mode 100755
index 0000000..c406730
--- /dev/null
+++ b/allbins/zx297520v3/prj_vehicle/scripts_linux/merge_M22.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+CURR_DIR=`pwd`
+TOP_DIR=$CURR_DIR/../../../..
+
+chmod -R a+x $CURR_DIR/*
+chmod a+x $TOP_DIR/tools/SignTool/*
+chmod a+x $TOP_DIR/allbins/tools/squashfskit/*
+chmod a+x $TOP_DIR/allbins/tools/resign_tool/*
+
+#./Image -n NVRWInOneImage.ini
+#./Image -n NVRWOInOneImage.ini
+#./Image -n NVRWInOneImage_dc.ini
+#./Image -n NVRWOInOneImage_dc.ini
+#./Image -n NVRWInOneImage_dc_4Gb.ini
+#./Image -n NVRWOInOneImage_dc_4Gb.ini
+#./Image -n NVRWInOneImage_dc_ref.ini
+#./Image -n NVRWOInOneImage_dc_ref.ini
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+./Image -n NVRWInOneImage_dc_ref_M22.ini
+./Image -n NVRWOInOneImage_dc_ref_M22.ini
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+#./Image -n NVRWInOneImage_dc_systemd.ini
+#./Image -n NVRWOInOneImage_dc_systemd.ini
+#Ç©ÃûÀÏоƬ£¬½öÖ§³ÖRSA 1024£¬ÐèÒª¼ÓµÚÈý¸ö²ÎÊýΪv3t
+#bash product_resign.sh ../key/RSA_1024/private.k ../allbins_dc v3t
+#bash product_resign.sh ../key/RSA_1024/private.k ../allbins_dc_4Gb v3t
+#bash product_resign.sh ../key/RSA_1024/private.k ../allbins_dc_ref v3t
+#bash product_resign.sh ../key/RSA_1024/private.k ../allbins_dc_systemd v3t
+#Ç©ÃûÐÅÏ¢°²È«Ð¾Æ¬£¬Ö§³ÖRSA 2048
+#bash product_resign.sh ../key/RSA_2048/private.k ../allbins_dc
+#bash product_resign.sh ../key/RSA_2048/private.k ../allbins_dc_4Gb
+#bash product_resign.sh ../key/RSA_2048/private.k ../allbins_dc_ref
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+#bash product_resign.sh ../key/RSA_2048/private.k ../allbins_dc_ref_M22
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+#bash product_resign.sh ../key/RSA_2048/private.k ../allbins_dc_systemd
+#./Image -f FsImage.ini
+#./Image -f FsImage_dc.ini
+#./Image -f FsImage_dc_4Gb.ini
+#./Image -f FsImage_dc_ref.ini
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+./Image -f FsImage_dc_ref_M22.ini
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+#./Image -f FsImage_dc_systemd.ini
+bash copybin_a_to_b.sh
+#./Image -m AllInOneImage.ini
+#./Image -m AllInOneImage_dc.ini
+#./Image -m AllInOneImage_dc_4Gb.ini
+#./Image -m AllInOneImage_dc_ref.ini
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+./Image -m AllInOneImage_dc_ref_M22.ini
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
+#./Image -m AllInOneImage_dc_systemd.ini
+
+
diff --git a/ap/Makefile b/ap/Makefile
index 0e5fed9..cefe54b 100755
--- a/ap/Makefile
+++ b/ap/Makefile
@@ -179,6 +179,15 @@
dd if=$(IMAGE_DIR)/rootfs_signed.img of=$(IMAGE_DIR)/rootfs.sign bs=704 count=1
cat $(IMAGE_DIR)/rootfs.sign $(IMAGE_DIR)/linux_kernel.img > $(IMAGE_DIR)/rootfs_kernel.img
@$(SIGN) -i $(IMAGE_DIR)/rootfs_kernel.img -o $(PRJ_BIN_DIR)/allbins/ap_cpuap.bin -k $(PRIVATE_KEY_PATH)
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+ifeq ($(LYNQ_NAND_TYPE),M22)
+ mkimage -A arm -O linux -C none -T filesystem -a 0 -e 0 -n 'rootfs' -d $(IMAGE_DIR)/rootfs_M22.img $(IMAGE_DIR)/rootfs_u_M22.img
+ @$(SIGN) -i $(IMAGE_DIR)/rootfs_u_M22.img -o $(IMAGE_DIR)/rootfs_signed_M22.img -k $(PRIVATE_KEY_PATH)
+ dd if=$(IMAGE_DIR)/rootfs_signed_M22.img of=$(IMAGE_DIR)/rootfs_M22.sign bs=704 count=1
+ cat $(IMAGE_DIR)/rootfs_M22.sign $(IMAGE_DIR)/linux_kernel.img > $(IMAGE_DIR)/rootfs_kernel_M22.img
+ @$(SIGN) -i $(IMAGE_DIR)/rootfs_kernel_M22.img -o $(PRJ_BIN_DIR)/allbins/ap_cpuap_M22.bin -k $(PRIVATE_KEY_PATH)
+endif
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
else
@cp -v $(IMAGE_DIR)/linux_kernel.img $(PRJ_BIN_DIR)/allbins/ap_cpuap.bin
endif
@@ -536,6 +545,11 @@
bash $(BUILD_DIR)/jffs2_lzma.sh $(ROOTFS_DIR) $(IMAGE_DIR)/rootfs.img lzma
else
bash $(BUILD_DIR)/jffs2_lzma.sh $(ROOTFS_DIR) $(IMAGE_DIR)/rootfs.img lzo
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+ifeq ($(LYNQ_NAND_TYPE),M22)
+ bash $(BUILD_DIR)/jffs2_lzma.sh $(ROOTFS_DIR) $(IMAGE_DIR)/rootfs_M22.img lzo lynq
+endif
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
endif
else
ifeq ($(ROOT_FS_TYPE),squashfs)
@@ -685,6 +699,11 @@
normal_copybin: normal_check
mkdir -p $(PRJ_BIN_DIR)/allbins $(PRJ_BIN_DIR)/elfs/normalelfs
cp -v $(IMAGE_DIR)/rootfs.img $(PRJ_BIN_DIR)/allbins/ap_rootfs.img
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+ifeq ($(LYNQ_NAND_TYPE),M22)
+ cp -v $(IMAGE_DIR)/rootfs_M22.img $(PRJ_BIN_DIR)/allbins/ap_rootfs_M22.img
+endif
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
ifeq ($(CONFIG_SIGN_IMAGE),yes)
chmod a+x $(SIGN)
mkimage -A arm -O linux -C none -T filesystem -a 0 -e 0 -n 'rootfs' -d $(IMAGE_DIR)/rootfs.img $(IMAGE_DIR)/rootfs_u.img
@@ -692,6 +711,15 @@
dd if=$(IMAGE_DIR)/rootfs_signed.img of=$(IMAGE_DIR)/rootfs.sign bs=704 count=1
cat $(IMAGE_DIR)/rootfs.sign $(IMAGE_DIR)/linux_kernel.img > $(IMAGE_DIR)/rootfs_kernel.img
@$(SIGN) -i $(IMAGE_DIR)/rootfs_kernel.img -o $(PRJ_BIN_DIR)/allbins/ap_cpuap.bin -k $(PRIVATE_KEY_PATH)
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+ifeq ($(LYNQ_NAND_TYPE),M22)
+ mkimage -A arm -O linux -C none -T filesystem -a 0 -e 0 -n 'rootfs' -d $(IMAGE_DIR)/rootfs_M22.img $(IMAGE_DIR)/rootfs_u_M22.img
+ @$(SIGN) -i $(IMAGE_DIR)/rootfs_u_M22.img -o $(IMAGE_DIR)/rootfs_signed_M22.img -k $(PRIVATE_KEY_PATH)
+ dd if=$(IMAGE_DIR)/rootfs_signed_M22.img of=$(IMAGE_DIR)/rootfs_M22.sign bs=704 count=1
+ cat $(IMAGE_DIR)/rootfs_M22.sign $(IMAGE_DIR)/linux_kernel.img > $(IMAGE_DIR)/rootfs_kernel_M22.img
+ @$(SIGN) -i $(IMAGE_DIR)/rootfs_kernel_M22.img -o $(PRJ_BIN_DIR)/allbins/ap_cpuap_M22.bin -k $(PRIVATE_KEY_PATH)
+endif
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
else
@cp -v $(IMAGE_DIR)/linux_kernel.img $(PRJ_BIN_DIR)/allbins/ap_cpuap.bin
endif
diff --git a/ap/app/zte_comm/zte_mainctrl/netdev_proc.c b/ap/app/zte_comm/zte_mainctrl/netdev_proc.c
index 7dabf64..4a4ae9b 100755
--- a/ap/app/zte_comm/zte_mainctrl/netdev_proc.c
+++ b/ap/app/zte_comm/zte_mainctrl/netdev_proc.c
@@ -67,7 +67,7 @@
int i = 0;
char * postptr = NULL;
- int ip6_seg = 0; //ipv6µØÖ·ÖÐðºÅµÄ¸öÊý
+ int ip6_seg = 0; //ipv6��ַ��ð�ŵĸ���
int ip6_seg_loc = 0;
int len;
@@ -81,10 +81,10 @@
}
}
- if (ip6_seg == 3) //¼¤»îÐÅϢΪipv6ºó׺£¬²»ÐèÒª½Ø¶Ï
+ if (ip6_seg == 3) //������ϢΪipv6��������Ҫ�ض�
postptr = ip6;
- else if (ip6_seg == 7) //¼¤»îÐÅϢΪipv6ǰ׺+ºó׺£¬ÐèÒª½Ø¶Ï´¦Àí
+ else if (ip6_seg == 7) //������ϢΪipv6ǰ+������Ҫ�ضϴ���
postptr = &ip6[ip6_seg_loc + 1];
else
softap_assert("ipv6 address %s is wrong!", ip6);
@@ -163,7 +163,7 @@
}
ptr = buf;
nleft = len;
- // O_TRUNC:½«Îļþ³¤¶È½Ø¶ÏΪ0£¬×öΪÐÂÎļþдÈë
+ // O_TRUNC:���ļ����Ƚض�Ϊ0����Ϊ���ļ�д��
fd = open(path, O_RDWR | O_CREAT | O_TRUNC | O_SYNC, 777);
if (fd < 0){
slog(NET_PRINT, SLOG_ERR, "net_write_file Open fail, error:%s, path:%s\n", strerror(errno), path);
@@ -346,7 +346,7 @@
}
-/*¼¤»îIPµÄ×îºóÒ»¸öÊý×ÖµÄ2½øÖƵĺó3λÊÇ010 001 000ʱ+2£¬·ñÔò-2*/
+/*����IP�����һ�����ֵ�2���Ƶĺ�3λ��010 001 000ʱ+2������-2*/
FILE *pdp_direct_config_quick4(const char *nv_pswan, struct pdp_active_info *actinfo)
{
int i = 0;
@@ -410,7 +410,7 @@
wan_ip = addr-1;
}
for(i = 3; i < 32; i++){
- /*²»ÊÇÁ¬ÐøµÄÈ«0 && ²»ÊÇÁ¬ÐøµÄÈ«1*/
+ /*����������ȫ0 && ����������ȫ1*/
if(((addr>>i)<<i) != addr && (((1<<i)-1)|addr) != addr)
break;
}
@@ -827,7 +827,7 @@
snprintf(defwan_if, sizeof(defwan_if), "%s%d", ps_wan, actinfo->c_id);
strcpy(defwan_real, defwan_if);
strcpy(defwan_dev_name, ps_wan);
- //½«µ±Ç°ÓÐÐ§Íø¿ÚÖÐÓÅÏȼ¶×î¸ßµÄÉèÖÃΪȱʡÍâÍø¿Ú
+ //����ǰ��Ч���������ȼ���ߵ�����Ϊȱʡ������
if(actinfo->act_info.ip46flag & V4_VALID){
sc_cfg_set("default_wan_name", defwan_if);
sc_cfg_set("default_wan_rel", defwan_real);
@@ -866,7 +866,7 @@
if(actinfo->act_info.ip46flag & V6_VALID)
defwan6_change = strcmp(defwan6_if_old, defwan_real);
- //Êý¾ÝÏÈͨ£¬ºó×öÆäËûÅäÖã¬×¢Òâµã: ·À»ðǽ¶Ìʱ¼äÄÚ¿ÉÄÜδÉúЧ
+ //������ͨ�������������ã�ע���: ����ǽ��ʱ���ڿ���δ��Ч
if (
#ifndef USE_CAP_SUPPORT
defwan4_change &&
@@ -1070,7 +1070,7 @@
#endif
slog(NET_PRINT, SLOG_NORMAL, "pdp_wan_config_quick defwan_change v4:%d v6:%d \n", defwan4_change, defwan6_change);
- //ȱʡÍâÍø¿Ú·¢Éú±ä»¯ÔòÖØÉènatºÍfilter
+ //ȱʡ�����ڷ����仯������nat��filter
if (defwan4_change || defwan6_change) {
zte_router_init();
if(actinfo->act_info.ip46flag & V4_VALID){
@@ -1257,12 +1257,12 @@
}
}
/**************************************************************************
-* º¯ÊýÃû³Æ£º pdp_act_proc
-* ¹¦ÄÜÃèÊö£º PSÍøÂçÉ豸¼¤»î½Ó¿Ú
-* ²ÎÊý˵Ã÷£º pdp_active_info(IN):PDP¼¤»îÐÅÏ¢
-* ·µ »Ø Öµ£º ²Ù×÷³É¹¦·µ»Ø1.
-* ÆäËü˵Ã÷£º atÏà¹ØÓ¦Óýø³Ìµ÷Óã¬Èçatserver¡¢pcserver¡¢VoLTE¡¢²ÊÐŵÈÓ¦Óýø³Ì£»
-* ½Ó¿ÚÄÚ²¿ÊµÏÖ¶ÔÓÚµÄPSÉ豸µÄ¼¤»î¼°ÏàÓ¦µÄÍøÂçÅäÖÃ
+* �������ƣ� pdp_act_proc
+* ���������� PS�����豸����ӿ�
+* ����˵���� pdp_active_info(IN):PDP������Ϣ
+* �� �� ֵ�� �����ɹ�����1.
+* ����˵���� at���Ӧ�ý��̵��ã���atserver��pcserver��VoLTE�����ŵ�Ӧ�ý��̣�
+* �ӿ��ڲ�ʵ�ֶ��ڵ�PS�豸�ļ����Ӧ����������
**************************************************************************/
int net_pdp_act_proc(struct pdp_active_info *actinfo)
{
@@ -1308,7 +1308,7 @@
sc_cfg_set(nv_name2, "");
}
}
- //¶ÔÓÚatserver´¥·¢µÄPDP¼¤»î£¬ÊÇÓÃÓÚÆÕͨÉÏÍâÍøÒµÎñµÄ£¬´æÔÚNATת»»
+ //����atserver������PDP�����������ͨ������ҵ��ģ�����NATת��
if (actinfo->pdp_type == PDP_NORMAL) {
snprintf(char_cid, sizeof(char_cid), "%d", actinfo->c_id);
sc_cfg_set("default_cid", char_cid);
@@ -1318,7 +1318,7 @@
pdp_wan_config(actinfo);
//sc_cfg_set("ps_state", "working");
}
- //¶ÔÓÚÍâºË´¥·¢µÄPDP¼¤»î£¬½øÐÐÇŽӻò¼¶Áª
+ //������˴�����PDP��������Žӻ���
else if (actinfo->pdp_type == PDP_EXT) {
#ifdef USE_CAP_SUPPORT
if(prefix_len > 0){
@@ -1329,7 +1329,7 @@
set_br_addr6(actinfo->c_id, 1);
}
#endif
- //cp¼¶Áª£¬apÇŽÓ
+ //cp������ap��
if(quick_flag[0] == '1' && (actinfo->act_info.ip46flag == V4_VALID || prefix_len > 0)){
pdp_direct_config_quick(actinfo, prefix, prefix_len);
}else{
@@ -1343,13 +1343,13 @@
} else
softap_assert("need_jilian=%s error", need_jilian);
}
- /*¸ÃÎÊÌâÓÃÓÚUSB ÈȲå°Îʱ״̬±ê¼Ç£¬½öÔÚPDP¼¤»îÖ®ºó£¬
- ²Å¶ÔÈȲå°ÎÏûÏ¢½øÐд¦Àí*/
+ /*����������USB �Ȳ��ʱ״̬��ǣ�����PDP����֮��
+ �Ŷ��Ȳ����Ϣ���д���*/
sprintf(psext_state, "ps_ext%d_pdpstate", actinfo->c_id);
sc_cfg_set(psext_state, "working");
}
- //±¾µØÓ¦ÓÃÉÏÍâÍøµÄPDP¼¤»î£¬ÈçVoLTEµÈ
+ //����Ӧ����������PDP�����VoLTE��
else if (actinfo->pdp_type == PDP_LOCAL) {
if(quick_flag[0] == '1' && (actinfo->act_info.ip46flag == V4_VALID || prefix_len > 0))
pdp_wan_config_quick(actinfo, prefix, prefix_len);
@@ -1378,12 +1378,12 @@
}
/**************************************************************************
-* º¯ÊýÃû³Æ£º pdp_deact_proc
-* ¹¦ÄÜÃèÊö£º PSÍøÂçÉ豸ȥ»î½Ó¿Ú
-* ²ÎÊý˵Ã÷£º c_id(IN):PDP¼¤»îc_id.
-* ·µ »Ø Öµ£º ²Ù×÷³É¹¦·µ»Ø1.
-* ÆäËü˵Ã÷£º atÏà¹ØÓ¦Óýø³Ìµ÷Óã¬Èçatserver¡¢pcserver¡¢VoLTE¡¢²ÊÐŵÈÓ¦Óýø³Ì£»
-½Ó¿ÚÄÚ²¿ÊµÏÖ¶ÔÓÚµÄPSÉ豸ȥ»î£»Ö§³Ö46µ¥Õ»È¥»î£¬ËùÒÔÈë²ÎÐèҪָʾ46Çé¿ö
+* �������ƣ� pdp_deact_proc
+* ���������� PS�����豸ȥ��ӿ�
+* ����˵���� c_id(IN):PDP����c_id.
+* �� �� ֵ�� �����ɹ�����1.
+* ����˵���� at���Ӧ�ý��̵��ã���atserver��pcserver��VoLTE�����ŵ�Ӧ�ý��̣�
+�ӿ��ڲ�ʵ�ֶ��ڵ�PS�豸ȥ�֧��46��ջȥ����������Ҫָʾ46���
**************************************************************************/
int net_pdp_deact_proc(int c_id, unsigned char ip46flag)
{
@@ -1412,7 +1412,7 @@
closelog();
- //ÍâºËpdpÈ¥»î,È¥ÇÅÈ¥¼¶Áª
+ //���pdpȥ��,ȥ��ȥ����
if (0 == strcmp("bridge", pdp_mode)) {
#ifdef USE_CAP_SUPPORT
if(ip46flag == V6_VALID || ip46flag == V46_VALID){
@@ -1449,7 +1449,7 @@
} else if (0 == strcmp("ppp", pdp_mode)) {
//if (ip46flag == V4_VALID || ip46flag == V46_VALID) { for ipv6
#if 0
- sc_cfg_get("pppd_user_term", pppd_user_term, sizeof(pppd_user_term)); //¼ì²â¸ÃpdpÈ¥¼¤»îÊÇ·ñÊÇÓÉÖն˶ϿªpppÁ´½Ó·¢ÆðµÄ
+ sc_cfg_get("pppd_user_term", pppd_user_term, sizeof(pppd_user_term)); //����pdpȥ�����Ƿ������ն˶Ͽ�ppp���ӷ����
if (strcmp(pppd_user_term, "terminate") != 0) {
sc_cfg_set("ppp_pdpstate", "dead");
@@ -1469,7 +1469,7 @@
net_sendmsg_2_atctl(c_id, ip46flag, MSG_CMD_LINKDOWN_END);
return 1;
}
- //atserver pdpÈ¥»î ½«default_cidÖÿÕ
+ //atserver pdpȥ�� ��default_cid�ÿ�
else if (0 == strcmp("gateway", pdp_mode)) {
//sc_cfg_set("default_cid", "");
//sc_cfg_set("ps_state", "dead");
@@ -1498,12 +1498,12 @@
/**************************************************************************
-* º¯ÊýÃû³Æ£º netdev_connect_internet
-* ¹¦ÄÜÃèÊö£º webui·¢Ë͵ÄÁ¬½ÓÇëÇó,½Ó¿ÚÄÚ²¿½øÐÐifconfig up£¬²¢Æô¶¯ÏàÓ¦µÄµØÖ··ÖÅä½ø³Ì
-* ²ÎÊý˵Ã÷£º netdev_id£ºÍøÂçÉ豸¶ÔÓ¦µÄºêÃû£¬²Î¼ûUSB_NET_DEVµÈºêÖµ
-* ·µ »Ø Öµ£º ²Ù×÷³É¹¦·µ»Ø1.
-* ÆäËü˵Ã÷£º É豸Ö÷¿ØÄ£¿éµ÷Óô˽ӿÚǰ£¬ÐèÒª¼ì²âµ±Ç°É豸ÎïÀíͨ·ÒÑͨ£¬·ñÔò²»Ó¦¸Ãµ÷Óô˽ӿڣ»
-* Ö÷¿ØÄ£¿éÐèÒªÑÏ¿ØÖظ´µÄµ÷Óøýӿڣ¬ÒòΪÿµ÷ÓÃÒ»´Î¸Ã½Ó¿Ú£¬ÄÚ²¿½Ô»áÖØÐÂÖ´ÐÐÒ»´ÎÍêÕûµÄµØÖ··ÖÅäÁ÷³Ì£»
+* �������ƣ� netdev_connect_internet
+* ���������� webui���͵���������,�ӿ��ڲ�����ifconfig up����������Ӧ�ĵ�ַ�������
+* ����˵���� netdev_id�������豸��Ӧ�ĺ������μ�USB_NET_DEV�Ⱥ�ֵ
+* �� �� ֵ�� �����ɹ�����1.
+* ����˵���� �豸����ģ����ô˽ӿ�ǰ����Ҫ��ǰ�豸����ͨ·��ͨ������Ӧ�õ��ô˽ӿڣ�
+* ����ģ����Ҫ�Ͽ��ظ��ĵ��øýӿڣ���Ϊÿ����һ�θýӿڣ��ڲ��Ի�����ִ��һ�������ĵ�ַ�������̣�
**************************************************************************/
int net_netdev_connect_internet(unsigned char netdev_id)
{
@@ -1538,11 +1538,11 @@
}
/**************************************************************************
-* º¯ÊýÃû³Æ£º netdev_disconnect_internet
-* ¹¦ÄÜÃèÊö£º webui·¢Ë͵ĶϿªÁ¬½ÓÇëÇó,½Ó¿ÚÄÚ²¿½øÐÐifconfig down£¬²¢É±µôÏàÓ¦µÄµØÖ··ÖÅä½ø³Ì
-* ²ÎÊý˵Ã÷£º netdev_id£ºÍøÂçÉ豸¶ÔÓ¦µÄºêÃû£¬²Î¼ûUSB_NET_DEVµÈºêÖµ
-* ·µ »Ø Öµ£º ²Ù×÷³É¹¦·µ»Ø1.
-* ÆäËü˵Ã÷£º É豸Ö÷¿ØÄ£¿éµ÷Óô˽ӿÚ
+* �������ƣ� netdev_disconnect_internet
+* ���������� webui���͵ĶϿ���������,�ӿ��ڲ�����ifconfig down����ɱ����Ӧ�ĵ�ַ�������
+* ����˵���� netdev_id�������豸��Ӧ�ĺ������μ�USB_NET_DEV�Ⱥ�ֵ
+* �� �� ֵ�� �����ɹ�����1.
+* ����˵���� �豸����ģ����ô˽ӿ�
**************************************************************************/
int net_netdev_disconnect_internet(unsigned char netdev_id)
{
@@ -1568,7 +1568,7 @@
else if (0 == strcmp(eth_curtype, "lan")) {
system("landev_updown.sh \"ethwan\" \"down\"");
slog(NET_PRINT, SLOG_NORMAL, "rj45 as lan disconnect end!\n");
- } else { //Ϊ·ÀÖ¹eth_curtypeÅжϳö´íËù×öµÄ¼æÈÝ
+ } else { //Ϊ��ֹeth_curtype�жϳ��������ļ���
system("wan_ipv4.sh \"linkdown\" \"ethwan\"");
if(atoi(wbwanv6_enable) == 1)
system("wan_ipv6.sh \"linkdown\" \"ethwan\"");
@@ -1599,24 +1599,24 @@
}
/**************************************************************************
-* º¯ÊýÃû³Æ£º netdev_plugin_proc
-* ¹¦ÄÜÃèÊö£º ÈȲå°ÎÉ豸²åÈë,½Ó¿ÚÄÚ²¿¼ì²âÊÇ·ñÐèÒª½øÐÐ×Ô¶¯²¦ºÅ£¬ÈçÐèÒª£¬Ö´ÐеØÖ··ÖÅä¡¢×éÍøµÈÁ÷³Ì
-* ²ÎÊý˵Ã÷£º netdev_id£ºÍøÂçÉ豸¶ÔÓ¦µÄºêÃû£¬²Î¼ûUSB_NET_DEVµÈºêÖµ
-* ·µ »Ø Öµ£º ²Ù×÷³É¹¦·µ»Ø1.
-* ÆäËü˵Ã÷£º É豸Ö÷¿Øµ÷Óô˽ӿÚʱ£¬±íÃ÷¸ÃÍøÂçÉ豸ÎïÀíͨ·ÒÑͨ£¬¿ÉÒÔ½øÐÐIPÊý¾Ý°üµÄÊÕ·¢ÁË
+* �������ƣ� netdev_plugin_proc
+* ���������� �Ȳ���豸����,�ӿ��ڲ�����Ƿ���Ҫ�����Զ����ţ�����Ҫ��ִ�е�ַ���䡢����������
+* ����˵���� netdev_id�������豸��Ӧ�ĺ������μ�USB_NET_DEV�Ⱥ�ֵ
+* �� �� ֵ�� �����ɹ�����1.
+* ����˵���� �豸���ص��ô˽ӿ�ʱ�������������豸����ͨ·��ͨ�����Խ���IP���ݰ����շ���
**************************************************************************/
int net_netdev_plugin_proc(unsigned char netdev_id)
{
slog(NET_PRINT, SLOG_NORMAL, "mainctrl:net_netdev_plugin_proc start! netdev_id=%u\n", netdev_id);
openlog("netapi", LOG_CONS | LOG_PID, LOG_DAEMON);
- //USB½ö´æÔÚÓÚÄÚÍøÖÐ
+ //USB��������������
if (netdev_id == USB_LAN_DEV) {
system("landev_updown.sh \"usblan\" \"up\"");
slog(NET_PRINT, SLOG_ERR, "usb as lan plugin end!\n");
}
- //ÈȲå°Î½öÐ迼ÂÇ×Ô¶¯Ä£Ê½£¬²»Ð迼ÂÇÊÖ¹¤²¦ºÅµÄÁ¬½Ó
- //¸Ã·Ö֧ͬʱ´¦ÀíÁËlan/wan/autoÈýÖÖÇé¿ö£¬RJ45_LAN_DEVÔÝʱÎÞ·¨Ê¹ÓÃ
+ //�Ȳ�ν��迼���Զ�ģʽ�����迼���ֹ����ŵ�����
+ //�÷�֧ͬʱ������lan/wan/auto���������RJ45_LAN_DEV��ʱ��ʹ��
else if (netdev_id == RJ45_WAN_DEV || netdev_id == SW_WAN_DEV) {
ethwan_id = netdev_id;
ethwan_plugin();
@@ -1653,11 +1653,11 @@
}
/**************************************************************************
-* º¯ÊýÃû³Æ£º netdev_plugout_proc
-* ¹¦ÄÜÃèÊö£º ÈȲå°ÎÉ豸°Î³ö,½Ó¿ÚÄÚ²¿½øÐÐifconfig down£¬²¢É±µôÏàÓ¦µÄµØÖ··ÖÅä½ø³Ì
-* ²ÎÊý˵Ã÷£º netdev_id£ºÍøÂçÉ豸¶ÔÓ¦µÄºêÃû£¬²Î¼ûUSB_NET_DEVµÈºêÖµ
-* ·µ »Ø Öµ£º ²Ù×÷³É¹¦·µ»Ø1.
-* ÆäËü˵Ã÷£º É豸Ö÷¿Øµ÷Óô˽ӿÚʱ£¬±íÃ÷¸ÃÍøÂçÉ豸ÎïÀíͨ·ÒѶϣ¬²»ÒªÔÙ½øÐÐIPÊý¾Ý°üÊÕ·¢
+* �������ƣ� netdev_plugout_proc
+* ���������� �Ȳ���豸�γ�,�ӿ��ڲ�����ifconfig down����ɱ����Ӧ�ĵ�ַ�������
+* ����˵���� netdev_id�������豸��Ӧ�ĺ������μ�USB_NET_DEV�Ⱥ�ֵ
+* �� �� ֵ�� �����ɹ�����1.
+* ����˵���� �豸���ص��ô˽ӿ�ʱ�������������豸����ͨ·�Ѷϣ���Ҫ�ٽ���IP���ݰ��շ�
**************************************************************************/
int net_netdev_plugout_proc(unsigned char netdev_id)
{
@@ -1667,13 +1667,13 @@
sc_cfg_get("wbwanv6_enable", wbwanv6_enable, sizeof(wbwanv6_enable));
openlog("netapi", LOG_CONS | LOG_PID, LOG_DAEMON);
slog(NET_PRINT, SLOG_NORMAL, "mainctrl:net_netdev_plugout_proc start! netdev_id=%u\n", netdev_id);
- //ÄÚÍøÇŵãÈ¥³ý
+ //�����ŵ�ȥ��
if (netdev_id == USB_LAN_DEV) {
system("landev_updown.sh \"usblan\" \"down\"");
slog(NET_PRINT, SLOG_NORMAL, "usb as lan plugout end!\n");
return 1;
}
- //Ðè񻂿·ÖÄÚÍâÍøÄ£Ê½
+ //��Ҫ����������ģʽ
else if (netdev_id == RJ45_WAN_DEV || netdev_id == SW_WAN_DEV) {
ethwan_id = netdev_id;
ethwan_plugout();
@@ -1711,7 +1711,7 @@
//assert(0);
return 0;
}
- //wifi ifconfig downÓÉÆäÄ£¿é¸ºÔð£¬rj45 °Î³ýÉ豸Ïûʧ£¬ÓÉÇý¶¯¸ºÔð
+ //wifi ifconfig down����ģ�鸺��rj45 �γ��豸��ʧ������������
//memset(cmd, 0, sizeof(cmd));
//sprintf(cmd, "ifconfig %s down" , wan_if);
//system(cmd);
@@ -1721,12 +1721,12 @@
}
/**************************************************************************
-* º¯ÊýÃû³Æ£º net_tc_control
-* ¹¦ÄÜÃèÊö£º Á÷Á¿¿ØÖÆ
-* ²ÎÊý˵Ã÷£º ÐèÒªÁ÷Á¿¼à¿ØµÄÉÏÏÂÐÐÁ¿£¬Êý¾Ý¿¨ÐèÒªÓÐcid£¬ufiģʽ²»ÐèÒª
-* 0±íʾ²»ÐèÒªÁ÷¿Ø
-* ·µ »Ø Öµ£º ²Ù×÷³É¹¦·µ»Ø1.
-* ÆäËü˵Ã÷£º ¸øÐèÒªÁ÷Á¿¿ØÖƵÄÓ¦Óõ÷Óã¬ÈçÉÏÐÐÐèÒªÁ÷¿Ø£¬ÇëµÈÄÜÉÏÍâÍøºóÔÙµ÷Ó㬷ñÔòÎÞ·¨»ñÈ¡ÍâÍø¿Ú½øÐÐÁ÷¿Ø
+* �������ƣ� net_tc_control
+* ���������� ��������
+* ����˵���� ��Ҫ������ص��������������ݿ���Ҫ��cid��ufiģʽ����Ҫ
+* 0��ʾ����Ҫ����
+* �� �� ֵ�� �����ɹ�����1.
+* ����˵���� ����Ҫ�������Ƶ�Ӧ�õ��ã���������Ҫ���أ���������������ٵ��ã���������ȡ�����ڽ�������
**************************************************************************/
int net_tc_control(struct tc_control_info *tcinfo, int src_id)
{
@@ -1740,7 +1740,7 @@
sc_cfg_set("tc_enable", "1");
- /* Á÷Á¿Í³¼ÆÊÇÕë¶ÔByte£¬ËùÒÔÒª³ýÒÔ8 */
+ /* ����ͳ�������Byte������Ҫ����8 */
sprintf(up, "%d", (tcinfo->tc_uplink / 8));
sc_cfg_set("tc_uplink", up);
sprintf(down, "%d", (tcinfo->tc_downlink) / 8);
@@ -1759,7 +1759,7 @@
return 1;
}
-/*PPPÐÎ̬µÄPDP¼¤»î£¬ÔÝʱ½öÖ§³ÖIPV4*/
+/*PPP��̬��PDP�����ʱ��֧��IPV4*/
int pdp_ppp_config(struct pdp_active_info *actinfo)
{
@@ -1802,7 +1802,7 @@
return 1;
}
-/*NORMALÐÎ̬µÄPDP¼¤»îµÄ˫ջµØÖ·±£´æ£¬²¢´¥·¢ÍâÍø¿ÚµØÖ·ÅäÖýű¾*/
+/*NORMAL��̬��PDP�����˫ջ��ַ���棬�����������ڵ�ַ���ýű�*/
int pdp_wan_config(struct pdp_active_info *actinfo)
{
char nv_ip[NV_NAME_LEN] = {0};
@@ -1856,7 +1856,7 @@
return 1;
}
-/*ÇŽÓÀà×éÍøÅäÖã¬CP²àÓÉÓÚPS²»ÊDZê×¢µÄlinuxÒÔÌ«Íø¿ÚÐÎ̬£¬ËùÒÔÐèÒª½øÐж¨ÖÆÂ·ÓÉ£¬ÒÔʵÏÖÍø¿Ú¹ØÁª£»AP²àÖ±½Óbr0¼´¿É*/
+/*�Ž����������ã�CP������PS���DZ�ע��linux��̫������̬��������Ҫ���ж���·�ɣ���ʵ�����ڹ�����AP��ֱ��br0����*/
int pdp_direct_config(struct pdp_active_info *actinfo)
{
char nv_ip[NV_NAME_LEN] = {0};
@@ -1881,7 +1881,7 @@
snprintf(nv_secdns, sizeof(nv_secdns), "%s%d_secdns", ps_wan, actinfo->c_id);
sc_cfg_set(nv_secdns, actinfo->act_info.sec_dns);
snprintf(nv_gw, sizeof(nv_gw), "%s%d_gw", ps_wan, actinfo->c_id);
- //Óû§ÅäÖþ²Ì¬gw
+ //�û����þ�̬gw
if (0 != strcmp(actinfo->act_info.gateway, "")) {
sc_cfg_set(nv_gw, actinfo->act_info.gateway);
}
@@ -1914,7 +1914,7 @@
return 1;
}
-//±£´æPDP¼¤»îµÄÓû§Òâͼ£¬ÒÔ±ãPDPÈ¥»îʱÄܹ»×¼È·ÊÍ·ÅÏà¹ØÍøÂç×ÊÔ´
+//����PDP������û���ͼ���Ա�PDPȥ��ʱ�ܹ�ȷ�ͷ����������Դ
void set_pdp_mode(int c_id, unsigned char pdp_type)
{
char pdp_mode[NV_NAME_LEN] = {0};
@@ -1943,7 +1943,7 @@
}
-//ÉèÖÃPDP¼¤»îµÄ˫ջ֧³ÖÇé¿ö£¬ÒÔ±ãÉèÖÃNORMALÍâÍø¿ÚµÄDNSʱʹÓã»
+//����PDP�����˫ջ֧��������Ա�����NORMAL�����ڵ�DNSʱʹ�ã�
void set_pdp_act_type(int c_id, unsigned char ip46flag)
{
char pdp_act_type[NV_NAME_LEN] = { 0 };
@@ -2007,14 +2007,14 @@
sc_cfg_set("rj45_state", "idle");
sc_cfg_set("eth_curtype", "");
vlan_config(RJ45_WAN_DEV, "add");
- if(strchr(ethwan_name, '.') == NULL)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
- {//Ö»Óе¥phy²ÅÉèÖÃ180s¶¨Ê±Æ÷£¬³¬Ê±»¹Î´»ñÈ¡ipµØÖ·Ôò½«ethwanÌí¼Óbr0ÇÅÏÂ
+ if(strchr(ethwan_name, '.') == NULL)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
+ {//ֻ�е�phy������180s��ʱ������ʱ��δ��ȡip��ַ��ethwan����br0����
creattimer(ðwan_id);
}
system("auto_dial.sh \"ethwan\"");
} else if (0 == strcmp(eth_type, "wan")) {
sc_cfg_set("eth_curtype", "wan");
- if(strchr(ethwan_name, '.') != NULL)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
+ if(strchr(ethwan_name, '.') != NULL)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
{
set_ethwan_port_mode(1);
}
@@ -2023,8 +2023,8 @@
sc_cfg_set("rj45_state", "idle");
if (0 == strcmp(eth_dialmode, "auto") || 0 == strcmp(eth_dialmode, "ondemand")) {
sc_cfg_set("rj45_state", "connect");
- if(strchr(ethwan_name, '.') == NULL)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
- {//Ö»Óе¥phy²ÅÉèÖÃ180s¶¨Ê±Æ÷£¬³¬Ê±»¹Î´»ñÈ¡ipµØÖ·Ôò½«ethwanÌí¼Óbr0ÇÅÏÂ
+ if(strchr(ethwan_name, '.') == NULL)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
+ {//ֻ�е�phy������180s��ʱ������ʱ��δ��ȡip��ַ��ethwan����br0����
creattimer(ðwan_id);
}
system("wan_ipv4.sh \"linkup\" \"ethwan\"");
@@ -2033,7 +2033,7 @@
}
} else if (0 == strcmp(eth_type, "lan")) {
sc_cfg_set("eth_curtype", "lan");
- if(strchr(ethwan_name, '.') != NULL)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
+ if(strchr(ethwan_name, '.') != NULL)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
{
set_ethwan_port_mode(0);
sc_cfg_get("rj45_pluginstate", rj45_pluginstate, sizeof(rj45_pluginstate));
@@ -2060,8 +2060,8 @@
sc_cfg_get("ethwan", ethwan_name, sizeof(ethwan_name));
sc_cfg_get("wanport3_in_lan", lanflag, sizeof(lanflag));
- if(strchr(ethwan_name, '.') != NULL && strcmp(lanflag, "1") == 0)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
- {//switchÐÎ̬ÇÒwan¿Ú¶ÔÓ¦port3ÒѾ¼ÓÈëvlan100,¼´eth0.100ÒѾ´´½¨ÇÒ¹ÒÔÚbr0ÏÂ
+ if(strchr(ethwan_name, '.') != NULL && strcmp(lanflag, "1") == 0)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
+ {//switch��̬��wan�ڶ�Ӧport3�Ѿ�����vlan100,��eth0.100�Ѿ������ҹ���br0��
slog(NET_PRINT, SLOG_NORMAL, "rj45 eth0.100 has been created and mounted to br0!\n");
return;
}
@@ -2094,8 +2094,8 @@
if(atoi(wbwanv6_enable) == 1)
system("wan_ipv6.sh \"linkdown\" \"ethwan\"");
} else if (0 == strcmp(eth_curtype, "lan")) {
- //switchÐÎ̬´ËʱûÓÐeth0.200Íø¿Ú
- if(strchr(ethwan_name, '.') != NULL)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
+ //switch��̬��ʱû��eth0.200����
+ if(strchr(ethwan_name, '.') != NULL)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
{
sc_cfg_get("rj45_pluginstate", rj45_pluginstate, sizeof(rj45_pluginstate));
plugstate = atoi(rj45_pluginstate);
@@ -2120,9 +2120,9 @@
sc_cfg_set("rj45_state", "dead");
vlan_config(RJ45_WAN_DEV, "rem");
- if(strchr(ethwan_name, '.') != NULL)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
+ if(strchr(ethwan_name, '.') != NULL)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
{
- set_ethwan_port_mode(1); //½«switchµÄwan¿Úport3»¹Ô³Éwan£¬·ñÔòÏ´βåÈëport3¿ÉÄÜ»¹ÊÇlan¿Ú
+ set_ethwan_port_mode(1); //��switch��wan��port3��ԭ��wan�������´β���port3���ܻ���lan��
}
}
void ethlan_plugout()
@@ -2132,8 +2132,8 @@
sc_cfg_get("ethwan", ethwan_name, sizeof(ethwan_name));
sc_cfg_get("wanport3_in_lan", lanflag, sizeof(lanflag));
- if(strchr(ethwan_name, '.') != NULL && strcmp(lanflag, "1") == 0)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
- {//switchÐÎ̬ÇÒwan¿Ú¶ÔÓ¦port3ÒѾ¼ÓÈëvlan100,¼´eth0.100Ï»¹ÓÐport3¶Ë¿Ú£¬ËùÒÔ»¹²»ÄÜɾ³ýeth0.100
+ if(strchr(ethwan_name, '.') != NULL && strcmp(lanflag, "1") == 0)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
+ {//switch��̬��wan�ڶ�Ӧport3�Ѿ�����vlan100,��eth0.100�»���port3�˿ڣ����Ի�����ɾ��eth0.100
slog(NET_PRINT, SLOG_NORMAL, "rj45 eth0.100 has been created and mounted to br0!\n");
return;
}
@@ -2155,13 +2155,13 @@
}
-/*rj45 ÍâÍø¿Úʱ£¬¸ù¾Ýµ±Ç°×´Ì¬£¬ÈôΪworking or init or nullÔòÏÈlinkdown£¬É±ËÀÏà¹Ø½ø³Ì£¬È»ºóÆôÓã»ÈôΪdeadÔòÖ±½ÓÆôÓÃ*/
+/*rj45 ������ʱ�����ݵ�ǰ״̬����Ϊworking or init or null����linkdown��ɱ����ؽ��̣�Ȼ�����ã���Ϊdead��ֱ������*/
void eth_connect()
{
char ethwan_name[NV_NAME_LEN] = {0};
char eth_curtype[NV_NAME_LEN] = {0};
char work_state[NV_NAME_LEN] = {0};
- //rj45Ö§³Öwan/lan¹¦ÄÜ£¬¿ÉÑ¡Ôñ³ÉΪÍâÍø¿Ú»òÄÚÍø¿Ú
+ //rj45֧��wan/lan���ܣ���ѡ���Ϊ�����ڻ�������
char wbwanv6_enable[NV_NAME_LEN] = {0};
sc_cfg_get("wbwanv6_enable", wbwanv6_enable, sizeof(wbwanv6_enable));
vlan_config(RJ45_WAN_DEV, "add");
@@ -2170,16 +2170,16 @@
if (0 == strcmp(eth_curtype, "lan")) {
system("landev_updown.sh \"ethwan\" \"up\"");
slog(NET_PRINT, SLOG_NORMAL, "rj45 as lan connect end!\n");
- } else { // ĬÈÏ×÷Ϊwan¿Ú´¦Àí
+ } else { // Ĭ����Ϊwan�ڴ���
sc_cfg_get("rj45_state", work_state, sizeof(work_state));
- //work_state=deadÔòµ±Ç°´¦ÓÚ¶Ï¿ª×´Ì¬£¬Ö±½Ólinkup£¬ÆäËû×´¿öÏÈlinkdown
+ //work_state=dead��ǰ���ڶϿ�״̬��ֱ��linkup������״����linkdown
if (0 == strcmp(work_state, "connect") || 0 == strcmp(work_state, "working")) {
system("wan_ipv4.sh \"linkdown\" \"ethwan\"");
if(atoi(wbwanv6_enable) == 1)
system("wan_ipv6.sh \"linkdown\" \"ethwan\"");
sc_cfg_set("rj45_state", "connect");
- if(strchr(ethwan_name, '.') == NULL)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
- {//Ö»Óе¥phy²ÅÉèÖÃ180s¶¨Ê±Æ÷£¬³¬Ê±»¹Î´»ñÈ¡ipµØÖ·Ôò½«ethwanÌí¼Óbr0ÇÅÏÂ
+ if(strchr(ethwan_name, '.') == NULL)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
+ {//ֻ�е�phy������180s��ʱ������ʱ��δ��ȡip��ַ��ethwan����br0����
creattimer(ðwan_id);
}
system("wan_ipv4.sh \"linkup\" \"ethwan\"");
@@ -2187,8 +2187,8 @@
system("wan_ipv6.sh \"linkup\" \"ethwan\"");
} else if (0 == strcmp(work_state, "idle")) {
sc_cfg_set("rj45_state", "connect");
- if(strchr(ethwan_name, '.') == NULL)//¸ù¾ÝnvÏîethwanÖµÊÇ·ñÓÐ'.'À´ÅжÏÊÇswitch»¹Êǵ¥phy
- {//Ö»Óе¥phy²ÅÉèÖÃ180s¶¨Ê±Æ÷£¬³¬Ê±»¹Î´»ñÈ¡ipµØÖ·Ôò½«ethwanÌí¼Óbr0ÇÅÏÂ
+ if(strchr(ethwan_name, '.') == NULL)//����nv��ethwanֵ�Ƿ���'.'���ж���switch���ǵ�phy
+ {//ֻ�е�phy������180s��ʱ������ʱ��δ��ȡip��ַ��ethwan����br0����
creattimer(ðwan_id);
}
system("wan_ipv4.sh \"linkup\" \"ethwan\"");
@@ -2203,7 +2203,7 @@
}
-//wifi stationÍâÍø¿ÚµÄµØÖ··ÖÅäÇëÇóÁ÷³Ì£¬Èô֮ǰÒѾ´¦ÓÚworking̬£¬ÐèÒªÏÈÇå³ýËùÓÐ×ÊÔ´
+//wifi station�����ڵĵ�ַ�����������̣���֮ǰ�Ѿ�����working̬����Ҫ�����������Դ
void wifi_connect()
{
char work_state[NV_NAME_LEN] = {0};
@@ -2265,7 +2265,7 @@
// sc_cfg_set("wan_name", wanif);
slog(NET_PRINT, SLOG_NORMAL, "set default_wan_name = %s \n", wanif);
- //Èç¹ûĬÈÏÍâÍø¿ÚÊǶÔÐÒéÕ»µÄ£¬ÐèÒª½«Íø¿ÚÃû´«µÝ¸øÄÚºËʵÏÖ¿ìËÙת·¢Æ½Ì¨»°
+ //���Ĭ���������Ƕ�Э��ջ�ģ���Ҫ�����������ݸ��ں�ʵ�ֿ���ת��ƽ̨��
if (strncmp(wanif, ps_wan, strlen(ps_wan)) == 0) {
memset(cmd_test, 0, sizeof(cmd_test));
sprintf(cmd_test, "echo %s > /proc/net/ps_name", wanif);
@@ -2339,14 +2339,14 @@
//sprintf(nv_usbwan,"%s_ip", usb_wan);
//sc_cfg_get(nv_usbwan, usbwan_ip, sizeof(usbwan_ip));
- //¶ÔÓÚswÍø¿Ú£¬ethwanµÄÉèÖÃÊÇÔÚÈȲ岥ʱÉèÖõģ¬ÔÚzte_routerÆô¶¯£¬
- //³õʼ»¯eth_wanʱ£¬ÓпÉÄÜÉÐδÍê³É¸ÃÉèÖã¬Òò´ËÐèÒªÖØÐ»ñÈ¡É豸Ãû
+ //����sw���ڣ�ethwan�����������Ȳ岥ʱ���õģ���zte_router������
+ //��ʼ��eth_wanʱ���п�����δ��ɸ����ã������Ҫ���»�ȡ�豸��
sc_cfg_get("ethwan", eth_wan, sizeof(eth_wan));
snprintf(nv_ethwan, sizeof(nv_ethwan), "%s_ip", eth_wan);
sc_cfg_get(nv_ethwan, ethwan_ip, sizeof(ethwan_ip));
snprintf(nv_wifiwan, sizeof(nv_wifiwan), "%s_ip", wifi_wan);
sc_cfg_get(nv_wifiwan, wifiwan_ip, sizeof(wifiwan_ip));
- //sc_cfg_get("wlan0_ip", wifiwan_ip, sizeof(wifiwan_ip));//wlan0ÊÊÅä
+ //sc_cfg_get("wlan0_ip", wifiwan_ip, sizeof(wifiwan_ip));//wlan0����
sc_cfg_get("default_cid", cid, sizeof(cid));
if (0 != strcmp(cid, "")) {
@@ -2393,12 +2393,12 @@
}
}
- //½«µ±Ç°ÓÐÐ§Íø¿ÚÖÐÓÅÏȼ¶×î¸ßµÄÉèÖÃΪȱʡÍâÍø¿Ú
+ //����ǰ��Ч���������ȼ���ߵ�����Ϊȱʡ������
set_def_wan(defwan_if, defwan_real);
slog(NET_PRINT, SLOG_NORMAL, "proc_wan_change_v4 old:%s, now:%s! \n", defwan_if_old, defwan_real);
- //½«È±Ê¡ÍâÍø¿ÚµÄdev_id·¢Ë͸øÖ÷¿Ø
+ //��ȱʡ�����ڵ�dev_id��������
//if (strlen(defwan_dev_name) == 0 || 0 != strcmp(defwan_if_old, defwan_real))
{
defwan_dev_info.dev_id = getDevId_byname(defwan_dev_name);
@@ -2419,7 +2419,7 @@
if (strcmp(defwan_if_old, defwan_real) != 0)
defwan_change = 1;
- //Êý¾ÝÏÈͨ£¬ºó×öÆäËûÅäÖã¬×¢Òâµã: ·À»ðǽ¶Ìʱ¼äÄÚ¿ÉÄÜδÉúЧ
+ //������ͨ�������������ã�ע���: ����ǽ��ʱ���ڿ���δ��Ч
#ifndef USE_CAP_SUPPORT
if (defwan_change)
#endif
@@ -2429,7 +2429,7 @@
system("cat /proc/uptime 1>dev/console 2>&1");
slog(NET_PRINT, SLOG_NORMAL, "proc_wan_change_v4 data ok, defwan_change:%d \n", defwan_change);
- //ȱʡÍâÍø¿Ú·¢Éú±ä»¯ÔòÖØÉènatºÍfilter
+ //ȱʡ�����ڷ����仯������nat��filter
if (defwan_change) {
zte_router_init();
//dns_set(defwan_if);
@@ -2533,7 +2533,7 @@
}
set_def_wan6(defwan_if_ipv6, defwan_real_ipv6);
- //½«È±Ê¡ÍâÍø¿ÚµÄdev_id·¢Ë͸øÖ÷¿Ø
+ //��ȱʡ�����ڵ�dev_id��������
//if (strlen(defwan_dev_name) == 0 || strcmp(defwan6_if_old, defwan_real_ipv6)!=0)
{
defwan_dev_info.dev_id = getDevId_byname(defwan_dev_name);
@@ -2565,7 +2565,7 @@
}
}
}
- //Êý¾ÝÏÈͨ£¬ºó×öÆäËûÅäÖã¬×¢Òâµã: ·À»ðǽ¶Ìʱ¼äÄÚ¿ÉÄÜδÉúЧ
+ //������ͨ�������������ã�ע���: ����ǽ��ʱ���ڿ���δ��Ч
if (0 == strcmp(defwan_if_ipv6, eth_wan) && atoi(wbwanv6_enable) == 1)
system("wan_ipv6_config.sh \"ethwan\"");
else if (0 == strcmp(defwan_if_ipv6, wifi_wan) && atoi(wbwanv6_enable) == 1)
@@ -2578,7 +2578,7 @@
system("cat /proc/uptime 1>dev/console 2>&1");
slog(NET_PRINT, SLOG_NORMAL, "proc_wan_change_v6 data ok \n");
- //Èç¹ûĬÈÏwan¿ÚÓб䣬ÐèÒªÖØÐÂÅäÖ÷ÓÉ¡¢·À»ðǽµÈÐÅÏ¢
+ //���Ĭ��wan���б䣬��Ҫ��������·�ɡ�����ǽ����Ϣ
if (strcmp(defwan6_if_old, defwan_real_ipv6) != 0) {
zte_router_init();
memset(defwan6_if_old, 0, ZTE_ROUTER_WAN_IF_NAME_LEN);
@@ -2615,7 +2615,7 @@
return;
}
}
-//µ±³¬Ê±ºó£¬ÍøÂçÄÚ²¿Í£Ö¹µØÖ·ÇëÇóÏà¹Ø¶¯×÷£¬²¢·¢ËÍÏûÏ¢¸øÖ÷¿Ø
+//����ʱ�������ڲ�ֹͣ��ַ������ض�������������Ϣ������
void out_of_time(unsigned char netdev_id)
{
struct dialfail_dev_info dialfail_dev_info = {0};
@@ -2657,7 +2657,7 @@
ipc_send_message(MODULE_ID_MAIN_CTRL, MODULE_ID_WIFI, MSG_CMD_NET_WAN_DIAL_FAIL, 0, NULL, 0);
}
- //Á¬½Ó³¬Ê±Ö®ºó·¢ËÍÏûÏ¢¸øÖ÷¿Ø
+ //���ӳ�ʱ֮������Ϣ������
sprintf(tmp_name, "zte_blc");
slog(NET_PRINT, SLOG_ERR, "out_of_time: send MSG_CMD_NET_WAN_DIAL_FAIL msg to mainctl,netdev_id=%u\n", dialfail_dev_info.dev_id);
diff --git a/ap/build/jffs2_lzma.sh b/ap/build/jffs2_lzma.sh
index ec42243..e98373d 100755
--- a/ap/build/jffs2_lzma.sh
+++ b/ap/build/jffs2_lzma.sh
@@ -1,13 +1,28 @@
#!/bin/bash
-
-if [ x"$PAGESIZE" = x"" ]; then
- PAGESIZE=0x800
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+if [ x"$4" = x"lynq" ]; then
+ echo "lynq nand type"
+ if [ x"$LYNQ_NAND_TYPE" = x"M22" ]; then
+ NAND_PAGESIZE=$LYNQ_M22_PAGESIZE
+ NAND_ERASEBLOCK=$LYNQ_M22_ERASEBLOCK
+ else
+ NAND_PAGESIZE=$PAGESIZE
+ NAND_ERASEBLOCK=$ERASEBLOCK
+ fi
+else
+ echo "default nand type"
+ NAND_PAGESIZE=$PAGESIZE
+ NAND_ERASEBLOCK=$ERASEBLOCK
fi
-if [ x"$ERASEBLOCK" = x"" ]; then
- ERASEBLOCK=0x20000
+if [ x"$NAND_PAGESIZE" = x"" ]; then
+ NAND_PAGESIZE=0x800
fi
+if [ x"$NAND_ERASEBLOCK" = x"" ]; then
+ NAND_ERASEBLOCK=0x20000
+fi
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
JFFS2_COMPRESS_TYPE=$3
COMPR_OPT="-X lzma"
@@ -18,8 +33,9 @@
if [ x"$JFFS2_COMPRESS_TYPE" = x"lzo" ]; then
COMPR_OPT="-X lzo"
fi
-
-mkfs.jffs2_lzma -v $COMPR_OPT --pagesize=$PAGESIZE --eraseblock=$ERASEBLOCK --little-endian --no-cleanmarkers --squash -d $1 -o $2
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+mkfs.jffs2_lzma -v $COMPR_OPT --pagesize=$NAND_PAGESIZE --eraseblock=$NAND_ERASEBLOCK --little-endian --no-cleanmarkers --squash -d $1 -o $2
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
if [ $? -ne 0 ]; then
echo "mkfs.jffs2_lzma error"
exit -1
diff --git a/ap/project/zx297520v3/prj_vehicle_dc_ref/build/config.mk b/ap/project/zx297520v3/prj_vehicle_dc_ref/build/config.mk
index 345df0e..570b686 100755
--- a/ap/project/zx297520v3/prj_vehicle_dc_ref/build/config.mk
+++ b/ap/project/zx297520v3/prj_vehicle_dc_ref/build/config.mk
@@ -30,7 +30,12 @@
# pagesize 2K and block size 128K default
export PAGESIZE=0x1000
export ERASEBLOCK=0x40000
-
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+#lynq_nand_type only for jffs2
+export LYNQ_NAND_TYPE=M22
+export LYNQ_M22_PAGESIZE=0x800
+export LYNQ_M22_ERASEBLOCK=0x20000
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
# yes is debug mode,other value is release mode.
export GLOBAL_DEBUG=no
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/conf/distro/include/nand-config-default.inc b/cap/zx297520v3/sources/meta-zxic-custom/conf/distro/include/nand-config-default.inc
index 439b293..fe9fc43 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/conf/distro/include/nand-config-default.inc
+++ b/cap/zx297520v3/sources/meta-zxic-custom/conf/distro/include/nand-config-default.inc
@@ -2,9 +2,19 @@
ERASEBLOCK = "0x40000"
UBI_LEB_SIZE = "253952"
UBI_IMAGE_SEQ = "1024"
-
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+LYNQ_M22_PAGESIZE = "0x800"
+LYNQ_M22_ERASEBLOCK = "0x20000"
+LYNQ_M22_UBI_LEB_SIZE = "126976"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
#rootfs ubi参数配置
#MKUBIFS_ARGS = "-m ${PAGESIZE} -e ${UBI_LEB_SIZE} -c 122 -x zlib -F"
UBINIZE_ARGS = "-m ${PAGESIZE} -p ${ERASEBLOCK} -s ${PAGESIZE} -Q ${UBI_IMAGE_SEQ}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+LYNQ_M22_UBINIZE_ARGS = "-m ${LYNQ_M22_PAGESIZE} -p ${LYNQ_M22_ERASEBLOCK} -s ${LYNQ_M22_PAGESIZE} -Q ${UBI_IMAGE_SEQ}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
#userdata ubi参数配置
USERDATA_UBINIZE_ARGS = "${UBINIZE_ARGS}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+LYNQ_M22_USERDATA_UBINIZE_ARGS = "${LYNQ_M22_UBINIZE_ARGS}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf b/cap/zx297520v3/sources/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf
index edb2de4..0ff4c1a 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf
+++ b/cap/zx297520v3/sources/meta-zxic-custom/conf/distro/vehicle_dc_ref.conf
@@ -51,7 +51,9 @@
# storage type: nand or emmc
STRORAGE_TYPE = "nand"
-STRORAGE_CONF = "nand-config-4k"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+STRORAGE_CONF = "nand-config-default"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
require conf/distro/include/${STRORAGE_CONF}.inc
#rootfs文件系统类型
@@ -469,6 +471,9 @@
#xf.li@20240716 add for MOBILETEK_LOG_ENCRYPT value: "enable","disable"
MOBILETEK_LOG_ENCRYPT = "disable"
+#xf.li@20250123 add for M22 SDK value (support M22 or not): "M22", "default"
+MOBILETEK_NAND_TYPE = "M22"
+
LYNQ_CONFIG_COMMITID = "e2a3410390ff0ad762462ccb6af8faa5e16dcd61"
LYNQ_CONFIG_VERSION = "T106_ap_version_cap_0425"
LYNQ_CONFIG_SW_VERSION = "T106_ap_version_MR3.02b06.00"
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-core/images/zxic-image.bb b/cap/zx297520v3/sources/meta-zxic-custom/recipes-core/images/zxic-image.bb
index bce89e6..ef3cdd5 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-core/images/zxic-image.bb
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-core/images/zxic-image.bb
@@ -147,6 +147,11 @@
cp -arfp ${BSPDIR}/sources/meta-zxic-custom/conf/distro/include/${USERDATA_UBINIZE_CFG} ${B}
mkdir -p ${BINS-PATH}
${B}/ubinize-cfg.sh "${BINS-PATH}/${USEDATA_FS_NAME}" "${B}/${USERDATA_UBINIZE_CFG}" "${USERDATA_UBINIZE_ARGS}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+if ${@bb.utils.contains('MOBILETEK_NAND_TYPE','M22','true','false',d)}; then
+ ${B}/ubinize-cfg.sh "${BINS-PATH}/ap_capuserdata_M22.img" "${B}/${USERDATA_UBINIZE_CFG}" "${LYNQ_M22_USERDATA_UBINIZE_ARGS}"
+fi
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
mkdir -p ${IMAGE_ROOTFS}/etc_ro/
cp -v "${BINS-PATH}/${USEDATA_FS_NAME}" ${IMAGE_ROOTFS}/etc_ro/
fi
@@ -207,6 +212,11 @@
cp -arfp ${BSPDIR}/sources/meta-zxic-custom/conf/distro/include/${OEMDATA_UBINIZE_CFG} ${B}
mkdir -p ${BINS-PATH}
${B}/ubinize-cfg.sh "${BINS-PATH}/${OEMDATA_FS_NAME}" "${B}/${OEMDATA_UBINIZE_CFG}" "${USERDATA_UBINIZE_ARGS}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+if ${@bb.utils.contains('MOBILETEK_NAND_TYPE','M22','true','false',d)}; then
+ ${B}/ubinize-cfg.sh "${BINS-PATH}/cap_oemdata_M22.img" "${B}/${OEMDATA_UBINIZE_CFG}" "${LYNQ_M22_USERDATA_UBINIZE_ARGS}"
+fi
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
mkdir -p ${IMAGE_ROOTFS}/etc_ro/
cp -v "${BINS-PATH}/${OEMDATA_FS_NAME}" ${IMAGE_ROOTFS}/etc_ro/
fi
@@ -234,12 +244,21 @@
${S}/squashfs_dm-verity.sh ${S}/${ROOT_FS_NAME}.unsigned ${S} \
${BINS-PATH}/ap_caprootfs.img.dm ${SIGNIMAGE_PRIVATE_KEY} ${BSPDIR}/tools/SignTool/SignImage
${S}/ubinize-static.sh vol_rootfs "${BINS-PATH}/ap_caprootfs.img" ${BINS-PATH}/ap_caprootfs.img.dm "${UBINIZE_ARGS}"
-
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+if ${@bb.utils.contains('MOBILETEK_NAND_TYPE','M22','true','false',d)}; then
+ ${S}/ubinize-static.sh vol_rootfs "${BINS-PATH}/ap_caprootfs_M22.img" ${BINS-PATH}/ap_caprootfs.img.dm "${LYNQ_M22_UBINIZE_ARGS}"
+fi
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
if ${@bb.utils.contains('DISTRO_FEATURES','oemfs','true','false',d)}; then
rm -fv ${BINS-PATH}/cap_oem.img.dm
${B}/squashfs_dm-verity.sh ${S}/cap_oem.img.unsigned ${B} \
${BINS-PATH}/cap_oem.img.dm ${SIGNIMAGE_PRIVATE_KEY} ${BSPDIR}/tools/SignTool/SignImage
${B}/ubinize-static.sh vol_oem "${BINS-PATH}/cap_oem.img" ${BINS-PATH}/cap_oem.img.dm "${UBINIZE_ARGS}"
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_START
+if ${@bb.utils.contains('MOBILETEK_NAND_TYPE','M22','true','false',d)}; then
+ ${B}/ubinize-static.sh vol_oem "${BINS-PATH}/cap_oem_M22.img" ${BINS-PATH}/cap_oem.img.dm "${LYNQ_M22_UBINIZE_ARGS}"
+fi
+#LYNQ_MODIFY_ZXW_TASK944_XF.Li_20250123_END
fi
fi
}