camera troubleshot

来源:互联网 发布:河南中医药大学软件类 编辑:程序博客网 时间:2024/06/07 00:15

Preview issue:

1.sometimes camera preview slowly

debug process:

preview slowly maybe cause by following problem:

1)camera sensor output frame is slow

we can enable some logs in msm_vfe40_process_camif_irq() to check if it output 30fps.

2)camera service surfaceling is stuck ,it lead fail to get buffer and as a result camera occur frame drop

we can check it in log, if there is lot of frame drop, we can ask for camera FW to check it.

3)CPU thermal problems

since the devices is heating when the problem happen, and we can check that  the CPU frequencies come down to 200Mhz, when camera heating ,it set frame rate automatic

 

2)camera unstable: sometimes occur  camera open failed, and camera flash purple screen when preview

about the camera flash purple, we can dump the frame output by ISP  to  check whether it is caused by the camera sensor. and we check that the data is also have the same

problem, so we change MCLK from 23.88Mhz  to 24Mhz,the probability is little after apply it, but it still exist. and we saw that the frame rate is slow when occur this issue,

 and we find that there is setting frame rate operation, so we set the exposure gain and countline value. it work!

reason: when thermal issue happen ,the way of thermal mitigation is using frameskip or fps , when it work, it may disturb the camera sensor working.

open faied : happen camif error. change MCLK by experience

 

3)camera anr

1.VFE bus overflow

description:

the VFE generates the processed output frames to SNOC, and then the data stream is forwarded to BIMC bus to save temporarily in DDR memory.

check the two bus clk

reason: too much VFE data traffic is generated at a rate which exceeds the available bus bandwidth

1.improve the bus clock frequency to increase the total bandwidth

2.checking AB/IB voting bandwidth and increasing AB/IB bandwidth

3.identifying AXI configuration

4.optimum VFE burst length

5.dumping surfaceflinger information to check whether it is caused by other multimedia subsystem components

 

4)frame drop, get buffer fail continues

some module is not releasing the buffers back to CPP leading this issue

debug : check the timestamp log to find out the interval that a buffer was dequeued .or queued back to Kernel.

if the user space holds successive buffer for a given stream that might seem stuck.

there are some of reasons leading this issue.

1.check whether deadlock in HAL

2.sufaceview delete leading the buffer are not dequeue.

3.display buffer are not distributed

4.CPU frequencies decline, the bandwidth can not handle so large data.

 

5)IOMMU page fault

case 01583659

 

 6)bestmode happen fatal error

 libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 7865 (Binder_1)

tid 7865,it mean that thread 7865 leading this issue.

Line 79658: ------ TOMBSTONE (/data/tombstones/tombstone_00: 2015-03-11 09:47:58) ------

we can just search this keywords

Stack frame #00 pc 00000000  <unknown>: Unable to open symbol file symbols/<unknown>. Error (22): Invalid argument
Stack frame #01 pc 0001dc0b  /system/lib/hw/camera.msm8916.so (qcamera::QCamera2HardwareInterface::sendCommand(int, int, int)+574): Routine qcamera::QCamera2HardwareInterface::sendCommand(int, int, int) at /home/dpi/qb5_8814/workspace/J1QLTE_USA_VZW/android/hardware/qcom/camera/QCamera2/HAL/QCamera2HWI.cpp:3332

let's look at the line:

mPerfLockHandle = perf_lock_acq(mPerfLockHandle, 10000)

so we can conclude the function perf_lock_acq maybe NULL



 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击