1.问题描述:在主摄切换到前摄时,在切换到主摄,主摄sensor会重新下电,重新走完整的流程
,也就是先streamoff,在streamon
03-12 22:08:34:959790724 12205 12237 V CamX: [ VERB][CORE ] camxvendortags.cpp:299 QueryVendorTagLocation() Vendor tag section org.quic.camera.hvxfeaturemode, tag HVXFeatureMode exists in hash table, location is 80700000...
03-12 22:08:34:959858224 12205 12237 V CamX: [ VERB][CORE ] camxnode.cpp:1678 IsHVXsHDRFeatureMode() ZSLPreviewRaw_LT1080p_AutoFocus0: NodeContext 0 HDRFeature Mode 0
03-12 22:08:34:959938640 12205 12237 I CamX: [ INFO][CORE ] camxnode.cpp:2508 ProcessRequest() ZSLPreviewRaw_LT1080p_AutoFocus0 Complete ProcessRequest 5
03-12 22:08:34:972554734 12205 12239 W CamX: [ WARN][NCS ] camxncsintfqsee.cpp:2990 ResetConnection() Reset connection for sensor type 4
03-12 22:08:36:256953327 12205 12627 I CamX: [ INFO][CORE ] camxsession.cpp:3035 ProcessCaptureRequest() ZSLPreviewRaw_LT1080p: PCR wait for seqId 5 DONE - Result CamxResultETimeout, Live pending requests 5/6, Wait time 1400 (0) msec
03-12 22:08:36:257245619 12205 12627 I CamX: [ INFO][CORE ] camxsession.h:3003 CanSystemEventBeForwarded() checking 0xb40000741b54e0f0
03-12 22:08:36:257468119 12205 12627 I CamX: [CORE_CFG][CORE ] camxsession.h:2591 SetSessionTriggeringRecovery() Session 0xb40000741b54e0f0 is triggering recovery
03-12 22:08:36:257777286 12205 12627 I CamX: [CORE_CFG][CORE ] camxpipeline.h:1467 SetPipelineTriggeringRecovery() Pipeline ZSLPreviewRaw_LT1080p is triggering recovery
03-12 22:08:36:257999109 12205 12627 I CamX: [CORE_CFG][CORE ] camxsession.cpp:5569 HandleSystemEventCb() Triggering System Event: Session:0xb40000741b54e0f0, Node:Unknown(-1), Instance:-1, Pipeline:Unknown(-1) DumpOnly:0
。。。
。。。
03-12 22:08:36:320022702 12205 12627 I CamX: [CORE_CFG][CORE ] camxoverridesettingsfile.cpp:273 DumpOverriddenSettings() =============== BEGIN DUMP OF OVERRIDE SETTINGS ===============
03-12 22:08:36:320099057 12205 12627 I CamX: [CORE_CFG][CORE ] camxoverridesettingsfile.cpp:274 DumpOverriddenSettings() <Setting> (<Hash>) = <Value>
03-12 22:08:36:320174786 12205 12627 I CamX: [CORE_CFG][CORE ] camxoverridesettingsfile.cpp:322 DumpData() logInfoMask (0x4b7a8e58) = 0x10080
03-12 22:08:36:320245880 12205 12627 I CamX: [CORE_CFG][CORE ] camxoverridesettingsfile.cpp:322 DumpData() logConfigMask (0xa2570664) = 0x10080
03-12 22:08:36:320318744 12205 12627 I CamX: [CORE_CFG][CORE ] camxoverridesettingsfile.cpp:322 DumpData() overrideLogLevel (0x1058d7fa) = 0x1F
03-12 22:08:36:320390411 12205 12627 I CamX: [CORE_CFG][CORE ] camxoverridesettingsfile.cpp:322 DumpData() enableAsciiLogging (0xb5cf33aa) = 1
03-12 22:08:36:320461348 12205 12627 I CamX: [CORE_CFG][CORE ] camxoverridesettingsfile.cpp:322 DumpData() logVerboseMask (0xe233dbde) = 0x10080
03-12 22:08:36:320531036 12205 12627 I CamX: [CORE_CFG][CORE ] camxoverridesettingsfile.cpp:278 DumpOverriddenSettings() ================ END DUMP OF OVERRIDE SETTINGS ================
03-12 22:08:36:320719994 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:347 TriggerDumpEvent() Camera Core Dump: Triggered, fd -1
03-12 22:08:36:320791140 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:490 LogSystemEventHeader() +------------------------------------------------------------------+
03-12 22:08:36:320884577 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:491 LogSystemEventHeader() + System Event Trigger Info
03-12 22:08:36:320978692 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:492 LogSystemEventHeader() +------------------------------------------------------------------+
03-12 22:08:36:321049630 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:494 LogSystemEventHeader() System Header Data:
03-12 22:08:36:321119630 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:497 LogSystemEventHeader() errorCode : 260
03-12 22:08:36:321188588 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:499 LogSystemEventHeader() isDumpOnly : false
03-12 22:08:36:321255046 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:501 LogSystemEventHeader() forceSigAbort : false
03-12 22:08:36:321321973 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:528 LogSystemEventHeader() Session Data:
03-12 22:08:36:321391765 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:530 LogSystemEventHeader() SessionInstance : 0xb40000741b54e0f0
03-12 22:08:36:321457755 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:535 LogSystemEventHeader() Feature Data:
03-12 22:08:36:321524734 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:537 LogSystemEventHeader() FeatureId : 0
03-12 22:08:36:321593380 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:539 LogSystemEventHeader() FeatureInstanceId : 0
03-12 22:08:36:321660567 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:541 LogSystemEventHeader() FeatureInstance : 0xb40000728aea8750
03-12 22:08:36:321727390 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:543 LogSystemEventHeader() FeatureName : RealTime
03-12 22:08:36:321872859 12205 12627 I CamX: [CORE_CFG][UTILS ] camxosutilslinux.cpp:2421 SetCoreDumpDirectoryPath() Camera Core Dump: Dir:/data/vendor/camera/coredump already exists
03-12 22:08:36:323534630 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:399 TriggerDumpEvent() Camera Core Dump: Binary Log File: /data/vendor/camera/coredump/camera_core_dump_pid12205_Tid12627_20230312_220836/camera_core_dump_pid12205_Tid12627_20230312_220836.bin
03-12 22:08:36:324042130 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:421 TriggerDumpEvent() Camera Core Dump: Text Log File: /data/vendor/camera/coredump/camera_core_dump_pid12205_Tid12627_20230312_220836/camera_core_dump_pid12205_Tid12627_20230312_220836.txt
03-12 22:08:36:324467807 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:2383 Dump() System Event Payload: ErrorCode:260 ForceSigAbort:0 nodeType:NIL nodeInstanceId:NIL pipelineId:NIL pipelineName:NIL featureName:RealTime graphName:NIL usecaseName:NIL
03-12 22:08:36:325072807 12205 12627 I CamX: [ INFO][HAL ] camxhaldevice.cpp:2754 LogFrameworkRequests() m_frameworkRequests is empty latestFrameworkRequestIndex: -1
03-12 22:08:36:460171140 12205 12627 I CamX: [CORE_CFG][CORE ] camxsettingsmanager.cpp:393 WriteCamxSettingsToFile() Camera Core Dump: CamxSetting Dump File: /data/vendor/camera/coredump/camera_core_dump_pid12205_Tid12627_20230312_220836/camxsettingsdump.txt
03-12 22:08:36:460935879 12205 12627 I CamX: [CORE_CFG][CORE ] camxsession.cpp:8077 DumpEvent() System Dump Event Completed.
03-12 22:08:36:503776244 12205 12627 I CamX: [CORE_CFG][HAL ] camxhaldevice.cpp:478 TriggerDumpEvent() Camera Core Dump: Completed, result CamxResultSuccess
2.解决过程:
2.1 联系高通,高通说是sensor的原因,是不是android的ap升级引起的
然后分别在android11和android13测试camera的线序,i2c、mipi信息,从现象上看,在摄像头从前摄切换到主摄,线序没有问题,mipi信号中间有1000ms的中断,只能看现象他们无法解决
2.2 把我们camx和chi-cdk代码给高通,包含sensor的配置,还有出现的问题时的UMD和KMD日志给他们发过去。从sensor的配置入手,尝试修改sensor的配置xml文件,只会更差。
3.1 高通无法解决(还浪费case询问的费用),只能自己尝试解决。比较android11和android13的代码
还是无法处理,因为两个版本代码有点不一样,不好比较。
4.0 最后没有办法,一个一个尝试:因为sensor出现问题就在camxsensornode文件里修改,在长达一个星期的一句一句过后,经过了编译测试,编译测试:最后得出
PrepareSensorTestPattern();
这句出现了问题,sensor的TestPattern会出现问题,恰好android11没有这个pattern。把这句注释掉就好。
bingo,解决了