Firefly开源社区

标题: uvc 程序, RKAIQ Init Err 错误请教 [打印本页]

作者: ubuntu    时间: 2022-1-12 15:27
标题: uvc 程序, RKAIQ Init Err 错误请教
本帖最后由 ubuntu 于 2022-1-12 18:46 编辑

背景:
build 为aio-rv1126-rkmedia-uvcc.mk项目.默认 os04a10 正常预览. 但 dts 更换为 gc2053, 插入点亮验证正常的 gc2053 模组, 反复报如下错误.

iq文件名字反复核对和 dts 一样.
  1. ##RKMEDIA Log level: 2
  2. [RKMEDIA][SYS][Info]:text is all=2
  3. [RKMEDIA][SYS][Info]:module is all, log_level is 2
  4. Loading model ...
  5. Waitting RKAIQ Init ...
  6. model input num: 1, output num: 2
  7. input tensors:
  8. index=0 name= n_dims=4 dims=[1 300 300 3] n_elems=270000 size=270000 fmt=0 type=3 qnt_type=2 fl=127 zp=127 scale=0.007843
  9. output tensors:
  10. index=0 name= n_dims=4 dims=[1 1917 1 4] n_elems=7668 size=7668 fmt=0 type=3 qnt_type=2 fl=-76 zp=180 scale=0.089482
  11. index=1 name= n_dims=3 dims=[0 1 1917 91] n_elems=174447 size=174447 fmt=0 type=3 qnt_type=2 fl=-66 zp=190 scale=0.137463
  12. create rknn_list success
  13. main initial finish
  14. tcp server listen_sockfd: 7
  15. [    8.242038] dwc3 ffd00000.dwc3: device reset
  16. start rknn server, version:1.5.2 (e67e5cb build: 2020-12-03 15:04:52)
  17. I NPUTransfer: Starting NPU Transfer Server, Transfer version 2.1.0 (b5861e7@2020-11-23T11:51:07)
  18. [    8.373855] dwc3 ffd00000.dwc3: device reset
  19. [    8.373924] android_work: did not send uevent (0 0   (null))
  20. Waitting RKAIQ Init ...
  21. [    8.518602] android_work: sent uevent USB_STATE=CONNECTED
  22. [    8.610600] configfs-gadget gadget: high-speed config #1: b
  23. [    8.610745] configfs-gadget gadget: uvc_function_set_alt(2, 0)
  24. [    8.610757] configfs-gadget gadget: reset UVC Control
  25. [    8.610778] configfs-gadget gadget: uvc_function_set_alt(3, 0)
  26. [    8.610991] android_work: sent uevent USB_STATE=CONFIGURED
  27. [    8.741471] configfs-gadget gadget: uvc_function_set_alt(3, 0)
  28. [    8.801643] NOHZ: local_softirq_pending 08
  29. [    8.813989] NOHZ: local_softirq_pending 08
  30. [    8.853983] NOHZ: local_softirq_pending 08
  31. Waitting RKAIQ Init ...
  32. [    9.666014] NOHZ: local_softirq_pending 08
  33. [    9.857987] NOHZ: local_softirq_pending 08
  34. [    9.858683] NOHZ: local_softirq_pending 08
  35. [    9.869944] NOHZ: local_softirq_pending 08
  36. [    9.903650] NOHZ: local_softirq_pending 08
  37. [   10.021968] NOHZ: local_softirq_pending 08
  38. [   10.045939] NOHZ: local_softirq_pending 08
  39. Waitting RKAIQ Init ...
  40. Waitting RKAIQ Init ...
  41. set governor ondemand ok
  42. Waitting RKAIQ Init ...
  43. Waitting RKAIQ Init ...
  44. Waitting RKAIQ Init ...
  45. Waitting RKAIQ Init ...
  46. Waitting RKAIQ Init ...
  47. RKAIQ Init Err !!!
  48. [  566.385294] adbd (1045): /proc/1045/oom_adj is deprecated, please use /proc/1045/oom_score_adj instead.

  49. [root@RV1126_RV1109:/]#
复制代码






作者: 799959745    时间: 2022-1-13 09:05
更换摄像头应该是要修改源代码适配的
作者: ubuntu    时间: 2022-1-13 09:40
799959745 发表于 2022-1-13 09:05
更换摄像头应该是要修改源代码适配的

再往下追发现 问题点对比 log 如下, 能给点建议吗?
  1. [RKMEDIA][SYS][Warn]:VI[1t]:"rkispp_scale1" buffer mayh be occupied by other module s or apps, try again...
复制代码
[/code]
os04a10 正常 log
  1. [ [RKMEDIA][SYS][Info]:#V4L2Ctx : open /dev/video20, fd 106
  2. 10.242624]         [width max:1280 ratio max:8 min:2]
  3. [   10.242675] rkispp0: scale1:0x0 out of range:
  4. [   10.242675]         [width max:1280 ratio max:8 min:2]
  5. [   10.242700] rkispp0: scale1:0x0 out of range:
  6. [   10.242700]         [width max:1280 ratio max:8 min:2]
  7. [RKMEDIA][SYS][Info]:RK_MPI_VI_EnableChn: Enable VI[0:1]:rkispp_scale1, 720x576 End...
  8. Rga[0] create
  9. [RKMEDIA][SYS][Info]:RK_MPI_RGA_CreateChn: Enable RGA[0], Rect<0,0,1280,720> Start...
  10. [RKMEDIA][SYS][Info]:FilterFlow:rkrga: Enable BufferPool! memtype:hw_mem, memcnt:2
  11. [RKMEDIA][SYS][Info]:RK_MPI_RGA_CreateChn: Enable RGA[0], Rect<0,0,1280,720> End...
  12. [RKMEDIA][SYS][Info]:RK_MPI_SYS_Bind: Bind Mode[VI]:Chn[0] to Mode[RGA]:Chn[0]...
  13. Rga[1] create
  14. [RKMEDIA][SYS][Info]:RK_MPI_RGA_CreateChn: Enable RGA[1], Rect<0,0,720,576> Start...
  15. [RKMEDIA][SYS][Info]:FilterFlow:rkrga: Enable BufferPool! memtype:hw_mem, memcnt:2
  16. [RKMEDIA][SYS][Info]:RK_MPI_RGA_CreateChn: Enable RGA[1], Rect<0,0,720,576> End...
  17. [RKMEDIA][SYS][Info]:RK_MPI_SYS_Bind: Bind Mode[VI]:Chn[1] to Mode[RGA]:Chn[1]...
  18. #Start GetMediaBuffer thread, arg:(nil)
复制代码

gc2053 异常 log.
  1. [RKMEDIA][SYS][Info]:#V4L2Ct[x: open /dev/video20, fd 105
  2. [RKMEDIA][SYS][Error]:rkisp p_scale1, s fmt failed(cap t ype=1, NV12), Invalid argumen t
  3. [RKMEDIA][SYS][Info]:#V4L2Ctx: close , fd 105
  4. [RKMEDIA][S3YS][Info]:#V4L2Stream: v4l2 2ctx reset to nullptr!
  5. .33242[RKMEDIA][VI][Info]:Create s8tream v4l2_capture_stream fa] iled
  6. [RKMEDIA][VI][Info]:#S        urceStreamFlow[]: stream of[wf....
  7. [RKMEDIA][VI][Info]:#iSourceStreamFlow[]: read thread exit sucessfully!
  8. [RKMEDIA][VI][Info]:#SourceStreamFlow[]: stream reset sucessfullyd!
  9. [RKMEDIA][SYS][Warn]:VI[1t]:"rkispp_scale1" buffer mayh be occupied by other module s or apps, try again...
复制代码

作者: 799959745    时间: 2022-1-13 11:08
cat proc/version看一下版本。
要改程序源代码。看一下rkmedia/example有关双目摄像头demo的示例进行修改。
作者: ubuntu    时间: 2022-1-13 11:15
799959745 发表于 2022-1-13 11:08
cat proc/version看一下版本。
要改程序源代码。看一下rkmedia/example有关双目摄像头demo的示例进行修改 ...

版本如下, 我用的默认 uvc_app. dts里面把 os04a10 换成 gc2053. 请教哪方面的"程序源码"还要修改?

[root@RV1126_RV1109:/]# cat proc/version
Linux version 4.19.111 (x@fa14e1f641f4) (rv1126_rv1109_linux_ai_camera_20210904.xml) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)) #1 SMP PREEMPT Thu Jan 6 22:35:58 HKT 2022
[root@RV1126_RV1109:/]#
作者: ubuntu    时间: 2022-1-13 11:22
对比" dts里面把 os04a10 换成 gc2053" 前后的,开启完整 log 的对比信息如下.



完整 log 对比 log 下载链接.
https://klg.668168.xyz/home/shar ... r?auth=mGGnYeuWvqsy
作者: 板蓝根    时间: 2022-1-17 09:25
RKAIQ Init Err !!! 是 ARCUVC_APP 查不到 aiserver 的进程在跑,认为 RKAIQ 没有被初始化然后退出了。你应该 ps -ef | grep ispserver  ;  ps -ef | grep aiserver 看一下两个进程有没有运行,如果没有,你应该单独自己手动 运行 ispserver 看一下 log RKAIQ 初始化哪里报错
作者: ubuntu    时间: 2022-1-19 11:07
本帖最后由 ubuntu 于 2022-1-19 11:10 编辑
板蓝根 发表于 2022-1-17 09:25
RKAIQ Init Err !!! 是 ARCUVC_APP 查不到 aiserver 的进程在跑,认为 RKAIQ 没有被初始化然后退出了。你应 ...

赞。
已经找到原因了

首先, 的确如您推测,是ispserver 和aiserver 没起来。 进而发现是RkLunch.sh 都没起来。发现@799959745 做的aio-rv1126-rkmedia-uvcc.mk项目 默认没开RkLunch.sh , 而是如下进程。
[root@RV1126_RV1109:/]# ps -ef | grep sh                                                                                                                                                                                                     
root      874    1  0 02:45 ?        00:00:01 /usr/bin/firefly_rkmedia_vi_uvc_test -a /oem/etc/iqfiles/ -c /oem/usr/share/rtsp-nn.cfg -p /oem/usr/share/rknn_model/ssd_inception_v2_rv1109_rv1126.rknn -l
root      881    1  0 02:45 ?        00:00:00 /bin/sh /usr/bin/start_rknn.sh
作者: ubuntu    时间: 2022-1-20 08:49
板蓝根 发表于 2022-1-17 09:25
RKAIQ Init Err !!! 是 ARCUVC_APP 查不到 aiserver 的进程在跑,认为 RKAIQ 没有被初始化然后退出了。你应 ...

有个疑问请教:
#8 楼中, 我把firefly_rkmedia_vi_uvc_test 进程杀了, 然后 adb 无法使用.
这是怎么回事呢?
作者: 板蓝根    时间: 2022-1-20 10:11
确实会这样,如果要独立 adb 还是直接使用原有 /etc/init.d/S50usbdevice 去初始化设备
作者: ubuntu    时间: 2022-1-20 10:40
板蓝根 发表于 2022-1-20 10:11
确实会这样,如果要独立 adb 还是直接使用原有 /etc/init.d/S50usbdevice 去初始化设备

我把S58_lunch_init, 也就是开启firefly_rkmedia_vi_uvc_test对应的脚本, 里面的内容全部删了. 但还是无法 使用adb.
怀疑usb_config.sh 中网口影响(这个网口什么时候用 eth0 ,什么时候是 eth2 ?), 又还原为 eth0 ,也无效.
sed -i s/eth0/eth2/g /oem/usb_config.sh

可以给点建议吗?

  1. source /etc/profile.d/RkEnv.sh

  2. case "$1" in
  3.         start)
  4.                 if (cat /proc/device-tree/model | grep CAM-CRV > /dev/null)
  5.                 then
  6.                         echo "/oem/usb_config.sh don't need to modify"
  7.                         /oem/usb_config.sh rndis
  8.                         sed -i '$d' /oem/usr/share/rtsp-nn.cfg
  9.                         sed -i '$a\path=/live/main_stream video_type=7 width=1920 height=1080 image_type=4 video_path=rkispp_scale1' /oem/usr/share/rtsp-nn.cfg
  10.                         /usr/bin/firefly_rkmedia_vi_uvc_double_cameras_test -a /oem/etc/iqfiles/ -c /oem/usr/share/rtsp-nn.cfg -p /oem/usr/share/rknn_model/ssd_inception_v2_rv1109_rv1126.rknn -l /oem/usr/share/rknn_model/coco_labels_list.txt -b /oem/usr/share/rknn_model/box_priors.txt &
  11.                 else
  12.                         sed -i s/eth2/eth0/g /oem/usb_config.sh
  13.                         /oem/usb_config.sh rndis
  14.                         #/usr/bin/firefly_rkmedia_vi_uvc_test -a /oem/etc/iqfiles/ -c /oem/usr/share/rtsp-nn.cfg -p /oem/usr/share/rknn_model/ssd_inception_v2_rv1109_rv1126.rknn -l /oem/usr/share/rknn_model/coco_labels_list.txt -b /oem/usr/share/rknn_model/box_priors.txt &
  15.                 fi
  16.                 ;;
  17.         stop)
  18.                 #killall firefly_rkmedia_vi_uvc_test
  19.                 ;;
  20.         *)
  21.                 echo "Usage: $0 {start|stop}"
  22.                 exit 1
  23.                 ;;
  24. esac
  25. exit 0
复制代码

作者: 板蓝根    时间: 2022-1-20 15:29
如果不使用 uvc ,需要用 /etc/init.d/S50usbdevice  去初始化而不是用 usb_config.sh
作者: ubuntu    时间: 2022-1-20 15:41
板蓝根 发表于 2022-1-20 15:29
如果不使用 uvc ,需要用 /etc/init.d/S50usbdevice  去初始化而不是用 usb_config.sh

直接把 /etc/init.d/S58_lunch_init 里面所以内容都删了, 默认应该先走到S50usbdevice, 似乎 也不行啊?
作者: 板蓝根    时间: 2022-1-21 09:03
S50usbdevice 先看一下,uvc mk 编译的话 S50usbdevice 会注释一些代码,需要手动打开,而且建议最好去理解一下 S50usbdevice 干了什么,这个代码量不多的




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