排查效果不佳问题的步骤
复现步骤:
在Debian下使用命令 gst-launch-1.0 v4l2src device=/dev/video22 ! video/x-raw,format=NV12,width=640,height=480, framerate=30/1 ! waylandsink 打开后摄的 mainpath,效果偏绿,光线较暗
排查过程:
- 查看3a是否是否运行
camera出流时候cat /proc/rkisp* 确认isp图像模块有在工作;
3a没有工作时
root@linaro-alip:/# cat /proc/rkisp*
rkisp0-vir0 Version:v02.00.00
clk_isp_core 702000000
aclk_isp 750000000
hclk_isp 198000000
clk_isp_core_marvin 702000000
clk_isp_core_vicap 702000000
Interrupt Cnt:2441 ErrCnt:0
Input rkcif-mipi-lvds Format:SBGGR10_1X10 Size:4224x3136@30fps Offset(0,0)
Isp online frame:1219 working time:32ms v-blank:740us
Output rkisp_mainpath Format:NV12 Size:640x480 Dcrop(0,0|4224x3136) (frame:1219 rate:33ms delay:32ms frameloss:305)
CMSK OFF(0x0)
DPCC0 OFF(0x40000004)
DPCC1 OFF(0x4)
DPCC2 OFF(0x4)
BLS OFF(0x0)
SDG OFF(0x6117)
LSC OFF(0x0)
AWBGAIN OFF(0x6117) (gain: 0x01000100, 0x01000100)
DEBAYER ON(0xf000111)
CCM OFF(0x0)
GAMMA_OUT OFF(0x0)
CPROC OFF(0x0)
IE OFF(0x0) (effect: BLACKWHITE)
HDRDRC OFF(0x0)
HDRMGE OFF(0x0)
BAYNR OFF(0x100)
BAY3D OFF(0x0)
YNR OFF(0x4801000)
CNR OFF(0x40000002)
SHARP OFF(0x0)
GIC OFF(0x0)
DHAZ OFF(0x110)
3DLUT OFF(0x0)
LDCH OFF(0x0)
CSM FULL(0x6117), y_offs:0x0 c_offs:0x80
coeff Y:0x26 0x4b 0xf CB:0x1ea 0x1d6 0x40 CR:0x40 0x1ca 0x1f6
CAC OFF(0x0)
GAIN OFF(0x0)
RAWAF OFF(0xb6)
RAWAWB OFF(0x0)
RAWAE0 OFF(0x0)
RAWAE1 OFF(0x0)
RAWAE2 OFF(0x0)
RAWAE3 OFF(0x0)
RAWHIST0 OFF(0x80000000)
RAWHIST1 OFF(0xa0000000)
RAWHIST2 OFF(0xa0000000)
RAWHIST3 OFF(0xa0000000)
BigMode OFF(0x18)
DEBUG1 space full status group (0x999fffff)
ibuf2:0x9 ibuf1:0x9 ibuf0:0x9 mpfbc_infifo:0xf
r1fifo:0xf r0fifo:0xf outfifo:0xf lafifo:0xf
DEBUG2 0x9bc09b0
bay3d_fifo_full iir:0 cur:0
module outform vertical counter:2492, out frame counter:0
isp output line counter:2480
DEBUG3 isp pipeline group (0xf7f55ff5)
mge(1 1) rawnr(1 1) bay3d(0 1) tmo(1 1)
gic(1 1) dbr(1 1) debayer(0 1) dhaz(0 1)
lut3d(0 1) ldch(0 1) ynr(1 1) shp(1 1)
cgc(1 1) cac(1 1) isp_out(0 1) isp_in(0 1)
Monitor OFF Cnt:0
Debug mode:0x0
rkisp1-vir0 Version:v02.00.00
clk_isp_core 300000000
aclk_isp 750000000
hclk_isp 198000000
clk_isp_core_marvin 300000000
clk_isp_core_vicap 300000000
Interrupt Cnt:0 ErrCnt:0
Input (null) Format:SBGGR10_1X10 Size:800x600@5fps Offset(0,0)
root@linaro-alip:/#
3a开启后
root@RK3588:/# cat /proc/rkisp*
rkisp0-vir0 Version:v02.00.00
clk_isp_core 702000000
aclk_isp 750000000
hclk_isp 198000000
clk_isp_core_marvin 702000000
clk_isp_core_vicap 702000000
Interrupt Cnt:68780 ErrCnt:0
Input rkcif-mipi-lvds Format:SBGGR10_1X10 Size:4224x3136@30fps Offset(0,0)
Isp Read mode:frame1 (frame:34389 rate:40ms idle time:19ms frameloss:0) cnt(total:34389 X1:34389 X2:-1 X3:-1)
hw link:1 idle:1 vir(mode:0 index:0)
Output rkisp_mainpath Format:NV12 Size:640x480 Dcrop(0,0|4224x3136) (frame:34389 rate:39ms delay:55ms frameloss:2)
CMSK OFF(0x0)
DPCC0 ON(0x5)
DPCC1 ON(0x5)
DPCC2 ON(0x5)
BLS ON(0x1)
SDG OFF(0x6197)
LSC ON(0x5)
AWBGAIN ON(0x6197) (gain: 0x01110111, 0x02490182)
DEBAYER ON(0x7000111)
CCM ON(0x80000001)
GAMMA_OUT ON(0x80000005)
CPROC ON(0xf)
IE OFF(0x0) (effect: BLACKWHITE)
HDRDRC OFF(0x0)
HDRMGE OFF(0x0)
BAYNR ON(0x80000001)
BAY3D ON(0x20c920c9)
YNR ON(0xc4001001)
CNR ON(0xa0000001)
SHARP ON(0x40000001)
GIC OFF(0x0)
DHAZ ON(0x84111011)
3DLUT OFF(0x0)
LDCH OFF(0x0)
CSM FULL(0x6197), y_offs:0x0 c_offs:0x80
coeff Y:0x26 0x4b 0xf CB:0x1ea 0x1d6 0x40 CR:0x40 0x1ca 0x1f6
CAC OFF(0x0)
GAIN ON(0x80010111)
RAWAF ON(0x107f)
RAWAWB ON(0x774688f)
RAWAE0 OFF(0x40000002)
RAWAE1 OFF(0x400000f4)
RAWAE2 ON(0x400000f5)
RAWAE3 ON(0x40000005)
RAWHIST0 OFF(0x80000500)
RAWHIST1 OFF(0xa0000500)
RAWHIST2 ON(0x60000501)
RAWHIST3 ON(0x60000501)
BigMode ON(0x30000018)
DEBUG1 space full status group (0x999fffff)
ibuf2:0x9 ibuf1:0x9 ibuf0:0x9 mpfbc_infifo:0xf
r1fifo:0xf r0fifo:0xf outfifo:0xf lafifo:0xf
DEBUG2 0x0
bay3d_fifo_full iir:0 cur:0
module outform vertical counter:0, out frame counter:0
isp output line counter:0
DEBUG3 isp pipeline group (0x55555555)
mge(0 1) rawnr(0 1) bay3d(0 1) tmo(0 1)
gic(0 1) dbr(0 1) debayer(0 1) dhaz(0 1)
lut3d(0 1) ldch(0 1) ynr(0 1) shp(0 1)
cgc(0 1) cac(0 1) isp_out(0 1) isp_in(0 1)
Monitor OFF Cnt:0
Debug mode:0x0
rkisp1-vir0 Version:v02.00.00
clk_isp_core 300000000
aclk_isp 750000000
hclk_isp 198000000
clk_isp_core_marvin 300000000
clk_isp_core_vicap 300000000
Interrupt Cnt:0 ErrCnt:0
Input (null) Format:SBGGR10_1X10 Size:800x600@5fps Offset(0,0)
root@RK3588:/#
- 如没有3a模块开启,需开启rkaiq_3A_server
在终端下查看ps -ef是否有rkaiq_3A_server 进程,一般的在Debian下/etc/init.d目录下会有rkaiq_3A.sh的脚本在开机时启动rkaiq_3A_server ,在buildroot下也会有类似的脚本camera_rkaiq_test.sh
#!/bin/bash
### BEGIN INIT INFO
# Provides: rkaiq_3a
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description:
# Description: Setup rkaiq 3a daemon
### END INIT INFO
start_3A()
{
/usr/bin/rkaiq_3A_server 2>&1 | logger -t rkaiq &
}
stop_3A()
{
killall rkaiq_3A_server || true
}
case "$1" in
start)
start_3A
;;
stop)
stop_3A
;;
reload)
stop_3A
start_3A
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
如没有开启可手动启动,并查看kernel log或查看/var/log/syslog,如果没有开启,可能是rkaiq_3A_server在开启过程中出现段错误,可参考rk3588 rkaiq_3A_server 无法解析json文件记录
段错误有可能有几个原因:
1.rkaiq_3A_server编译有问题或版本有问题
运行strings ./usr/lib/librkaiq.so |grep "AIQ v"可以查看
2.效果参数json文件命名问题导致解析不到对应的json文件,需要和dts中的名词对应
3.json文件版本问题
查看356x是否有调试过类似的sensor,对应的是isp21
3588对应的是isp3x,如果是将json里面scene_isp21 改为scene_isp30,然后用isp2x_tuner选择3588配置以及对于rkaiq版本,导入修改scens的json重新生成试试