Qualcomm Camera 开发遇到的错误及解决方法

原创 2012年03月29日 18:02:04

1. Camera module probe error:    (2011.6.28)

I2C slave address:0x48 not connected.

I2C read transfer failed.

Root cause: 

I2C slave address error. The default sub camera i2c slave address for i2c read/write is 0x48, while the right address for Aptina MT9V115 is 0x3D (i.e, 0x7A >> 1).

Reference from Aptina MT9V115 specification:

 The twolines used for CCI communication are the serial data line (SDA) and the serialclock line (SCL). The CCI bus is only used for control signals. No image datais transferred through the CCI bus.

The CCIbus is designed to manage fast (400 kHz) CCI communication.

 CCI address

The CCI slave address is 0111101, i.e., themodule is addressed by 0111101X, where X = 0 when writing to the camera and X =1 when reading from it. The read and write addresses are given by Table below:

Read address


Write address



2. After chat camera sensor is probed successfully, camera application can not start up. (2011.7.4)

Root cause: 

sensor module ID was read out from sensor during probe, and saved in user space for finding related .dat file when starting camera app. The code related with reading sensor module ID is skipped for new sensor MT9V115(since I'm reusing code from MT9V114, no code exists regarding to reading sensor module). Null is passed to and saved in user space, which leads to error when camera app starting up. 


Fill sensor module ID, and pass the right module name to user space. 

 3. When start camera, exception occoured and force close.  (2011.7.5)

Root cause:

Sensor initilization sequence is not correct. MT9V114 sequence does not work for MT9V115, since 115 supports MIPI and parrallel for data output, while 114 supports only signal mode. Register settings are quite different especially regarding to MIPI and PLL clock settings.


Contact vendor VFE to get correct sequence.

4. Initial sequence is correct, but sensor register can be writen/read, only if sensor reset/soft standby is performed.

Root cause:

The hardware STANDBY pin to sensor is enabled by mistake when sensor is powered on. 

Sensor STANDBY pin is reused from previous CAM_RESET function pin, which is active low and has to keep high during normal operation. While HIGH in this pin leads to sensor HW STANDBY, then sensor can not be software reset or wake up.

Solution: Set the pin to LOW when sensor on, as below.

/* CHAT_CAM_RST_N release(GPIO25 = HIGH) */
ret = camera_gpio_access(
g_camera_ctrl->sensordata->sub_sensor_reset, GPIO_LO);

5. Sensor can be initialized for YUV, MIPI mode. But got VFE error below when receiving first frame:

<3>[ 145.969467] irq        errorIrq

<3>[ 145.969660] msm_control: done rc = 0

<3>[ 145.975270] vfe31_irq: camif errors

<3>[ 145.978810] camifStatus  = 0x1e00500

Root cause:

CSI settings not configured during sensor initilization.


Add function below after sensor reset:     mt9v115_set_csi_setting();

6. VFE error disappears, but frame data still can't be received, error below: (2011.8.15)

E [HCF] VFE irq violation.

Rootcause: mt9v115 output bayer data 648*488, but QCT camera driver requires clipping in VFE before calculating zoom. The clipping size is:

cut 6 pixels off at begin/end of each line, 3 lines off top/bottom of each frame. This way, size becomes 636*482. Width is shorter than required 640. 

This will leads to wrong value when calculating VFE_Camif_firstPixel, VFE_Camif_lastPixel, etc, which leads to wrong VFE & camif settings.


1. Reduce preview size to narrower than VGA, such as QVGA(480*320), preview works fine.

2. Let VFE clipping cut less pixels each line, such as 3 instead of 6, preview also works, but in viewfinder, there will be green lines at right or left side.

Recommend, solution 1.

7. On new VSB board, if old and new chat camera are mounted at the same time, old camera will not work.  (2011.7.28)

Root Cause: Standby pin for MT9V115 is sharing the same gpio as RESET pin of MT9M114(old chat sensor). In kernel driver, this pin is set to HIGH after sensor on, to make MT9M114 in normal operation mode. But HIGH forces MT9V115 enter HW Standby mode, then by default MIPI data/clk lines are set to LOW. This affects the MIPI bus and as a result MIPI signal is interfered and goes wrong.

Solution: Remove new chat camera from board. Notes: try not to connect both chat camera at same time.

8. MT9V115 输出VGA bayer,由于高通驱动中需要裁掉一些pixel/line(6 pixels/line,3 line/frame),以使ISP做demosaic,鉴于硬件限制,无法做到VGA preview。所以只好使sensor输出YUV。但目前YUV的问题是,config process block在什么地方,导致_msm_control中等待config status超时。(2011.8.15)

9. MT9V115 输出YUV,每次拍照后显示都会freeze在那。(2011.9.5)

Root Cause: 所用的MT9V115为SoC(System-On-A-Chip) sensor,内部自带有自己的3A,由于QCT baseband侧的ISP3A没有disable掉,导致冲突。

Solution: 关掉ISP3A。


MSM8909 平台camera移植

转载自:http://blog.chinaunix.net/uid-7213935-id-5749314.html 一.硬件分析 在调试的时候,一定要拿到电路图,模组规格书,SENSOR ...


在上一篇中因为是在PC机上使用的USB摄像头只能支持GPEG image格式,但是H264编码需要使用YUV数据,所以我找了个ARM开发板来做测试。本以为代码从PC机移植到开发板是很简单的一个事,谁知...

android 开发中经常遇到的错误以及解决方法

1、Caused by: java.lang.ClassNotFoundException: com.test.handler.BultiThreadHandlerin loader dalvik.s...


06-25 02:50:27.080: W/dalvikvm(1019): threadid=1: thread exiting with uncaught exception (group=0x40...


  • 2016年10月06日 18:05
  • 1.64MB
  • 下载

Android 开发环境搭建 与在编译中遇到错误make Error 45解决方法

Android 开发环境搭建   一、安装ubuntu 10.10操作系统        使用光盘安装,注意分区,分一个swap分区为3G(原则需要与内存一样大,但可以稍微比内存大一点)。当时...

Android调用Camera API拍照遇到的问题和解决方法



  • 2016年11月16日 17:21
  • 533KB
  • 下载
您举报文章:Qualcomm Camera 开发遇到的错误及解决方法