在Qcril_qmi_nas.cpp中,qcril_qmi_nas_request_registration_state中,一次命令执行以 > 开始,以<结束。 “cur reg state”返回了VOICE_REGISTRATION_STATE 中的regState字段。
< VOICE_REGISTRATION_STATE {.regState = NOT_REG_MT_SEARCHING_OP, [SUB1]
其值含义如下:

最近遇到了一个问题

卡1 移动或联通高清语音通话中,卡2 电信的信号会丢网。
从ril log看,卡2确实丢网了。

03-18 14:56:30.157 RILJ : [2911]< VOICE_REGISTRATION_STATE {.regState = REG_HOME, .rat = 14, .cellIdentity = {.cellInfoType = LTE, .cellIdentityLte = [{.base = {.mcc = 460, .mnc = 11, .ci = -1, .pci = -1, .tac = 19215, .earfcn = -1}, .operatorNames = {.alphaLong = CHN-CT, .alphaShort = CT}, .bandwidth = 2147483647}], .cellIdentityTdscdma = []}} [SUB1]
03-18 15:08:25.922 RILJ : [3085]< VOICE_REGISTRATION_STATE {.regState = NOT_REG_MT_SEARCHING_OP, [SUB1]
03-18 15:08:57.915 RILJ : [3158]< VOICE_REGISTRATION_STATE {.regState = NOT_REG_MT_SEARCHING_OP, [SUB1]
03-18 15:10:24.999 RILJ : [3204]< VOICE_REGISTRATION_STATE {.regState = NOT_REG_MT_SEARCHING_OP, [SUB1]
03-18 15:13:11.920 RILJ : [3245]< VOICE_REGISTRATION_STATE {.regState = NOT_REG_MT_SEARCHING_OP, [SUB1]
03-18 15:13:12.046 RILJ : [3250]< VOICE_REGISTRATION_STATE {.regState = NOT_REG_MT_SEARCHING_OP, [SUB1]
03-18 15:13:15.122 RILJ : [3299]< VOICE_REGISTRATION_STATE {.regState = NOT_REG_MT_SEARCHING_OP, [SUB1]
03-18 15:13:15.340 RILJ : [3305]< VOICE_REGISTRATION_STATE {.regState = NOT_REG_MT_SEARCHING_OP, [SUB1]
03-18 15:13:17.052 RILJ : [3320]< VOICE_REGISTRATION_STATE {.regState = REG_HOME, .rat = 14, .cellIdentity = {.cellInfoType = LTE, .cellIdentityLte = [{.base = {.mcc = 460, .mnc = 11, .ci = 162732209, .pci = 111, .tac = 19209, .earfcn = 1825}, .operatorNames = {.alphaLong = CHN-CT, .alphaShort = CT}, .bandwidth = 2147483647}], .cellIdentityTdscdma = []}} [SUB1]

从qcril_qmi_nas_request_registration_status日志分析

从qcril log看,voice reg状态从无服务变为有服务时打印的“cur reg state”从2无服务,变为1有服务。无服务时打印“prep wcdma”从wcdma获取注册状态。有服务时打印“prep lte”从lte获取注册状态。
获取注册状态的函数都是qcril_qmi_nas_util_convert_srv_status_to_ril_reg_status.

qcril_qmi_nas_util_convert_srv_status_to_ril_reg_status

这个函数返回什么入参很关键。

入参1,是如下是个flag的组合。
其中的NAS_SYS_INFO_IS_DATA在查询数据业务状态时才用到。

入参2,是网络信息。

qcril_qmi_nas_request_registration_status如何调用qcril_qmi_nas_util_convert_srv_status_to_ril_reg_status

在qcril_qmi_nas_request_registration_status中,根据voice_rte来传递不同的参数给qcril_qmi_nas_util_convert_srv_status_to_ril_reg_status以获取网络状态。

在上图的日志中(根据vrte的打印),voice_rte从QMI_RIL_RTE_WCDMA变为QMI_RIL_RTE_SUB_LTE.

从log看,voice_rte从3(QMI_RIL_RTE_WCDMA)到5(QMI_RIL_RTE_SUB_LTE)时,的lte 注册状态从0(RIL_VAL_REG_NOT_REGISTRATED_NOT_SEARCHING)变为1(RIL_VAL_REG_REGISTRATED_HOME_NET).
所以入参1从NAS_SYS_INFO_IS_3GPP 变为NAS_SYS_INFO_IS_3GPP |NAS_SYS_INFO_IS_LTE,入参2从wcdma获取变为从lte获取。

voice_rte

那么问题来了voice_rte为何从wcdma变为lte了?
这就要看qcril_qmi_nas_update_voice_rte函数了。这个函数也会调用qcril_qmi_nas_util_convert_srv_status_to_ril_reg_status。
不过qcril_qmi_nas_update_voice_rte会将cdma,hdr,gsm,wcdma,tdscdma,lte的注册状态依次通过qcril_qmi_nas_util_convert_srv_status_to_ril_reg_status转换。
从log看出来变化的是lte reg 从0无服务到1有服务.

qcril_qmi_nas_util_convert_srv_status_to_ril_reg_status

再回头看qcril_qmi_nas_util_convert_srv_status_to_ril_reg_status在对应时间点的打印。
intermediate res 1,时的打印还都是1.到intermediate res 2时打印就是0了。

qcril_qmi_nas_util_convert_nas_srv_status_to_ril_reg_status: … srv_capability_valid, srv_capability 1, 2 … srv_domain_valid, srv_domain 1, 2
从前后看srv_domain的打印都是2(PS_ONLY)

eb supported,紧急号码的支持都是true。
但是 voice on lte的支持从false 变为true。
下面贴上相关代码,看看根据这些变量为何从无服务变为有服务:


上图中共有三个逻辑或。

当eb supported为true, voice on lte为false

is_capability_allows_normal_call为false
is_srv_domain_allows_nornal_call为false
is_emerency_service_possible_on_lte为true。
第一个没有进去,第二个进去了所以变为无服务。

当eb supported为true, voice on lte为true

is_capability_allows_normal_call为true
is_srv_domain_allows_nornal_call为true
is_emerency_service_possible_on_lte为true。
三个判断条件都不能进去,所以不会被设置为无服务。

关键在voice on lte为false


voice on lte为何false

voice on lte为何中间一段时间为false进而导致无服务?
从如下代码看,这个变量从qmi消息的voice_support_on_lte.获取 。


qmi中此值 从false变为true。

modem为何会上报voice_support_on_lte 为false

其实voice_support_on_lte 在modem侧已经在几分钟前变为false。当时终端灭屏了,所以没有上报modem。亮屏时才上报的。

//SYS_IMS_REG_END_CAUSE_TEMPORARY
07:06:51.327 MMODE/STRM/Medium/CM [cmsds.c 6111] IMS_REG: Domsel:IMS registration is failed. cause code 2 backoff timer 0
07:06:51.327 MMODE/STRM/Medium/CM [cmsds.c 6111] IMS_REG: Domsel:IMS registration is failed. cause code 2 backoff timer 0
07:06:51.327 MMODE/STRM/High/CM [cmsds.c 1073] DOM_SEL: sub 1 Indicating NO VOICE support on LTE
 07:06:51.326   MMODE/STRM/High/CM       [  cmtask.c   10346] MSGR RXD: CMSDS, sub 1      07:06:51.326   MMODE/STRM/High/CM       [   cmsds.c    4168] AS_ID 1, IMS->CM: IMS_REG: RXD: IMS_REG_STATUS_IND, status 0 call_type_mask=  07:06:51.326   MMODE/STRM/High/CM       [   cmsds.c    3914] AS_ID 1, IMS_REG: IMS_REG_STATUS_IND, status 0, call_type_mask=  07:06:51.327   MMODE/STRM/Medium/CM     [   cmsds.c    6111] IMS_REG: Domsel:IMS registration is failed. cause code 2 backoff timer 02     07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c     364] Set IMS voice reg_status 5 on mode 9 asubs_id 1      07:06:51.327   MMODE/STRM/High/CM       [    cmss.c   27364] CM->NAS: sub 1, Send MMCM_IMS_REGISTRATION_INFO, is_avail 0      07:06:51.327   MMODE/STRM/High/CM       [    cmss.c   29458] CM->MSGR: sub 1, MM_CM_IMS_REG_STATUS_IND, is_registered 0, call_type 1      07:06:51.327   LML1/LowFreq/High/LML1   [lte_ml1_aps.c 1570] APS: ims_reg_status {as_id 1, is_reg 0, call_type_mask 1}2     07:06:51.327   MMODE/STRM/Medium/CM     [   cmsds.c    7035] Domsel:PPCSFB not possible mode=9,status=2,domain=22     07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    6763] 1XCSFB is not supported in msim or csfb not enabled 0      07:06:51.327   MMODE/STRM/Medium/CM     [   cmsds.c    2397] voice_domain_chgd: DOM SEL: Update current voice domain selected: Old Dom 0 New Dom -1 sysMode 9      07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    1073] DOM_SEL: sub 1 Indicating  NO VOICE support on LTE      07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    2212] DOM SEL: DOM_SEL_SHGD_IND new_dom -1 call_type 1      07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    2235] CM->MSGR: SEND: DOMAIN_SELECTED_CHANGED_IND, sys_mode=9, sub=12     07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    5698] Domsel: Skip IMS REG status processing      07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    3451] SMS DOM SEL: Act on IMS_REG STATUS, is_registered=0, sys_mode=9, sub 1 stk 02     07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    3293] SMS DOM SEL: No IMS Suppport for SMS.ph srv_dom_pef 0, sub 1 stk 0      07:06:51.327   MMODE/STRM/Medium/CM     [   cmsds.c    3171] Domsel:Process No SMS Ind: is_sms_mandatory =0, sys_mode=92     07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    2523] DOM SEL: SMS_DOM_SEL_SHGD_IND Old 0 New 4      07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    2212] DOM SEL: DOM_SEL_SHGD_IND new_dom 4 call_type 8      07:06:51.327   MMODE/STRM/High/CM       [   cmsds.c    2235] CM->MSGR: SEND: DOMAIN_SELECTED_CHANGED_IND, sys_mode=9, sub=12     07:06:51.327   MMODE/STRM/Medium/CM     [   cmsds.c    3244] SMS_DOM_SEL: SMS Domsel:Stay on LTE as SMS is not Mandatory      07:06:51.326   IMS DPL/High             [   qpDcm.c    8363] qpDcmGetVopsIndicationFromDomainSelection | ims_pref --> 9 | vops -->12

从log看IMS 上报注册失败消息给 DOMAIN seleciton 模块。在函数cmsds_voice_dom_sel_process_ims_reg_status模块中处理。失败原因是TEMPORARY。

ims注册相关日志:

IMS 定时注册超时,重新注册

SA Lifetime expired2

[0051/0001]              MSG                      07:06:51.305             IMS/Medium               [qpRegisterService.cpp   5587] RegisterService::qpMafTimerCallBack | Enter0                        0
[0051/0001]              MSG                      07:06:51.305             IMS/Medium               [qpRegisterService.cpp   5745] RegisterService::qpProcessTimerExpireMsg | SA Lifetime expired2                        0

注册失败RegisterService清除部分信息

 07:06:51.314   IMS/Medium     [qpRegisterService.cpp   5716] RegisterService::qpProcessTimerExpireMsg | final timer fired; Cleaning Up SADB2    007:06:51.314   IMS/Medium     [qpRegisterService.cpp   1872] RegisterService::qpCleanUpSADB | Enter2    007:06:51.314   IMS/High       [qpRegisterService.cpp   1927] RegisterService::qpCleanUpSADB | Port = 40062 Status = 42    007:06:51.314   IMS/Medium     [qpRegisterService.cpp   1944] RegisterService::qpCleanUpSADB | IPC to close udp port 400622    007:06:51.315   IMS/Medium     [qpRegisterService.cpp   7903] RegisterService::qpDispCloseSecureServerPort | SADB empty. Closing Secure server port2    007:06:51.315   IMS/Medium     [qpRegisterService.cpp   7937] RegisterService::qpDispCloseSecureServerPort | IPC to close port 449732    007:06:51.319   IMS/High       [qpRegisterService.cpp   1692] RegisterService::Close | this: [0x8e71c970] tzwlan cancel err [1]2    007:06:51.319   IMS/High       [qpRegisterService.cpp   1715] RS::Close | Resetting Sec-Veirfy/service-route/P-Associated-URI in Common Data2    007:06:51.320   IMS/High       [qpRegisterService.cpp   9600] RegisterService::ResetNATVariables | Resetting NAT specific shared config variables2    007:06:51.320   IMS/High       [qpRegisterService.cpp   1804] RegisterService::Close() | Setting RegService in SingoConfig to Invalid2    007:06:51.320   IMS/High       [qpRegisterService.cpp   1804] RegisterService::Close() | Setting RegService in SingoConfig to Invalid2    007:06:51.320   IMS/High       [qpRegisterService.cpp   1843] RegisterService::Close()| clearing location info in geolocation service2    007:06:51.328   IMS/Medium     [qpRegisterService.cpp   6867] RegisterService::qpDeleteSACallBack | Enter2    0

注册失败后的IMS REGMGR打印

 07:06:51.322  IMS REGMGR/High          [      AppManager.cpp    563] DeletedApplication - Deleted application: OptionsManager07:06:51.323  IMS REGMGR/High          [      AppManager.cpp    563] DeletedApplication - Deleted application: RegManager07:06:51.323  IMS REGMGR/High          [  RegistrationHandle  10905] ProcessServiceUnavailable (Service UnAvailable Temporary#0#0)07:06:51.323  IMS REGMGR/High          [  RegMonitorHandler.    282] UpdateRegisteredClients Service UnAvailable Temporary#0#007:06:51.323  IMS REGMGR/High          [  qpRegistrationMoni    317] ProcessIPCMessage: Service UnAvailable Temporary#0#007:06:51.325  IMS REGMGR/High          [      AppManager.cpp    563] DeletedApplication - Deleted application: +g.3gpp.smsip07:06:51.325  IMS REGMGR/High          [      AppManager.cpp    563] DeletedApplication - Deleted application:07:06:51.325  IMS REGMGR/High          [      AppManager.cpp    563] DeletedApplication - Deleted application: audio07:06:51.326  IMS REGMGR/High          [      AppManager.cpp    563] DeletedApplication - Deleted application: video07:06:51.327  IMS REGMGR/High          [  qpRegistrationMoni   1830] AddService Add Service00"+g.3gpp.smsip";"+g.3gpp.icsi-ref="urn:urn-7:3gpp-service.ims.icsi.mmtel"";"au07:06:51.328  IMS REGMGR/High          [  qpRegistrationMoni    317] ProcessIPCMessage: Service UnAvailable Temporary#0#007:06:51.329  IMS REGMGR/High          [  RegMonitorHandler.    457] handleMessage: Add Service00"+g.3gpp.smsip";"+g.3gpp.icsi-ref="urn:urn-7:3gpp-service.ims.icsi.mmtel""07:06:51.329  IMS REGMGR/High          [  FeatureTagManageme    334] AddService -  n_bNonValidated 0 n_bExpilcitOTA 0 current m_bExplicitOTA 0 Str:"+g.3gpp.smsip";"+g.3gpp07:06:51.329  IMS REGMGR/High          [  FeatureTagManageme    305] FlushFts - Key:+g.3gpp.smsip, Mask:1007:06:51.329  IMS REGMGR/High          [  FeatureTagManageme    305] FlushFts - Key:+g.3gpp.icsi-ref="urn:urn-7:3gpp-service.ims.icsi.mmtel", Mask:1007:06:51.329  IMS REGMGR/High          [  FeatureTagManageme    305] FlushFts - Key:audio, Mask:1007:06:51.329  IMS REGMGR/High          [  FeatureTagManageme    305] FlushFts - Key:video, Mask:1007:06:51.329  IMS REGMGR/High          [  RegistrationHandle   2037] Insert[+g.3gpp.smsip]07:06:51.329  IMS REGMGR/High          [  RegistrationHandle   2037] Insert[+g.3gpp.icsi-ref="urn:urn-7:3gpp-service.ims.icsi.mmtel"]07:06:51.329  IMS REGMGR/High          [  RegistrationHandle   2037] Insert[audio]07:06:51.329  IMS REGMGR/High          [  RegistrationHandle   2037] Insert[video]

通知注册失败

[0051/0002]              MSG                      07:06:51.326             IMS/High                 [    ISMCMAdapter.cpp    262] informLTERegStatus csVolteFTState : 0 isPdnUp(DCM_RAT_LTE) : 1 oprt mode : 22                        0
[0051/0002]              MSG                      07:06:51.326             IMS/High                 [    ISMCMAdapter.cpp    126] informNonLTERegStatus: ReportRegStatus = 12                        0
[0051/0002]              MSG                      07:06:51.326             IMS/High                 [    ISMCMAdapter.cpp    344] informLTERegStatus: registered status = 0, domain set to = 9, serving system = 9, endcause = 2 retryAfterValue2                        0

失败原因 Reg Blocked due to TRM Unavailable

[0051/0002]              MSG                      07:06:51.330             IMS/High                 [ RegisterManager.cpp   6436] CheckRegistrationNeeded - Reg Blocked due to TRM Unavailable RegType[0]2                        0
[0051/0002]              MSG                      07:06:51.330             IMS/High                 [ RegisterManager.cpp   4384] update: REG_ADD_REMOVE_SER_EV/REG_REREG_EV Active 1x/GSM call status 02                        0

注册失败导致Call Manager相关状态变化,通知CM层

有很多状态变化,这里截取一个:

07:07:10.073             IMS/High                 [             qpDcm.c  10617] qpDplSendSSInfoEvent_18
07:07:10.074             MMODE/STRM/High/CM       [           qmi_nas.c   5420] cm ss evt 18

这里的18是指如下枚举值为18的事件。

IMS模块失败通知CMSDS模块

[0051/0002]              MSG                      07:06:51.326             IMS/High                 [    ISMCMAdapter.cpp    262] informLTERegStatus csVolteFTState : 0 isPdnUp(DCM_RAT_LTE) : 1 oprt mode : 2
[0051/0002]              MSG                      07:06:51.326             IMS/High                 [    ISMCMAdapter.cpp    126] informNonLTERegStatus: ReportRegStatus = 1
[0051/0002]              MSG                      07:06:51.326             IMS/High                 [    ISMCMAdapter.cpp    344] informLTERegStatus: registered status = 0, domain set to = 9, serving system = 9, endcause = 2 retryAfterValue
[0042/00/2]              QTRACE                   07:06:51.326             MMODE/STRM/High/CM       [            cmtask.c  10346] MSGR RXD: CMSDS, sub 1
[0042/00/2]              QTRACE                   07:06:51.326             MMODE/STRM/High/CM       [             cmsds.c   4168] AS_ID 1, IMS->CM: IMS_REG: RXD: IMS_REG_STATUS_IND, status 0 call_type_mask=
[0042/00/2]              QTRACE                   07:06:51.326             MMODE/STRM/High/CM       [             cmsds.c   3914] AS_ID 1, IMS_REG: IMS_REG_STATUS_IND, status 0, call_type_mask=  

IMS 重注册定时器参数获取

ims re-registration(Periodic registration) timer, and the value for this timer was negotiated by UE and NW side during the ims registration procedure.
the finial negotiated value we can get it from expire item in of the 200Ok message for ims register.

for example, the negotiated expire value in below msg is 3590s
IMS_SIP_REGISTER/OK
Subscription ID = 2
Version = 1
Direction = NETWORK_TO_UE
SDP Presence = 0
SIP Call ID Length = 59
SIP Message Length = 936
SIP Message Logged Bytes = 937
Message ID = IMS_SIP_REGISTER
Response Code = OK (200)
CM Call ID = 255
SIP Call ID = 4272799761_2383078172@240e:6b:8100:12c:6e87:84c3:73b4:7914
Sip Message = SIP/2.0 200 OK
Via: SIP/2.0/TCP [240e:6b:8100:12c:6e87:84c3:73b4:7914]:44806;branch=z9hG4bK1249026755
To: <sip:460110697105174@ims.mnc011.mcc460.3gppnetwork.org>;tag=h7g4Esbg_ztesipiPGC-_esPovnQ1vAEmbp*13-6-16640*cfid.13
From: <sip:460110697105174@ims.mnc011.mcc460.3gppnetwork.org>;tag=4272801245
Call-ID: 4272799761_2383078172@240e:6b:8100:12c:6e87:84c3:73b4:7914
CSeq: 1051574290 REGISTER
Contact: <sip:[240e:6b:8100:12c:6e87:84c3:73b4:7914]:44806>;expires=3590;---------// mean 3590s 

expires=3590;---------// mean 3590s

after this timer expired we will started ims re-registration procedure.

注册失败log:

MSG 07:06:51.305 [qpRegisterService.cpp 5745] RegisterService::qpProcessTimerExpireMsg | SA Lifetime expired2
MSG 07:06:51.314 [qpRegisterService.cpp 5716] RegisterService::qpProcessTimerExpireMsg | final timer fired; Cleaning Up SADB2
MSG 07:06:51.327 [ ICSTRMManager.cpp 359] ICSTRMManager::IsWWANUnavailableDueToTRMLoss | value = 12
MSG 07:06:51.330 [ RegisterManager.cpp 6436] CheckRegistrationNeeded - Reg Blocked due to TRM Unavailable RegType[0]2

srv_capability 状态

国内电信volte卡插在卡2的capablity是多少?
非volte卡,capability是ps only,domain是ps only。
volte卡呢?

voice reg 和signal strength在qcril log

在qcrlil log中看两者最终返回给ril java 的值关键字如下:

08:52:51.608             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 10881] [DedicatedThread(1257,17393)] qcril_qmi_nas_dump_voice_registration_state: RIL VOICE REGISTRATION: Home Service in 1xRTT
08:52:51.608             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 10882] [DedicatedThread(1257,17393)] qcril_qmi_nas_dump_voice_registration_state: CCS supported: 1
08:52:51.608             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 10883] [DedicatedThread(1257,17393)] qcril_qmi_nas_dump_voice_registration_state: Roaming Indicator: 1
08:52:51.608             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 10884] [DedicatedThread(1257,17393)] qcril_qmi_nas_dump_voice_registration_state: System is in PRL: 1
08:52:51.608             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 10885] [DedicatedThread(1257,17393)] qcril_qmi_nas_dump_voice_registration_state: default Roaming Indicator: -1
08:52:51.608             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 10886] [DedicatedThread(1257,17393)] qcril_qmi_nas_dump_voice_registration_state: Denial reason: 0
08:52:57.474             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9924] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: > qcril_qmi_nas_dump_sign_strength_report:
08:52:57.474             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9926] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: ..GW
08:52:57.474             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9928] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: .. signalStrength 99, bitErrorRate 0
08:52:57.474             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9930] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: ..WCDMA
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9931] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: .. NOT valid
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9935] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: .. signalStrength 99, bitErrorRate 99 rscp 255 ecio 255
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9937] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: ..TDSCDMA
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9939] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: .. signalStrength 2147483647
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9942] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: ..CDMA
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9944] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: .. dbm -1, ecio -1
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9946] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: ..EVDO
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9949] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: .. dbm -1, ecio -1, signalNoiseRatio -1
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9951] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: ..LTE
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9955] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: .. signalStrength 27, rsrp 92, rsrq 13, rsnnr 40
08:52:57.475             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_nas] RIL[1][qcril_qmi_nas.cpp: 9957] [DispatcherModul(1257,1307)] qcril_qmi_nas_dump_sign_strength_report: < qcril_qmi_nas_dump_sign_strength_report:

通话状态改变modem触发ap 的log打印

08:52:45.680             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_voice] RIL[0][qcril_qmi_voice.cc: 5620] [DispatcherModul(1238,1311)] qcril_qmi_voice_all_call_status_ind_hdlr: -- final call dump end --
08:52:45.828             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_voice] RIL[0][qcril_qmi_voice.cc: 5376] [DispatcherModul(1238,1311)] qcril_qmi_voice_all_call_status_ind_hdlr: call state END for conn id 1
08:52:45.828             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_voice] RIL[0][qcril_qmi_voice.cc: 4608] [DispatcherModul(1238,1311)] qcril_qmi_voice_all_call_status_ind_end_hdlr: > qcril_qmi_voice_all_call_status_ind_end_hdlr:
08:52:45.831             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_voice] RIL[0][qcril_qmi_voice.cc: 4762] [DispatcherModul(1238,1311)] qcril_qmi_voice_all_call_status_ind_end_hdlr: < qcril_qmi_voice_all_call_status_ind_end_hdlr:
08:52:45.835             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_voice] RIL[0][qcril_qmi_voice.cc: 5620] [DispatcherModul(1238,1311)] qcril_qmi_voice_all_call_status_ind_hdlr: -- final call dump end --
08:52:45.850             Android QCRIL/Low        [      DiagLogger.cpp     88] [qcril_qmi_voice] RIL[0][qcril_qmi_voice.cc: 14452] [DispatcherModul(1238,1311)] qcril_qmi_voice_send_current_ims_calls: Reply to RIL --> call[0] :state END index 1, toa 129, isMpty 0, isMT 1, als 0, isVoice 1, isVoicePrivacy 0

双卡 一卡通话 卡2丢网 ---注册状态 VOICE_REGISTRATION_STATE相关推荐

  1. QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之04【EC20模组SIM卡和驻网模组指令说明】

    QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之04[EC20模组SIM卡和驻网模组指令说明] 一.准备工作 二.硬件环境的搭建 三.基础AT指令的说明和测试 关于SIM ...

  2. QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之04EC20模组SIM卡和驻网模组指令说明

    本系列博文将系统性讲解物联网模组系列的实际使用和调试指南,以移远4G模组EC20为例(其他厂家模组的调试方法大同小异),加快嵌入式软.硬件工程师对物联网模组调试和使用的上手速度. 一.准备工作 1.软 ...

  3. 一卡通(M1卡)破解过程记录——数据分析(水卡、饭卡及门禁)

    前些日子在研究学校的一卡通安全,在此记录一下一卡通破解的全过程,仅用作学习交流,切勿用于违法用途 其他几篇: 一卡通(M1卡)破解过程记录--准备篇              理论篇          ...

  4. vantui框架switch上显示提示文字_?Switch主机账号官网注册教程

    选择关联任天堂账号.​Switch主机账号的注册方式有两种,一种是通过主机注册,另外一种是任天堂官网进行注册,那么接下来给大家带来switch账号注册的教程. 官网注册 2,点击"13岁以上 ...

  5. 一卡通(M1卡)破解过程记录——准备篇

    前些日子在研究学校的一卡通安全,在此记录一下一卡通破解的全过程,仅用作学习交流,切勿用于违法用途 其他几篇: 一卡通(M1卡)破解过程记录--理论篇               获取扇区密钥      ...

  6. 一卡通(M1卡)破解过程记录——理论篇

    前些日子在研究学校的一卡通安全,在此记录一下一卡通破解的全过程,仅用作学习交流,切勿用于违法用途 其他几篇: 一卡通(M1卡)破解过程记录--准备篇              获取扇区密钥      ...

  7. 苹果手机怎么创建php,怎么在苹果官网注册Apple ID?在网页上创建Apple ID教程

    如何在网页上创建Apple ID呢?Apple ID账号是苹果手机上面常常使用的一个账号,很多人可能注册时都是在苹果手机上面注册Apple ID账号的,其实除了苹果手机注册以外,我们还可以直接通过网页 ...

  8. 网页版VIP邮箱有什么宝藏功能?网页邮箱官网注册入口有哪些?

    最近刚刚入职了一家外贸公司的业务员,入职时,同事们跟我说我们的岗位会经常需要联系海外客户,所以我们选择邮箱要选择一个群发数量较大的邮箱,邮箱可以增进我们与客户之间的联系. 同事跟我讲完后,我问她,邮箱 ...

  9. HTML5期末大作业:漫画网站设计——布卡漫画官网(4页) HTML+CSS+JavaScript 学生DW网页设计作业成品 w学生原创课程设计漫画设计制作大作业成品免费下载

    HTML5期末大作业:漫画网站设计--布卡漫画官网(4页) HTML+CSS+JavaScript 学生DW网页设计作业成品 w学生原创课程设计漫画设计制作大作业成品免费下载 常见网页设计作业题材有 ...

  10. 关于android双卡手机sim卡信息采集适配的心得

    关于android双卡手机sim卡信息采集适配的心得 这几天通过对各个厂商的双卡信息适配的研究,总结了几点规律,写这篇心得主要是为了能够抛砖引玉,和大家一起分享,一起讨论,源码已上传. 一.andro ...

最新文章

  1. linux基本网络IP自动、手动配置
  2. pymysql dataframe 写入sql
  3. java jar包命令行下可以双击不运行解决方法(改变java默认图标)
  4. 《魂斗罗:归来》手游子弹中没中,没你想得那么简单!
  5. UVA10601 Cubes - 波利亚定理
  6. Python模块学习
  7. MybatisPlus_进阶
  8. mysql innodb_file_per_table=1_mysql-5.7 innodb_file_per_table 详解
  9. java mysql教程基于_java基于jdbc连接mysql数据库功能实例详解
  10. Illustrator 教程,了解 AI 中的绘图工具
  11. 记一次VS Code崩溃的解决(Win10扫描自动回复系统文件)
  12. 颓废了1年+,今天开始勤(tui)奋(fei)啦
  13. 考勤系统之计算工作小时数
  14. Linux 面试最常问的十个问题
  15. RayTrace1:如何实现Whitted全局光照模型?
  16. 微信oauth MySQL_微信OAuth2网页授权登陆接口PHP实例下载
  17. 数字逻辑---头歌实训作业---逻辑函数及其描述工具(Logisim)
  18. java曲线平滑算法_JFreeChart简单实现光滑曲线绘制
  19. 哈工大pyltp库安装的踩坑经历—windows10+python3.8
  20. java语言变量分为_在Java语言中变量分为四种,分别是___________________________________________。_学小易找答案...

热门文章

  1. Python也有对象了哈哈哈哈哈哈嗝
  2. d3d透视逆向篇:第8课 通过虚表函数的获取D3D9函数指针
  3. 外贸企业邮箱是什么?大连邮箱,邮件归档系统
  4. 微软2016校园招聘4月在线笔试 总结
  5. vwf活性_血管性血友病因子(VWF)应该针对血型设置参考范围吗?
  6. linux网络测试工具
  7. 使用ZedGraph记录(原创)
  8. qq设置头衔显示服务器异常,qq头衔如何设置
  9. 弹性伸缩Auto Scaling
  10. oracle 导入攻略,oracle10g下expdp自动导出并上传全攻略