issue反馈时自行检查如下项
§ 1、请确认CCT版本和平台是否匹配?
2、请确认连CCT的操作是否正确
3、更换usb线,确认是否是由于usb线引起的
4、如果担心是新旧版本的问题,请更换其他版本的CCT看是否可以连接
5、是否可以进入meta mode ?
6、如果连CCT时没有进入meta mode ,请确认meta tool 和sp hw_test tool 是否可以连接,如果可进入meta mode 界面则无需确认
issue反馈时需要提交的信息及抓log具体方法:
1. 首先清空PC机C:\WM_META_DLL.log和BROM_DLL_V5.log
2. 然后连接CCT作相关操作,复现问题,并告知操作步骤以及出现问题的时间点。
3. 连线CCT的同时请打开两个cmd line,抓取kernel log 和android log(也可以用 GAT 工具抓取)
4. Issue操作过程的视频,以及问题图片。
5. 操作完毕后提供如下log:
C:\WM_META_DLL.log
C:\BROM_DLL_V5.log
Kernel log
Android log
简要介绍adb抓取log的步骤,仅供参考:
1. kernel logadb shell cat /proc/kmsg> d:\kerlog
kernel log在D盘下kerlog
2. android log adb shell logcat -v threadtime > D:\adrlog
android log在D盘下adrlog,且可以抓取 time 和 thread 信息
[Camera Tuning] CCT常见问题总结
1、MT6582 L CCT 调试后save nvram有出现导出参数和原始参数一样,参数不生效或者重开机后修改参数不生效
请打patch ALPS01896680 (ae awb 部分) ,ALPS01928784 (ISP 部分)【 SwVersion :ALPS.L0.MP2.V1】
2、MT6592连CCT自动断开
请打patch ALPS01448642 【Sw Version: ALPS.KK1.MP1.V2.11】
3、MT6752连接camera调试工具CCT勾选quick capture时,提示adb services is out of data
Mt6752 CCT 在 “CCT6752v1.1441.02” 之後加入了Quick Capture,Quick Capture 勾起來, 表示使用 ADB 傳檔, 速度較快,只要是手机可以正常连adb的就支持quick capture ,
【Root cause】提示adb services is out of data的根本原因是多个adb.exe冲突
【调试方法】如下
方法1、如果adb是可以连接的,请替换掉cct中自带的adb.exe文件
方法2、删除cct中自带的adb.exe文件
方法3 、在硬盘中搜索adb.exe文件,然后找到所对应的应用程序,卸载该应用或者直接删除这个adb.exe即可
方法4、将adb.ext AdbWinApi.dll AdbWinUsbApi.dll 三只文件拷贝到C:\Windows\SysWOW64文件夹即可
4、MT6595 CCT 拍照之后就断开链接,即无法拍照
【Root cause】flashlight导致CCT连接失败
遇到无法拍照时,首先,确认sensor driver 是否是我司验证过的,没有验证过的sensor可能会导致连CCT无法拍照。其次,如果在log中找到和flash相关的error,可以尝试将flash关掉看是否还会复现问题
5、CCT 无法连接
5.1 CCT无法连接,可以进入meta mode,无法显示预览画面
log中若发现如下error,请在config.ftbl.
E/AcdkMhalEng( 215):{#939:mediatek/platform/mt6752/hardware/mtkcam/acdk/src/acdk/AcdkMhalEng.cpp}Err : Prv Size : 1280x720 is not supported. Try 640x480,
【Root cause】找不到匹配的预览size导致无法连接
建议在修改config.ftbl.“sensorname”.h文件时,在不知道CCT previewsize是多大的情况下,先不要删除下面这5个size,320x240,640x480,800x600,960x540,1280x720以免造成cct无法连接问题
5.2 MT6595无法连接CCT,会显示开机logo,没有显示meta mode
【Root cause】AF 有问题导致无法连接,遇到无法连接cct并且不能进入metamode此类问题可以先关掉AF,看是否还会复现问题。
5.3 MT6752版本,CCT无法连接,可以进入metamode,弹出对话框显示 Invalid input argument,CCT版本是CCT_v1.1444
方法1、更新CCT版本,新版本上已经修正这个问题
方法2、在MT6595_Android_CCT_Register_Definition.csv文件中,更改isp 的值
6、MT8752平台 camera 连CCT工具拍照卡死
请打patch :ALPS.KK2.MP13.V1.27 【sw version: ALPS.KK2.MP13.V1.27】
7、MT6735P &MT6735M 无法连接CCT
35M和35P code 已经移植到L1 branch,之前的L0 branch不再维护,请更新软件版本
【Root cause】:软件版本太旧,更新软件版本。
8、MT6735M电信版本使用35版本CCT,MT6735M非电信版本使用35M版本CCT.
MT6735P电信版本使用35版本CCT,MT6735P非电信版本使用35M版本CCT
MT6735和MT6753使用MT6735版本CCT.
MT6580使用35M版本CCT。
9、L版本 CCT工具连接不上手机,出现general error
log中有 关键字avc: denied 则是权限问题导致的,请用QAAT扫描,会告知需要添加哪些权限
10、L版本连CCT后af不动,但不连CCT进camera后 af是可以动的
L版本需要对AF开通权限,在alps/device/mediatek/common/sepolicy/meta_tst.te中 添加对应AF的权限,例如FM50AF的权限是: allow meta_tst FM50AF_device:chr_file { read write ioctl open };
11、导入device info和aepline,在未修改任何值的情況下直接apply進手機的NVRAM,关机——再开机进camera會卡死
可以采取离线调试,并帮忙反馈提交CR
离线调试,cct不连手机,导入device info,导入aepline,点击mapping按钮,修改aepline,导出aepline,将导出的tuning参数文件替换到hal层参数下,build code。
12: MT6592版本 CCT工具调试USB CAM OV5648 连上之后不出来预览画面
请申请patch:ALPS01436842【Sw version:ALPS.KK1.MP1.V2.10】
13:MT6735M连CCT调shading出现拍照卡死,拍出图片为绿色
如果在log中有 ERROR: dequeueDstBuffer for vido fail,在每次拍照时请勾选common control 对话框中的bpc
14、MT6735M连CCT导入aepline后apply save会显示'' ISP<1000''
请使用CCT6735Mv1.1516.01版本的 CCT 工具
15、push libcameracustom.so文件后,连不上CCT, Tool端显示general error,push前是可以连接的
在log中有如下error:
E MtkCam/entry_mdk: [getModuleLib] dlopen: libacdk.so error=dlopen failed: "libcameracustom.so" is 32-bit instead of 64-bit (getModuleLib)
【Root cause】调用libcameracustom.so时出现问题解决方法:
1、push时需要注意32和64bit 都要push也就是要,分别push到/system/lib和system/lib64
2、请确认libcameracustom.so是否正确
16、6735M、6795平台连cct后拍照卡死,或可以拍照拍下的图片是绿色
请使用最新的cct工具CCT6795v1.1520.01 、CCT6735Mv1.1520.01,并确保tuning参数中bpc和bnr同时开启
以6795平台s5k3m2为例 、 tuning参数中bpc和bnr的开关如下:
在camera_isp_regs_s5k3m2mipiraw.h文件中
BPC:{
{set:{ // 00: profile = preview, sensor mode = preview, iso = 100
0x00000001,第0个bit位是bpc开关位
NR1:{
{set:{// 00: profile = preview, sensor mode = preview, iso = 100
0x00000010, 第1个bit位是bnr开关位
17、CCT Flashlight Calibration异常,adb comand正常。Branch KK1.MP11, KK2.MP13, L0.MP6
请申请Patch: ALPS01794118
使用adb命令的方式在正常开机环境下做flash 校准,步骤如下:
1. adb shell
2. setprop z.flash_ratio 1
3. 全黑环境下,请将手机固定,对着白墙10cm,固定。
4. 点击拍照,然后手机会自动打闪多次(其中不要任何人员靠近,避免影响光源)。
5. 手机停止拍照以后,存储空间内将生成eng_all.txt, eng_code.txt, fwb_code.txt等文件。
校准数据检查没问题后,
1.将eng_code.txt中的engTab数据合入到flash_tuning_custom_cct.cpp中的engTab数组中;
2.将fwb_code.txt中的数据合入到Camera_flash_awb_para_xxxxxx.h的Flash AWB Calibration数组中。
合入后重新编译即可生效。
18、连CCT后切换到ISP页面后卡死
如果WM_META_DLL.log中有如下error,则是hal层tuning参数有问题,用其他ok sensor的hal层参数整体替换。
ERROR: <0> META_YUSU_CCT_V2OPGetISPNVRAMData(token=213): META_YUSU_CCT_V2OPGetISPNVRAMDataBuf() failed!, datatype(53733508), offset(0), length(0), cct_cnf.m_data(0x033074EC), recv_len(0), cct_cnf.m_data_len(29484). (wm_meta_cct_internal.cpp:17068)
06/09/15 11:54:06.722 WM_META_DLL[8020][308]: <---- META_YUSU_CCT_V2OPGetISPTuningData(): Leave ----- (WM_META_utility.cpp:985)
19、MT6580+CCT6735M 用CCT工具shading calibration后isp_regs的LSC register 参数不直观,无效位的随机值干扰参数确认。
L1.MP3和L1.MP6 请申请Patch id:ALPS02121776
L1.MP2 MT6752
9/3 ~ 10/8 区间申请了Patch ALPS02274600会出现此问题, 10/8 RD有修正,可以重新申请Patch
L1.MP3 MT6735/MT6753
L1.MP3.PPB MT6735/MT6753
9/22 ~ 10/19 区间申请了Patch ALPS01794118 有此问题,修正时间为 10/19
修正方案:
按如下方式修改后,就可以正常调试并正确导出参数
/vendor/mediatek/properetary/platform/mt6795/hardware/mtkcam/acdk/src/acdk/AcdkMain.cpp中 MINT32 AcdkMain::init()
NvBufUtil::getInstance().setCctMode(0)改为
NvBufUtil::getInstance().setCctMode(1)
21、M版本连接CCT无法拍照问题
155477 01-01 00:10:48.535 200 269 D MtkCam/MtkCamUtils: (269)[saveBufToFile] opening file [/data/proc__1640x1232_10_3]
155479 01-01 00:10:48.537 200 269 E MtkCam/MtkCamUtils: (saveBufToFile){#148:vendor/mediatek/proprietary/hardware/mtkcam/legacy/v1/common/camutils/CamMisc.cpp}(269)[saveBufToFile] failed to create file [/data/proc__1640x1232_10_3]: Permission denied
155481 01-01 00:10:48.540 200 269 D MtkCam/CamAdapter: Raw saved: 0: /data/proc__1640x1232_10_3
156233 01-01 00:10:48.889 200 282 E AcdkMain: {#4630:vendor/mediatek/proprietary/hardware/mtkcam/legacy/platform/mt6580/acdk/src/acdk/AcdkMain.cpp}Err : Can't open file to save image
156241 01-01 00:10:48.891 200 242 D AcdkMain: [takePicture_CameraDev] Save Raw image file name:/data/proc__1640x1232_10_3
156247 01-01 00:10:48.892 200 242 E AcdkMain: {#3617:vendor/mediatek/proprietary/hardware/mtkcam/legacy/platform/mt6580/acdk/src/acdk/AcdkMain.cpp}Err : Can't open file to save image
解决方法: 修改后的文件参考附件
具体修改的地方如下:
1.alps\vendor\mediatek\proprietary\hardware\mtkcam\legacy\platform\xxxx\acdk\src\acdk
alps\vendor\mediatek\proprietary\hardware\mtkcam\legacy\platform\xxxx\acdk\src\cct\calibration
alps\vendor\mediatek\proprietary\hardware\mtkcam\legacy\platform\xxxx\acdk\src\surfaceview
acdk\src\acdk文件夹下 AcdkMain.cpp,AcdkMhalEng.cpp,AcdkMhalPure.cpp
acdk\src\cct\calibration文件夹下 cct_calibration.cpp和cct_imgtool.cpp
acdk\src\surfaceview文件夹下surfaceView.cpp
将这六只文件中的:
#define MEDIA_PATH "//data" 改为#define MEDIA_PATH "//sdcard"
#define MEDIA_PATH "/data" 改为#define MEDIA_PATH "/sdcard"
2、AcdkMhalEng.cpp文件中set(map, "rawfname", "/data/");改为set(map, "rawfname", "/sdcard/");
cct_calibration.cpp文件中sprintf(filename, "/data/Raw_%dx%d.raw", m_u2RawImgWidth, m_u2RawImgHeight);改为
sprintf(filename, "/sdcard/Raw_%dx%d.raw", m_u2RawImgWidth, m_u2RawImgHeight);
surfaceView.cpp中g_fp = fopen ("//data//prv.raw", "wb");
改为 g_fp = fopen ("//sdcard//prv.raw", "wb");