请教如何判断当前系统使用的哪个ipc-display-***.conf 文件

请教这个文件ipc-display*.conf 怎么判断当前系统用的哪一个, 该如何配置才能支持新的 resolution 的 sensor
codebase 中
./app/mediaserver/src/conf/rv1109/ipc-display*.conf
bin 中
/oem/usr/share/mediaserver/rv1109/ipc-display*.conf

参考如下截图,

更换 sensor 后camera 无法预览的完整 minicom 串口 log 如下.
我认为的报错部分, 是否是 ipc**.conf 配置错误导致的?

[    0.620877] ov8858 1-0036:  [naf] Detected OV008858 sensor, REVISION 0xb2
..................

mediase]r ver[987]: [flow_pipe.cpp][CrkieateFlow]:Create flow sources_stream failed
mediaserver[987]: [flow_pipe.cpp][CreateFplow]:flow param :
name=v4l2p_capture_stream
width=2688
height=1520
virtual_width=2688
virtual_height=1520
 de0vice=rkispp_m_bypass
frame_:num=6
height=1520
output_d ata_type=image:nv12
use_libvo4l2=1
v4l2_capture_type=VIDuEO_CAPTURE
v4l2_mem_type=MEMORY_DMABUF
virtual_height=tp1520
virtual_width=2688
wiudth=2688

t:0x0 should euqal to input:3264x2448
[   12.066922] rkispp0: output:2688x1520 should euqal to input:3264x2448
17 Nov 15:07:46 ntpdate[893]: step time server 119.28.183.184 offset 28800.223217 sec

完整 串口log 下载链接
https://klg.668168.xyz/home/share/naf_ov8858_mipi_debug.log.cap?token=bc850195173b8a260faaab5ceafcf18d

log会打印你用的是什么配置。
另外,如果你现在是调试sensor driver的话,建议用rkisp_demo来测试出图效果。

15018119129 发表于 2021-11-17 16:09
log会打印你用的是什么配置。
另外,如果你现在是调试sensor driver的话,建议用rkisp_demo来测试出图 …

谢谢, 已经找到了.
但修改后还是报这样的错误, 请教这个分辨率是在哪里配置的?

mediaserver[991]: [flow_pipe.cpp][CreateFlow]:flow param :
name=v4l2_capture_stream
width=2688
height=1520
virtual_width=268 8
virtual_height=1520
dev12ice=rkispp_m_bypass
frame_num=6
height=1520
output_dat.a_type=image:nv12
use_libv41l2=1
v4l2_capture_type=VIDE5O_CAPTURE
v4l2_mem_type=MEMORY_DMABUF
virtual_height=1520
vi3rtual_width=2688
width=2688

你是想点亮你的sensor?点亮sensor不要用ipc demo去搞,用rkisp_demo比较方便,或者v4l2-ctl

15018119129 发表于 2021-11-17 16:31
你是想点亮你的sensor?点亮sensor不要用ipc demo去搞,用rkisp_demo比较方便,或者v4l2-ctl

非常谢谢您的建议.

  1. v4l2-ctl 是我最早尝试的方法, 但卡在 dump raw 的命令使用上.
    如下最后一步中, 请教v4l2-ctl -d /dev/video5 \ 这个 应该 dump哪个 videoID呢?

media-ctl -d /dev/media0 --set-v4l2 ‘“m01_f_ov8858 1-0036”:0[fmt:SBGGR10_1X10/3264x2448]’
media-ctl -d /dev/media1 --set-v4l2 ‘“rkisp-isp-subdev”:0[fmt:SBGGR10_1X10/3264x2448]’
media-ctl -d /dev/media1 --set-v4l2 ‘“rkisp-isp-subdev”:0[crop:(0,0)/3264x2448]’
media-ctl -d /dev/media1 --set-v4l2 ‘“rkisp-isp-subdev”:2[fmt:SBGGR10_1X10/3264x2448]’
media-ctl -d /dev/media1 -l ‘“rkisp-isp-subdev”:2->“rkisp-bridge-ispp”:0[0]’
// 等价于 media-ctl -d /dev/media1 -l ‘1:2->13:0[1]’

media-ctl -d /dev/media1 -l ‘“rkisp-isp-subdev”:2->“rkisp_mainpath”:0[1]’
v4l2-ctl -d /dev/video5
–set-ctrl ‘exposure=1216,analogue_gain=10’
–set-selection=target=crop,top=0,left=0,width=3264,height=2448
–set-fmt-video=width=3264,height=2448,pixelformat=BG10
–stream-mmap=3 --stream-to=/tmp/mp.raw.out --stream-count=1 --stream-poll

/oem/RKLAUNCH.sh 会决定设备加载哪个 mediaserver 的config,mediaserver必须要配置成功才能出预览,摄像头配置和屏幕配置都要,如果你没有屏幕就要用不带屏幕的 config,具体看脚本很清晰了

本帖最后由 ubuntu 于 2021-11-18 09:36 编辑

板蓝根 发表于 2021-11-18 09:08
/oem/RKLAUNCH.sh 会决定设备加载哪个 mediaserver 的config,mediaserver必须要配置成功才能出预览,摄像 …

谢谢回复.

您提到的这个文件中, 这段 code 中, 没有适配 3264X2448 的 4:3 sensor, 都是适配的 16:9 的 sensor resolution, 那若用 4:3 3264X2448 的 sensor , 这里需要修改吗? 或者哪里有类似sysconfig-8M.db 的文件可以使用?
if [ ! -f “/oem/sysconfig.db” ]; then
media-ctl -p -d /dev/media1 | grep 3840x2160
if [ $? -eq 0 ] ;then
ln -s -f /oem/sysconfig-4K.db /oem/sysconfig.db
fi
media-ctl -p -d /dev/media1 | grep 2688x1520
if [ $? -eq 0 ] ;then
ln -s -f /oem/sysconfig-2K.db /oem/sysconfig.db
fi
media-ctl -p -d /dev/media1 | grep 1920x1080
if [ $? -eq 0 ] ;then
ln -s -f /oem/sysconfig-1080P.db /oem/sysconfig.db
fi
media-ctl -p -d /dev/media1 | grep 2592x1944
if [ $? -eq 0 ] ;then
ln -s -f /oem/sysconfig-5M.db /oem/sysconfig.db
fi
fi

板蓝根 发表于 2021-11-18 09:08
/oem/RKLAUNCH.sh 会决定设备加载哪个 mediaserver 的config,mediaserver必须要配置成功才能出预览,摄像 …

从 RKLunch.sh 中看, 贵司默认的Core-1126-JD4 开发板当前走的是如下ipc-display-firefly.conf
if [ -z “$QUICKDISPLAY” ]; then
if [ $HasAudio -eq 1 ]; then
mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-display-firefly.conf

然后我在ipc-display-firefly.conf 中把所有的 2688 1520 都替换为 3264 2448 依旧无法显示.

所以现在就没有思路了, 请教此平台中有办法判断 sensor 是否有正常吐 raw 数据吗? 以手机上的 debug 方法:

  1. 看 kernel log 是否有连续的 deque buffer, 或者看 sof eof mipi信号
  2. 尝试 dump raw 图判断

但 rv1106 找不到具体说明如何判断.

屏幕的配置也要改,mediaserver 也管屏幕输出

板蓝根 发表于 2021-11-19 13:05
屏幕的配置也要改,mediaserver 也管屏幕输出

我这边已经把"然后我在ipc-display-firefly.conf 中把所有的 2688 1520 都替换为 3264 2448 依旧无法显示."
不知您提到的"屏幕的配置也要改,mediaserver 也管屏幕输出" 除了 resolution, 还要修改什么呢?

板蓝根 发表于 2021-11-19 13:05
屏幕的配置也要改,mediaserver 也管屏幕输出

mediaserver conf 我修改的版本上传到如下链接, 请问哪里还要修改呢?

https://klg.668168.xyz/ws/Core-1126-JD4/app/mediaserver/src/conf/rv1109/ipc-display-firefly.conf?token=1efd6964c80b17541aa1dceda9acde1f

“stream_param”: {
“device”: “/dev/dri/card0”,
“width”: “800”,
“height”: “1280”,
“virtual_width”: “800”,
“virtual_height”: “1280”,
“output_data_type”: “image:rgb888”,
“framerate”: “54”,
“plane_type”: “Primary”,
“ZPOS”: “0”
}
屏幕宽高,framerate显示帧率都要匹配

799959745 发表于 2021-11-27 09:05
“stream_param”: {
“device”: “/dev/dri/card0”,
“width”: …

谢谢回复, 参考 #11 的配置, 贵司默认的 core 板子没有屏幕, 我直接用默认的, 也就是您这里#12 的配置, 应该不用修改吧?
但还是点不亮啊.

要修改的

问题在于你有修改过内核吗?有改过设备树吗?有改mipi 屏幕时序或者删掉屏幕节点吗?mediaserver 管理视频流输入输出,如果他检测到配置文件和kernel dts 的 mipi 屏幕配置不一致就会退出就没有预览了。你可以直接用 不带屏幕的 conf,这个都是在 RKLAUNCH.SH 的脚本里面配置的。不过调摄像头还是最好用 v4l 抓到图再调后面的应用

板蓝根 发表于 2021-11-30 17:33
问题在于你有修改过内核吗?有改过设备树吗?有改mipi 屏幕时序或者删掉屏幕节点吗?mediaserver 管理视频 …

谢谢指导, 参考您的建议, 目前有两种方案:

  1. 用不带屏幕的 conf, 我这边对比了如下两个文件, 然后直接把屏幕的配置删除,也就是 Pipe_3 删除. 结果现象不变, 依旧无效.
    \oem\usr\share\mediaserver\rv1109\ipc.conf
    oem\usr\share\mediaserver\rv1109\ipc-display-firefly.conf
    对比 code 见

2.您的第二种建议,直接用 v4l2 抓图的说明.
这个小的早想这样玩了, 手机上面都是这样,先确认是否出 raw 图的.但这里怎么 dump raw 图呢,799959745大佬提供的方法无效, 后面就没回复了?
我下面这个帖子上 5 楼上799959745 大佬也建议 dump raw 图, 但提供的 dump 方法在 demo os04a10 都无法顺利 dump, 后面799959745 大佬就没回复了.
https://dev.t-firefly.com/thread-114854-1-1.html