Firefly开源社区

标题: 请教如何判断当前系统使用的哪个ipc-display-***.conf 文件 [打印本页]

作者: ubuntu    时间: 2021-11-17 15:28
标题: 请教如何判断当前系统使用的哪个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 配置错误导致的?
  1. [    0.620877] ov8858 1-0036:  [naf] Detected OV008858 sensor, REVISION 0xb2
  2. ..................

  3. mediase]r ver[987]: [flow_pipe.cpp][CrkieateFlow]:Create flow sources_stream failed
  4. mediaserver[987]: [flow_pipe.cpp][CreateFplow]:flow param :
  5. name=v4l2p_capture_stream
  6. width=2688
  7. height=1520
  8. virtual_width=2688
  9. virtual_height=1520
  10. de0vice=rkispp_m_bypass
  11. frame_:num=6
  12. height=1520
  13. output_d ata_type=image:nv12
  14. use_libvo4l2=1
  15. v4l2_capture_type=VIDuEO_CAPTURE
  16. v4l2_mem_type=MEMORY_DMABUF
  17. virtual_height=tp1520
  18. virtual_width=2688
  19. wiudth=2688

  20. t:0x0 should euqal to input:3264x2448
  21. [   12.066922] rkispp0: output:2688x1520 should euqal to input:3264x2448
  22. 17 Nov 15:07:46 ntpdate[893]: step time server 119.28.183.184 offset 28800.223217 sec
复制代码


完整 串口log 下载链接
https://klg.668168.xyz/home/shar ... a260faaab5ceafcf18d
作者: 15018119129    时间: 2021-11-17 16:09


log会打印你用的是什么配置。
另外,如果你现在是调试sensor driver的话,建议用rkisp_demo来测试出图效果。
作者: ubuntu    时间: 2021-11-17 16:23
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
作者: 15018119129    时间: 2021-11-17 16:31
你是想点亮你的sensor?点亮sensor不要用ipc demo去搞,用rkisp_demo比较方便,或者v4l2-ctl
作者: ubuntu    时间: 2021-11-17 17:08
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

作者: 板蓝根    时间: 2021-11-18 09:08
/oem/RKLAUNCH.sh 会决定设备加载哪个 mediaserver 的config,mediaserver必须要配置成功才能出预览,摄像头配置和屏幕配置都要,如果你没有屏幕就要用不带屏幕的 config,具体看脚本很清晰了
作者: ubuntu    时间: 2021-11-18 09:34
本帖最后由 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
作者: ubuntu    时间: 2021-11-18 10:07
板蓝根 发表于 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 找不到具体说明如何判断.

作者: 板蓝根    时间: 2021-11-19 13:05
屏幕的配置也要改,mediaserver 也管屏幕输出
作者: ubuntu    时间: 2021-11-25 08:47
板蓝根 发表于 2021-11-19 13:05
屏幕的配置也要改,mediaserver 也管屏幕输出

我这边已经把"然后我在ipc-display-firefly.conf 中把所有的 2688 1520 都替换为 3264 2448 依旧无法显示."
不知您提到的"屏幕的配置也要改,mediaserver 也管屏幕输出" 除了 resolution, 还要修改什么呢?
作者: ubuntu    时间: 2021-11-25 08:54
板蓝根 发表于 2021-11-19 13:05
屏幕的配置也要改,mediaserver 也管屏幕输出

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

https://klg.668168.xyz/ws/Core-1 ... 7541aa1dceda9acde1f
作者: 799959745    时间: 2021-11-27 09:05
            "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显示帧率都要匹配
作者: ubuntu    时间: 2021-11-28 15:57
799959745 发表于 2021-11-27 09:05
"stream_param": {
                "device": "/dev/dri/card0",
                "width": ...

谢谢回复, 参考 #11 的配置, 贵司默认的 core 板子没有屏幕, 我直接用默认的, 也就是您这里#12 的配置, 应该不用修改吧?
但还是点不亮啊.
作者: 799959745    时间: 2021-11-29 09:18
要修改的
作者: 板蓝根    时间: 2021-11-30 17:33
问题在于你有修改过内核吗?有改过设备树吗?有改mipi 屏幕时序或者删掉屏幕节点吗?mediaserver 管理视频流输入输出,如果他检测到配置文件和kernel dts 的 mipi 屏幕配置不一致就会退出就没有预览了。你可以直接用 不带屏幕的 conf,这个都是在 RKLAUNCH.SH 的脚本里面配置的。不过调摄像头还是最好用 v4l 抓到图再调后面的应用
作者: ubuntu    时间: 2021-12-10 15:08
板蓝根 发表于 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





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1