此修改主要是要满足GMS认证需求。
修改三个地方,才可以通过GMS认证的要求,否则VTS 会报错,SIM卡相关的都会报如下错误
arm64-v8a VtsHalRadioV1_1Target | ||
Test | Result | Details |
---|---|---|
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setCarrierInfoForImsiEncryption(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.setSimCardPower_1_1(slot2)_64bit | fail | Unknown error. |
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.startKeepalive(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.startNetworkScan(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.startNetworkScan_InvalidArgument(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.stopKeepalive(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_1Target#RadioHidlTest_v1_1.stopNetworkScan(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
arm64-v8a VtsHalRadioV1_2Target | ||
Test | Result | Details |
---|---|---|
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.deactivateDataCall_1_2(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.getAvailableBandModes(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.getCellInfoList_1_2(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.getDataRegistrationState(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.getVoiceRegistrationState(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.setIndicationFilter_1_2(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.setLinkCapacityReportingCriteria_Geran(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.setLinkCapacityReportingCriteria_emptyParams(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.setLinkCapacityReportingCriteria_invalidHysteresisDlKbps(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.setLinkCapacityReportingCriteria_invalidHysteresisUlKbps(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.setSignalStrengthReportingCriteria_Cdma2000(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.setSignalStrengthReportingCriteria_EmptyParams(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
VtsHalRadioV1_2Target#RadioHidlTest_v1_2.setSignalStrengthReportingCriteria_Eutran(slot2)_64bit | fail | Unknown error: test case requested but not executed. |
1.修改 配置
diff --git a/device/qcom/common/base.mk b/device/qcom/common/base.mk
index e425124..cff920c 100755
--- a/device/qcom/common/base.mk
+++ b/device/qcom/common/base.mk
@@ -1212,7 +1212,7 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.oem_unlock_supported=1
ifeq ($(TARGET_USES_QCOM_BSP_ATEL),true)
- PRODUCT_PROPERTY_OVERRIDES += persist.radio.multisim.config=dsds
+ PRODUCT_PROPERTY_OVERRIDES += persist.radio.multisim.config=ssss
endif
# VNDK-SP:
diff --git a/device/qcom/msm8953_64/manifest.xml b/device/qcom/msm8953_64/manifest.xml
old mode 100644
new mode 100755
index a59cb75..d4afe65
--- a/device/qcom/msm8953_64/manifest.xml
+++ b/device/qcom/msm8953_64/manifest.xml
@@ -208,12 +208,10 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IRadio</name>
<instance>slot1</instance>
- <instance>slot2</instance>
</interface>
<interface>
<name>ISap</name>
<instance>slot1</instance>
- <instance>slot2</instance>
</interface>
</hal>
<hal format="hidl">
@@ -232,7 +230,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>ISecureElement</name>
<instance>SIM1</instance>
- <instance>SIM2</instance>
</interface>
</hal>
<hal format="hidl">
@@ -242,7 +239,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IQcRilAudio</name>
<instance>slot1</instance>
- <instance>slot2</instance>
</interface>
</hal>
<!-- RIL UIM REMOTE CLIENT -->
@@ -253,7 +249,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IUimRemoteServiceClient</name>
<instance>uimRemoteClient0</instance>
- <instance>uimRemoteClient1</instance>
+
</interface>
</hal>
<!-- RIL UIM REMOTE SERVER -->
@@ -264,7 +260,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IUimRemoteServiceServer</name>
<instance>uimRemoteServer0</instance>
- <instance>uimRemoteServer1</instance>
</interface>
</hal>
<!-- RIL UIM LPA -->
@@ -275,7 +270,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IUimLpa</name>
<instance>UimLpa0</instance>
- <instance>UimLpa1</instance>
</interface>
</hal>
<!-- RIL UIM -->
@@ -286,7 +280,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IUim</name>
<instance>Uim0</instance>
- <instance>Uim1</instance>
</interface>
</hal>
<!-- Data Link Latency -->
@@ -365,7 +358,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IQtiRadio</name>
<instance>slot1</instance>
- <instance>slot2</instance>
+
</interface>
</hal>
<hal format="hidl">
@@ -375,7 +368,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IQtiRadio</name>
<instance>slot1</instance>
- <instance>slot2</instance>
+
</interface>
</hal>
<hal format="hidl">
@@ -448,7 +441,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IImsRadio</name>
<instance>imsradio0</instance>
- <instance>imsradio1</instance>
</interface>
</hal>
<hal format="hidl">
@@ -458,7 +450,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IQtiOemHook</name>
<instance>oemhook0</instance>
- <instance>oemhook1</instance>
</interface>
</hal>
<!-- Alarm HAL service -->
@@ -535,7 +526,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<interface>
<name>IDataConnection</name>
<instance>slot1</instance>
- <instance>slot2</instance>
+
</interface>
</hal>
<!-- WFD HAL Service -->
2.修改modem
modem工程师根据高通文档配置修改成单卡配置。
3.代码修改
diff --git a/vendor/qcom/proprietary/qcril-hal/modules/nas/src/qcril_qmi_nas.cpp b/vendor/qcom/proprietary/qcril-hal/modules/nas/src/qcril_qmi_nas.cpp
index 7da1e58..77d2f6c 100755
--- a/vendor/qcom/proprietary/qcril-hal/modules/nas/src/qcril_qmi_nas.cpp
+++ b/vendor/qcom/proprietary/qcril-hal/modules/nas/src/qcril_qmi_nas.cpp
@@ -20852,7 +20852,24 @@ void qcril_qmi_nas_start_advanced_scan
ril_req_data->interval, ril_req_data->incrementalResultsPeriodicity);
// Only non-zero values are valid values.
- if (ril_req_data->maxSearchTime > 0)
+ // If interval is less than 5 or greater than 300, return failure
+ if ((ril_req_data->interval < SCAN_MIN_INTERVAL) ||
+ (ril_req_data->interval > SCAN_MAX_INTERVAL))
+ {
+ ril_req_res = RIL_E_INVALID_ARGUMENTS;
+ QCRIL_LOG_INFO("invalid interval - %d", ril_req_data->interval);
+ break;
+ }
+
+ // If interval is less than 60 or greater than 3600, return failure
+ if (((ril_req_data->maxSearchTime < SCAN_MIN_SEARCH_TIME) ||
+ (ril_req_data->maxSearchTime > SCAN_MAX_SEARCH_TIME)) &&
+ (ril_req_data->incrementalResultsPeriodicity != 0))
+ {
+ ril_req_res = RIL_E_INVALID_ARGUMENTS;
+ QCRIL_LOG_INFO("invalid max_search_time - %d", ril_req_data->maxSearchTime);
+ break;
+ } else
{
qmi_request.max_search_time_valid = TRUE;
qmi_request.max_search_time = ril_req_data->maxSearchTime;
@@ -20874,7 +20891,15 @@ void qcril_qmi_nas_start_advanced_scan
qmi_request.search_periodicity = ril_req_data->interval;
}
- if (ril_req_data->incrementalResultsPeriodicity > 0)
+ // If periodicity is less than 1 or greater than 10, return failure
+ if (((ril_req_data->incrementalResultsPeriodicity < SCAN_MIN_PERIODICITY) ||
+ (ril_req_data->incrementalResultsPeriodicity > SCAN_MAX_PERIODICITY)) &&
+ (ril_req_data->maxSearchTime != 0))
+ {
+ ril_req_res = RIL_E_INVALID_ARGUMENTS;
+ QCRIL_LOG_INFO("invalid periodicity - %d", ril_req_data->incrementalResultsPeriodicity);
+ break;
+ } else
{
qmi_request.incremental_results_periodicity_valid = TRUE;
qmi_request.incremental_results_periodicity =
diff --git a/vendor/qcom/proprietary/qcril-hal/qcrild/include/telephony/ril.h b/vendor/qcom/proprietary/qcril-hal/qcrild/include/telephony/ril.h
index b169b2a..8bc6a8f 100755
--- a/vendor/qcom/proprietary/qcril-hal/qcrild/include/telephony/ril.h
+++ b/vendor/qcom/proprietary/qcril-hal/qcrild/include/telephony/ril.h
@@ -2290,6 +2290,16 @@ typedef struct {
} RIL_NetworkScanRequest;
+/*nw_scan parameter limits , need to update based on changes in Iradio HAL*/
+typedef enum {
+ SCAN_MIN_INTERVAL = 5,
+ SCAN_MAX_INTERVAL = 300,
+ SCAN_MIN_SEARCH_TIME = 60,
+ SCAN_MAX_SEARCH_TIME = 3600,
+ SCAN_MIN_PERIODICITY = 1,
+ SCAN_MAX_PERIODICITY = 10
+}RIL_NetworkScanLimits;
+
typedef enum {
PARTIAL = 0x01, // The result contains a part of the scan results
COMPLETE = 0x02, // The result contains the last part of the scan results