Merge "[Feature][T106]version update to T106CN-ZS03.V2.01.01.02P50U04.AP.08.01_CAP.08.01"
diff --git a/ap/app/zte_comm/at_ctl/src/atconfig/ps_normal.c b/ap/app/zte_comm/at_ctl/src/atconfig/ps_normal.c
index a814119..dec4edf 100755
--- a/ap/app/zte_comm/at_ctl/src/atconfig/ps_normal.c
+++ b/ap/app/zte_comm/at_ctl/src/atconfig/ps_normal.c
@@ -117,6 +117,14 @@
void *p[5] = {&timeinfo.time_zone, &timeinfo.sav_time, temp1, temp2, timeinfo.univer_time};
int time_zone = 0;
+ //>>>sj.zhang add @2023-08-10 for systime NITZ sync enable/disenable.
+ if(0 != system("uci get lynq_uci.lynq_sync_time.lynq_modem_sync_time_enable | grep -E \'^1$\'"))
+ {
+ at_print(AT_ERR,"zmmi_auto_act: nitz disenabled. \n");
+ return AT_END;
+ }
+ //>>>sj.zhang add @2023-08-10 end.
+
#ifndef USE_CAP_SUPPORT
sc_cfg_get("sntp_time_set_mode", mode, sizeof(mode));
if (strcmp(mode, "manual") == 0)
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-core/images/files/squashfs_dm-verity.sh b/cap/zx297520v3/sources/meta-zxic-custom/recipes-core/images/files/squashfs_dm-verity.sh
index f7ff653..9e504f7 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-core/images/files/squashfs_dm-verity.sh
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-core/images/files/squashfs_dm-verity.sh
@@ -4,18 +4,17 @@
WORK_DIR=$2
OUT_FILE=$3
PRIV_KEY=$4
-SignImage=$5
VERITY_DIR=$WORK_DIR/verity
-rm -rf $VERITY_DIR $OUT_FILE $OUT_FILE.pad
+rm -rf $VERITY_DIR/raw_table $VERITY_DIR/hash_tree $VERITY_DIR/sign
mkdir -p $VERITY_DIR
# 1.pad
let size="$(stat -c%s $IN_FILE)" pad="128*1024" offset="0" pad="(pad - ((size + offset) % pad)) % pad" newsize='size + pad'
echo $size $newsize
dd if=$IN_FILE of=$OUT_FILE bs=$newsize count=1 conv=sync
-#cp -v $OUT_FILE $OUT_FILE.pad
+cp -v $OUT_FILE $OUT_FILE.pad
# 2. gen raw_table and hash_tree
veritysetup format $OUT_FILE $VERITY_DIR/hash_tree > $VERITY_DIR/raw_table
@@ -25,16 +24,14 @@
fi
# 3. gen signature of raw_table
-#openssl dgst -sha256 -binary -sign $PRIV_KEY $VERITY_DIR/raw_table > $VERITY_DIR/sign
-$SignImage -i $VERITY_DIR/raw_table -o $VERITY_DIR/raw_table.signed -k $PRIV_KEY
+openssl dgst -sha256 -binary -sign $PRIV_KEY $VERITY_DIR/raw_table > $VERITY_DIR/sign
if [ $? -ne 0 ]; then
echo "generate squashfs dm-verity sign error!"
exit 1
fi
-dd if=$VERITY_DIR/raw_table.signed of=$VERITY_DIR/sign bs=640 count=1 status=none
# 4. padding sign, raw_table and hash_tree to input file
-$WORK_DIR/zxic_generate_squashfs_verity $OUT_FILE $VERITY_DIR/sign $VERITY_DIR/raw_table $VERITY_DIR/hash_tree
+$WORK_DIR/generate_squashfs_verity $OUT_FILE $VERITY_DIR/sign $VERITY_DIR/raw_table $VERITY_DIR/hash_tree
if [ $? -ne 0 ]; then
echo "generate squashfs dm-verity error!"
exit 1
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp
index dabfb0e..8ef97ca 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp
@@ -20,6 +20,7 @@
int (*qser_nw_get_operator_name_p)(nw_client_handle_type h_nw, QSER_NW_OPERATOR_NAME_INFO_T *pt_info );
int (*qser_nw_get_reg_status_p)(nw_client_handle_type h_nw, QSER_NW_REG_STATUS_INFO_T *pt_info);
int (*qser_nw_add_rx_msg_handler_p)(nw_client_handle_type h_nw, QSER_NW_RxMsgHandlerFunc_t handlerPtr,void* contextPtr);
+int (*qser_nw_get_signal_strength_p)(nw_client_handle_type h_nw,QSER_NW_SIGNAL_STRENGTH_INFO_T *pt_info);
int getFunc()
{
@@ -37,6 +38,7 @@
qser_nw_set_config_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_CONFIG_INFO_T *pt_info))dlsym(handle_network,"qser_nw_set_config");
qser_nw_get_operator_name_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_OPERATOR_NAME_INFO_T *pt_info ))dlsym(handle_network,"qser_nw_get_operator_name");
qser_nw_get_reg_status_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_REG_STATUS_INFO_T *pt_info))dlsym(handle_network,"qser_nw_get_reg_status");
+ qser_nw_get_signal_strength_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_SIGNAL_STRENGTH_INFO_T *pt_info))dlsym(handle_network,"qser_nw_get_signal_strength");
qser_nw_add_rx_msg_handler_p = (int (*)(nw_client_handle_type h_nw, QSER_NW_RxMsgHandlerFunc_t handlerPtr,void* contextPtr))dlsym(handle_network,"qser_nw_add_rx_msg_handler");
if(qser_nw_client_deinit_p==NULL || qser_nw_client_init_p==NULL || qser_nw_set_config_p ==NULL ||
@@ -74,8 +76,9 @@
{1, "qser_nw_set_config"},
{2, "qser_nw_get_operator_name"},
{3, "qser_nw_get_reg_status"},
- {4, "qser_nw_client_deinit"},
- {5, "qser_nw_add_rx_msg_handler"},
+ {4, "qser_nw_add_rx_msg_handler"},
+ {5, "qser_nw_get_signal_strength"},
+ {6, "qser_nw_client_deinit"},
{-1, "quit"}
};
@@ -311,131 +314,172 @@
}
switch(cmdIdx)
{
- case 0://"qser_nw_client_init"
- {
-
- ret = qser_nw_client_init_p(&h_nw);
- printf("qser_nw_client_init ret = %d\n", ret);
- break;
- }
- case 1://"qser_nw_set_config"
- {
- QSER_NW_CONFIG_INFO_T t_info = {0};
-
- int mask = 0;
- printf("please input decimal format number, whose hex format is (TDSCDMA | LTE | EVDO | CDMA | WCDMA | GSM) : \n");
- scanf("%d", &mask);
- t_info.preferred_nw_mode = mask;
-
- ret = qser_nw_set_config_p(h_nw, &t_info);
- printf("qser_nw_set_config ret = %d\n", ret);
- break;
- }
- case 2://"qser_nw_get_operator_name"
- {
- QSER_NW_OPERATOR_NAME_INFO_T t_info;
- ret = qser_nw_get_operator_name_p(h_nw, &t_info);
- printf("qser_nw_get_operator_name ret = %d, long_eons=%s, short_eons=%s, mcc=%s, mnc=%s\n", ret,
- t_info.long_eons, t_info.short_eons, t_info.mcc, t_info.mnc);
- break;
- }
- case 3://"qser_nw_get_reg_status"
- {
- QSER_NW_REG_STATUS_INFO_T t_info;
-
- memset(&t_info, 0, sizeof(QSER_NW_REG_STATUS_INFO_T));
- ret = qser_nw_get_reg_status_p(h_nw, &t_info);
- printf("qser_nw_get_reg_status ret = %d, detail info:\n", ret);
- if(t_info.voice_registration_valid)
- {
- printf("voice_registration: \ntech_domain=%s, radio_tech=%s, roaming=%d, registration_state=%d\n",
- tech_domain[t_info.voice_registration.tech_domain],
- radio_tech[t_info.voice_registration.radio_tech],
- t_info.voice_registration.roaming,
- t_info.voice_registration.registration_state);
- }
- if(t_info.data_registration_valid)
- {
- printf("data_registration: \ntech_domain=%s, radio_tech=%s, roaming=%d, registration_state=%d\n",
- tech_domain[t_info.data_registration.tech_domain],
- radio_tech[t_info.data_registration.radio_tech],
- t_info.data_registration.roaming,
- t_info.data_registration.registration_state);
- }
- if(t_info.voice_registration_details_3gpp_valid)
- {
- printf("voice_registration_details_3gpp: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, cid=0x%X, lac=%d, psc=%d, tac=%d\n",
- tech_domain[t_info.voice_registration_details_3gpp.tech_domain],
- radio_tech[t_info.voice_registration_details_3gpp.radio_tech],
- t_info.voice_registration_details_3gpp.mcc,
- t_info.voice_registration_details_3gpp.mnc,
- t_info.voice_registration_details_3gpp.roaming,
- t_info.voice_registration_details_3gpp.forbidden,
- t_info.voice_registration_details_3gpp.cid,
- t_info.voice_registration_details_3gpp.lac,
- t_info.voice_registration_details_3gpp.psc,
- t_info.voice_registration_details_3gpp.tac);
- }
- if(t_info.data_registration_details_3gpp_valid)
- {
- printf("data_registration_details_3gpp: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, cid=0x%X, lac=%d, psc=%d, tac=%d\n",
- tech_domain[t_info.data_registration_details_3gpp.tech_domain],
- radio_tech[t_info.data_registration_details_3gpp.radio_tech],
- t_info.data_registration_details_3gpp.mcc,
- t_info.data_registration_details_3gpp.mnc,
- t_info.data_registration_details_3gpp.roaming,
- t_info.data_registration_details_3gpp.forbidden,
- t_info.data_registration_details_3gpp.cid,
- t_info.data_registration_details_3gpp.lac,
- t_info.data_registration_details_3gpp.psc,
- t_info.data_registration_details_3gpp.tac);
- }
-
- if(t_info.voice_registration_details_3gpp2_valid)
- {
- printf("voice_registration_details_3gpp2: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, sid=%d, nid=%d, bsid=%d\n",
- tech_domain[t_info.voice_registration_details_3gpp2.tech_domain],
- radio_tech[t_info.voice_registration_details_3gpp2.radio_tech],
- t_info.voice_registration_details_3gpp2.mcc,
- t_info.voice_registration_details_3gpp2.mnc,
- t_info.voice_registration_details_3gpp2.roaming,
- t_info.voice_registration_details_3gpp2.forbidden,
- t_info.voice_registration_details_3gpp2.sid,
- t_info.voice_registration_details_3gpp2.nid,
- t_info.voice_registration_details_3gpp2.bsid);
- }
-
- if(t_info.data_registration_details_3gpp2_valid)
- {
- printf("data_registration_details_3gpp2: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, sid=%d, nid=%d, bsid=%d\n",
- tech_domain[t_info.data_registration_details_3gpp2.tech_domain],
- radio_tech[t_info.data_registration_details_3gpp2.radio_tech],
- t_info.data_registration_details_3gpp2.mcc,
- t_info.data_registration_details_3gpp2.mnc,
- t_info.data_registration_details_3gpp2.roaming,
- t_info.data_registration_details_3gpp2.forbidden,
- t_info.data_registration_details_3gpp2.sid,
- t_info.data_registration_details_3gpp2.nid,
- t_info.data_registration_details_3gpp2.bsid);
- }
+ case 0://"qser_nw_client_init"
+ {
+
+ ret = qser_nw_client_init_p(&h_nw);
+ printf("qser_nw_client_init ret = %d\n", ret);
+ break;
+ }
+ case 1://"qser_nw_set_config"
+ {
+ QSER_NW_CONFIG_INFO_T t_info = {0};
+
+ int mask = 0;
+ printf("please input decimal format number, whose hex format is (TDSCDMA | LTE | EVDO | CDMA | WCDMA | GSM) : \n");
+ scanf("%d", &mask);
+ t_info.preferred_nw_mode = mask;
+
+ ret = qser_nw_set_config_p(h_nw, &t_info);
+ printf("qser_nw_set_config ret = %d\n", ret);
+ break;
+ }
+ case 2://"qser_nw_get_operator_name"
+ {
+ QSER_NW_OPERATOR_NAME_INFO_T t_info;
+ ret = qser_nw_get_operator_name_p(h_nw, &t_info);
+ printf("qser_nw_get_operator_name ret = %d, long_eons=%s, short_eons=%s, mcc=%s, mnc=%s\n", ret,
+ t_info.long_eons, t_info.short_eons, t_info.mcc, t_info.mnc);
+ break;
+ }
+ case 3://"qser_nw_get_reg_status"
+ {
+ QSER_NW_REG_STATUS_INFO_T t_info;
+
+ memset(&t_info, 0, sizeof(QSER_NW_REG_STATUS_INFO_T));
+ ret = qser_nw_get_reg_status_p(h_nw, &t_info);
+ printf("qser_nw_get_reg_status ret = %d, detail info:\n", ret);
+ if(t_info.voice_registration_valid)
+ {
+ printf("voice_registration: \ntech_domain=%s, radio_tech=%s, roaming=%d, registration_state=%d\n",
+ tech_domain[t_info.voice_registration.tech_domain],
+ radio_tech[t_info.voice_registration.radio_tech],
+ t_info.voice_registration.roaming,
+ t_info.voice_registration.registration_state);
+ }
+ if(t_info.data_registration_valid)
+ {
+ printf("data_registration: \ntech_domain=%s, radio_tech=%s, roaming=%d, registration_state=%d\n",
+ tech_domain[t_info.data_registration.tech_domain],
+ radio_tech[t_info.data_registration.radio_tech],
+ t_info.data_registration.roaming,
+ t_info.data_registration.registration_state);
+ }
+ if(t_info.voice_registration_details_3gpp_valid)
+ {
+ printf("voice_registration_details_3gpp: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, cid=0x%X, lac=%d, psc=%d, tac=%d\n",
+ tech_domain[t_info.voice_registration_details_3gpp.tech_domain],
+ radio_tech[t_info.voice_registration_details_3gpp.radio_tech],
+ t_info.voice_registration_details_3gpp.mcc,
+ t_info.voice_registration_details_3gpp.mnc,
+ t_info.voice_registration_details_3gpp.roaming,
+ t_info.voice_registration_details_3gpp.forbidden,
+ t_info.voice_registration_details_3gpp.cid,
+ t_info.voice_registration_details_3gpp.lac,
+ t_info.voice_registration_details_3gpp.psc,
+ t_info.voice_registration_details_3gpp.tac);
+ }
+ if(t_info.data_registration_details_3gpp_valid)
+ {
+ printf("data_registration_details_3gpp: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, cid=0x%X, lac=%d, psc=%d, tac=%d\n",
+ tech_domain[t_info.data_registration_details_3gpp.tech_domain],
+ radio_tech[t_info.data_registration_details_3gpp.radio_tech],
+ t_info.data_registration_details_3gpp.mcc,
+ t_info.data_registration_details_3gpp.mnc,
+ t_info.data_registration_details_3gpp.roaming,
+ t_info.data_registration_details_3gpp.forbidden,
+ t_info.data_registration_details_3gpp.cid,
+ t_info.data_registration_details_3gpp.lac,
+ t_info.data_registration_details_3gpp.psc,
+ t_info.data_registration_details_3gpp.tac);
+ }
+
+ if(t_info.voice_registration_details_3gpp2_valid)
+ {
+ printf("voice_registration_details_3gpp2: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, sid=%d, nid=%d, bsid=%d\n",
+ tech_domain[t_info.voice_registration_details_3gpp2.tech_domain],
+ radio_tech[t_info.voice_registration_details_3gpp2.radio_tech],
+ t_info.voice_registration_details_3gpp2.mcc,
+ t_info.voice_registration_details_3gpp2.mnc,
+ t_info.voice_registration_details_3gpp2.roaming,
+ t_info.voice_registration_details_3gpp2.forbidden,
+ t_info.voice_registration_details_3gpp2.sid,
+ t_info.voice_registration_details_3gpp2.nid,
+ t_info.voice_registration_details_3gpp2.bsid);
+ }
+
+ if(t_info.data_registration_details_3gpp2_valid)
+ {
+ printf("data_registration_details_3gpp2: \ntech_domain=%s, radio_tech=%s, mcc=%s, mnc=%s, roaming=%d, forbidden=%d, sid=%d, nid=%d, bsid=%d\n",
+ tech_domain[t_info.data_registration_details_3gpp2.tech_domain],
+ radio_tech[t_info.data_registration_details_3gpp2.radio_tech],
+ t_info.data_registration_details_3gpp2.mcc,
+ t_info.data_registration_details_3gpp2.mnc,
+ t_info.data_registration_details_3gpp2.roaming,
+ t_info.data_registration_details_3gpp2.forbidden,
+ t_info.data_registration_details_3gpp2.sid,
+ t_info.data_registration_details_3gpp2.nid,
+ t_info.data_registration_details_3gpp2.bsid);
+ }
+
+ break;
+ }
+ case 6://"qser_nw_client_deinit"
+ {
+ ret = qser_nw_client_deinit_p(h_nw);
+ printf("qser_nw_client_deinit ret = %d\n", ret);
+ break;
+ }
+ case 4 :
+ {
+ ret = qser_nw_add_rx_msg_handler_p(h_nw, nw_event_ind_handler, NULL);
+ printf("qser_nw_add_rx_msg_handler, ret=%d\n", ret);
+ break;
+ }
+ case 5 :
+ {
+ QSER_NW_SIGNAL_STRENGTH_INFO_T t_info;
+ ret = qser_nw_get_signal_strength_p(h_nw, &t_info);
+ printf("qser_nw_get_signal_strength, ret=%d\n", ret);
+ if(ret==0)
+ {
+ printf("qser_solicited_signal_strength gsm_sig_info_valid = %d\n"
+ " gsm_sig_info.rssi = %d\n"
+ " wcdma _sig_info_valid = %d\n"
+ " wcdma_sig_info.rssi = %d\n"
+ " wcdma_sig_info.ecio = %d\n"
+ " tdscdma_sig_info_valid = %d\n"
+ " lte_sig_info_valid = %d\n"
+ " lte_sig_info.rssi = %d\n"
+ " lte_sig_info.rsrp = %d\n"
+ " lte_sig_info.rsrq = %d\n"
+ " lte_sig_info.snr = %d\n"
+ " cdma_sig_info_valid = %d\n"
+ " hdr_sig_info_valid = %d\n"
+ " nr_sig_info_valid = %d\n"
+ " nr_sig_info.ssRsrp = %d\n"
+ " nr_sig_info.ssRsrq = %d\n"
+ " nr_sig_info.ssSinr = %d\n"
+ " nr_sig_info.csiRsrp = %d\n"
+ " nr_sig_info.csiRsrq = %d\n"
+ " nr_sig_info.csiSinr = %d\n",
+ t_info.gsm_sig_info_valid, t_info.gsm_sig_info.rssi,
+ t_info.wcdma_sig_info_valid, t_info.wcdma_sig_info.rssi, t_info.wcdma_sig_info.ecio,
+ t_info.tdscdma_sig_info_valid,
+ t_info.lte_sig_info_valid, t_info.lte_sig_info.rssi, t_info.lte_sig_info.rsrp, t_info.lte_sig_info.rsrq, t_info.lte_sig_info.snr,
+ t_info.cdma_sig_info_valid,
+ t_info.hdr_sig_info_valid,
+ t_info.nr_sig_info_valid, t_info.nr_sig_info.ssRsrp, t_info.nr_sig_info.ssRsrq, t_info.nr_sig_info.ssSinr,
+ t_info.nr_sig_info.csiRsrp, t_info.nr_sig_info.csiRsrq, t_info.nr_sig_info.csiSinr);
- break;
- }
- case 4://"qser_nw_client_deinit"
- {
- ret = qser_nw_client_deinit_p(h_nw);
- printf("qser_nw_client_deinit ret = %d\n", ret);
- break;
- }
- case 5 :
- {
- ret = qser_nw_add_rx_msg_handler_p(h_nw, nw_event_ind_handler, NULL);
- printf("qser_nw_add_rx_msg_handler, ret=%d\n", ret);
- break;
- }
-
- default:
- show_group_help(&t_nw_test);
+ }
+ break;
+ }
+
+ default:
+ {
+ show_group_help(&t_nw_test);
+ }
}
}
return 0;
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-autosuspend/lynq-qser-autosuspend.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-autosuspend/lynq-qser-autosuspend.cpp
index 2a5ff52..04b2ad0 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-autosuspend/lynq-qser-autosuspend.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-autosuspend/lynq-qser-autosuspend.cpp
@@ -344,7 +344,14 @@
{
return E_INPUT_ERROR;
}
- ret = delete_lock(fd);
+ ret = qser_wakelock_unlock(fd);
+ if(ret)
+ {
+ LYINFLOG("unlock is fail\n");
+ return ret;
+ }
+
+ ret = delete_lock(fd);
return ret;
}
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp
index d1114fc..b5b2f6c 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp
@@ -1008,8 +1008,9 @@
if (ret < 0)
{
*err = QSER_DATA_CALL_ERROR_INVALID_PARAMS;
+ return *err;
}
- return RESULT_OK;
+ return ret;
}
int qser_data_call_info_get(char profile_idx,qser_data_call_ip_family_e ip_family,qser_data_call_info_s *info,qser_data_call_error_e *err)
{