等开机差不多了输入 adb shell dmesg > ./test.log 抓取开机log或者开启mtklog后,重启手机重启后关闭mtklog,查看boot log中的kernel log。
接着在log中搜索 对应sensor IC 关键字,查看错误信息。
也可参考MTK FAQ:[FAQ18079] camera黑屏分析。
kernel Log:
一般我们看(SOF :signal of frame)
Line 11762: <6>[ 4567.407806] .(3)[0:swapper/3][ISP]P1_SOF_11_11(0x3134002,0x3134002,0x4b0000c,0x4200000,0x0,0x3bf,0x5)
Line 11767: <6>[ 4567.507983] .(3)[0:swapper/3][ISP]P1_SOF_12_12(0x1234002,0x1234002,0x4b00010,0x4500000,0x0,0x3bf,0x6)
Line 11775: <6>[ 4567.608150] .(1)[114:kswapd0][ISP]P1_SOF_13_13(0x2334002,0x2334002,0x4b00014,0x4800000,0x0,0x3bf,0x7)
或者
Line 11818: <6>[ 4568.141296] .(0)[0:swapper/0][ISP]P1_DON_18(0x2334002,0x2334002)
Line 11822: <6>[ 4568.241384] .(2)[207:sugov:0][ISP]P1_DON_19(0x3134002,0x3134002)
Line 11827: <6>[ 4568.341478] .(0)[0:swapper/0][ISP]P1_DON_20(0x1234002,0x1234002)
说明有数据收到
main Log:
10-13 09:57:39.222497 933 5325 E ifunc_cam: [vendor/mediatek/proprietary/hardware/mtkcam/drv/src/isp/mt6765/imageio/drv/cam/isp_function_cam.pipechk.cpp, TG_CHECK, line1735] ERROR: [0x0]:seninf vertical data is small than grab window_v:8_1224
10-13 09:57:39.222497 933 5325 E ifunc_cam: (TG_CHECK){#1735:vendor/mediatek/proprietary/hardware/mtkcam/drv/src/isp/mt6765/imageio/drv/cam/isp_function_cam.pipechk.cpp}
10-13 09:57:39.222515 933 5325 E ifunc_cam: [vendor/mediatek/proprietary/hardware/mtkcam/drv/src/isp/mt6765/imageio/drv/cam/isp_function_cam.pipechk.cpp, TG_CHECK, line1762] ERROR: [0x0]:TG is in idle status:0x1
10-13 09:57:39.222515 933 5325 E ifunc_cam: (TG_CHECK){#1762:vendor/mediatek/proprietary/hardware/mtkcam/drv/src/isp/mt6765/imageio/drv/cam/isp_function_cam.pipechk.cpp}
10-13 09:57:39.222532 933 5325 E ifunc_cam: [vendor/mediatek/proprietary/hardware/mtkcam/drv/src/isp/mt6765/imageio/drv/cam/isp_function_cam.pipechk.cpp, TG_CHECK, line1783] ERROR: [0x0]:start dump seninf info
10-13 09:57:39.222532 933 5325 E ifunc_cam: (TG_CHECK){#1783:vendor/mediatek/proprietary/hardware/mtkcam/drv/src/isp/mt6765/imageio/drv/cam/isp_function_cam.pipechk.cpp}
10-13 09:57:39.228468 933 5248 D SeninfDrvImp: [sendCommand]SENINF1_MUX_CTRL(0xa6df8180), SENINF1_MUX_INTSTA(0x18), SENINF1_MUX_SIZE(0x0), SENINF1_MUX_DEBUG_2(0x4f0000d), SENINF1_MUX_DEBUG_3(0x4f0000d)
以上表示ISP这边收到了数据,但是数据存在问题。
kernel Log:
03-19 02:48:53.541784 373 2136 E iio/ifunc: [vendor/mediatek/proprietary/hardware/mtkcam/legacy/platform/mt8173/core/imageio/drv/cam/isp_function.cpp, waitBufReady, line9153] ERROR: wait p1 done fail,cause isp no response, no SOF
03-19 02:48:53.541801 373 2136 E iio/ifunc: [vendor/mediatek/proprietary/hardware/mtkcam/legacy/platform/mt8173/core/imageio/drv/cam/isp_function.cpp, waitBufReady, line9157] ERROR: wait p1 done fail,cause isp no response, no SOF
03-19 02:48:57.613215 373 2136 E iio/ifunc: [vendor/mediatek/proprietary/hardware/mtkcam/legacy/platform/mt8173/core/imageio/drv/cam/isp_function.cpp, waitBufReady, line9153] ERROR: wait p1 done fail,cause isp no response, no SOF
一般这种log 情况都会表明mipi 信号无法被decode,当然我们有理由也应该去怀疑mipi 信号是否正常,这点可以通过测量mipi 信号来查看sensor 出的mipi信号是否符合spec。