Toybrick

标题: 使用MPP引起vpu_service复位 [打印本页]

作者: 15992605143    时间: 2019-10-15 14:52
标题: 使用MPP引起vpu_service复位
使用MPP解码H264视频,运行3-5分钟左右,发生下面的错误,导致解码中断。软件恢复以后运行一段时间又会重复发生。
基本上每间隔几分钟就会发生复位,在发生复位以前,也没有报什么错误。请问怎么解决?

出错信息:
[NULL @ 0x3b3ca2e0] nal_unit_type: 7, nal_ref_idc: 3
[NULL @ 0x3b3ca2e0] nal_unit_type: 8, nal_ref_idc: 3
[h264_rkmpp @ 0x3b3c9e50] Wrote 59031 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Wrote 3032 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Wrote 2564 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Wrote 2601 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[  182.145538] rk-vcodec ffb80000.vpu_service: resetting...
[  182.145599] rk-vcodec ffb80000.vpu_service: reset done
[  182.145658Aug  5 10:07:31 rk1808 user.info kernel: [  182.145538] rk-vcodec ffb80000.vpu_service: resetting...
Aug  5 10:07:31 rk1808 user.info kernel: [  182.145599] rk-vcodec ffb80000.vpu_service: reset done
Aug  5 10:07:31 rk1808 user.info kernel: [  182.145658] rk-vcodec ffb80000.vpu_service: reset done
] rk-vcodec ffb80000.vpu_service: reset done
[h264_rkmpp @ 0x3b3c9e50] Wrote 5181 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 2110 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 4509 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 2143 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 4260 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Wrote 4282 bytes to decoder
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Received a frame.
[h264_rkmpp @ 0x3b3c9e50] Received a frame.


补充:
程序初始化启动时输出的信息如下:
mpi: mpp version: Without VCS info
[   70.809393] rk_vcodec: vpu_service_ioctl:1889: error: unknown vpu service ioctl cmd 40086c01
Aug  5 09:03:41 rk1808 user.err kernel: [   70.809393] rk_vcodec: vpu_service_ioctl:1889: error: unknown vpu service ioctl cmd 40086c01
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
mpp: deprecated block control, use timeout control instead
mpp: deprecated block control, use timeout control instead


作者: jefferyzhang    时间: 2019-10-15 16:13
1. 你发的log里没有看出任何错误,开始时候前几行error并不是错误,而是mpp在找适配的硬件。mpp是所有rk平台通用的。
2. 你说的reset原因是丢包或包不完整,mpp解不了,所以重置了vpu寄存器。这都是正常现象。
作者: 15992605143    时间: 2019-10-16 13:44
一般出现这种情况怎么处理呢?
作者: jefferyzhang    时间: 2019-10-16 14:11
15992605143 发表于 2019-10-16 13:44
一般出现这种情况怎么处理呢?

不处理,网络本来就有不稳定性。丢一两个包又不碍事。。。
要是一个包丢不能丢,那你就用tcp连接就好了
作者: 15992605143    时间: 2019-10-16 14:32
不处理的话,后续会接收到数量不少的error frame(3个到50个之间),表现在程序上就是画面会卡顿。有没有方法较快速恢复正常解码。
作者: yjr1220    时间: 2019-10-17 22:30
我在3328的硬件解码中也碰到类似的问题,解码每隔几分钟就reset , 导致画面卡顿,请问楼主怎么解决?
作者: yjr1220    时间: 2019-10-17 22:35
我专门检测了数据,没有丢包,但解码器仍旧隔几分钟reset, 不知道那个环节出错了,请问楼主,喂给解码器的数据包大小是否有要求? 还有喂给解码器数据的时间间隔是否有要求? 我们在使用的时候要注意什么问题? 能否指点一下!!! 多谢!
作者: yjr1220    时间: 2019-10-17 22:52
我的log 是:
mpi: mpp version: Without VCS info
[  105.082378] rk_vcodec: vpu_service_ioctl:1894: error: unknown vpu service ioctl cmd 40086c01
mpp_rt: NOT found ion allocator
mpp_rt: found drm allocator
[  115.303070] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  115.313993] rk-vcodec ff360000.rkvdec: reset done
[  115.318804] rk-vcodec ff360000.rkvdec: reset done
[  116.298924] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  116.309876] rk-vcodec ff360000.rkvdec: reset done
[  116.314712] rk-vcodec ff360000.rkvdec: reset done
[  117.299392] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  117.310301] rk-vcodec ff360000.rkvdec: reset done
[  117.315128] rk-vcodec ff360000.rkvdec: reset done
[  118.306827] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  118.317751] rk-vcodec ff360000.rkvdec: reset done
[  118.322565] rk-vcodec ff360000.rkvdec: reset done
[  119.296326] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  119.307284] rk-vcodec ff360000.rkvdec: reset done
[  119.312117] rk-vcodec ff360000.rkvdec: reset done
[  120.301059] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  120.311954] rk-vcodec ff360000.rkvdec: reset done
[  120.316771] rk-vcodec ff360000.rkvdec: reset done
[  121.301842] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  121.312636] rk-vcodec ff360000.rkvdec: reset done
[  121.317496] rk-vcodec ff360000.rkvdec: reset done
[  122.306047] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  122.316959] rk-vcodec ff360000.rkvdec: reset done
[  122.321787] rk-vcodec ff360000.rkvdec: reset done
[  123.306950] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  123.317820] rk-vcodec ff360000.rkvdec: reset done
[  123.322652] rk-vcodec ff360000.rkvdec: reset done
[  124.310390] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  124.321352] rk-vcodec ff360000.rkvdec: reset done
[  124.326165] rk-vcodec ff360000.rkvdec: reset done
[  125.313844] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  125.324624] rk-vcodec ff360000.rkvdec: reset done
[  125.329482] rk-vcodec ff360000.rkvdec: reset done
[  126.314485] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  126.325259] rk-vcodec ff360000.rkvdec: reset done
[  126.330058] rk-vcodec ff360000.rkvdec: reset done
[  127.318822] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  127.329780] rk-vcodec ff360000.rkvdec: reset done
[  127.334594] rk-vcodec ff360000.rkvdec: reset done
[  128.315759] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  128.326661] rk-vcodec ff360000.rkvdec: reset done
[  128.331512] rk-vcodec ff360000.rkvdec: reset done
[  129.314084] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  129.324973] rk-vcodec ff360000.rkvdec: reset done
[  129.329794] rk-vcodec ff360000.rkvdec: reset done
[  130.318005] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  130.328925] rk-vcodec ff360000.rkvdec: reset done
[  130.333752] rk-vcodec ff360000.rkvdec: reset done
[  131.317598] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  131.328451] rk-vcodec ff360000.rkvdec: reset done
[  131.333278] rk-vcodec ff360000.rkvdec: reset done
[  132.314773] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  132.325683] rk-vcodec ff360000.rkvdec: reset done
[  132.330537] rk-vcodec ff360000.rkvdec: reset done
[  133.319846] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  133.330750] rk-vcodec ff360000.rkvdec: reset done
[  133.335559] rk-vcodec ff360000.rkvdec: reset done
[  134.318572] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  134.329473] rk-vcodec ff360000.rkvdec: reset done
[  134.334297] rk-vcodec ff360000.rkvdec: reset done
[  135.323654] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  135.334525] rk-vcodec ff360000.rkvdec: reset done
[  135.339361] rk-vcodec ff360000.rkvdec: reset done
[  136.331009] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  136.341876] rk-vcodec ff360000.rkvdec: reset done
[  136.346694] rk-vcodec ff360000.rkvdec: reset done
[  137.328402] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  137.339311] rk-vcodec ff360000.rkvdec: reset done
[  137.344145] rk-vcodec ff360000.rkvdec: reset done
[  138.331349] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  138.342275] rk-vcodec ff360000.rkvdec: reset done
[  138.347098] rk-vcodec ff360000.rkvdec: reset done
[  139.327303] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  139.338263] rk-vcodec ff360000.rkvdec: reset done
[  139.343090] rk-vcodec ff360000.rkvdec: reset done
[  140.334784] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  140.345665] rk-vcodec ff360000.rkvdec: reset done
[  140.350519] rk-vcodec ff360000.rkvdec: reset done
[  141.328773] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  141.339633] rk-vcodec ff360000.rkvdec: reset done
[  141.344496] rk-vcodec ff360000.rkvdec: reset done
[  142.332043] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  142.342987] rk-vcodec ff360000.rkvdec: reset done
[  142.347809] rk-vcodec ff360000.rkvdec: reset done
[  143.330912] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  143.341829] rk-vcodec ff360000.rkvdec: reset done
[  143.346649] rk-vcodec ff360000.rkvdec: reset done
[  144.337273] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  144.348142] rk-vcodec ff360000.rkvdec: reset done
[  144.352962] rk-vcodec ff360000.rkvdec: reset done
[  145.330155] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  145.341015] rk-vcodec ff360000.rkvdec: reset done
[  145.345843] rk-vcodec ff360000.rkvdec: reset done
[  146.341648] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  146.352567] rk-vcodec ff360000.rkvdec: reset done
[  146.357387] rk-vcodec ff360000.rkvdec: reset done
[  147.336517] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  147.347477] rk-vcodec ff360000.rkvdec: reset done
[  147.352301] rk-vcodec ff360000.rkvdec: reset done
[  148.336659] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  148.347578] rk-vcodec ff360000.rkvdec: reset done
[  148.352401] rk-vcodec ff360000.rkvdec: reset done
[  149.338660] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  149.349585] rk-vcodec ff360000.rkvdec: reset done
[  149.354405] rk-vcodec ff360000.rkvdec: reset done
[  150.339762] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  150.350665] rk-vcodec ff360000.rkvdec: reset done
[  150.355518] rk-vcodec ff360000.rkvdec: reset done
[  151.337034] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  151.347927] rk-vcodec ff360000.rkvdec: reset done
[  151.352757] rk-vcodec ff360000.rkvdec: reset done
[  152.343466] rk-vcodec ff360000.rkvdec: resetting...
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
[  152.354325] rk-vcodec ff360000.rkvdec: reset done
[  152.359122] rk-vcodec ff360000.rkvdec: reset done
^C

   
作者: yjr1220    时间: 2019-10-17 22:57
难道是解码器在图像没有变化是就休眠了?

作者: yjr1220    时间: 2019-10-17 22:58
当我在摄像头前面晃动物体时,就不再reset, 好像有这个规律!  楼主请帮忙分析分析。
作者: 15992605143    时间: 2019-10-18 12:42
你的情况好像更复杂一些,有明显报错信息:
ERROR:   rockchip_plat_sip_handler: unhandled SMC (0x8200000c)
作者: 15992605143    时间: 2019-10-18 14:50
你这个情况跟我那个有点不一样,你这个是报错了。
作者: jefferyzhang    时间: 2019-10-18 15:03
本帖最后由 jefferyzhang 于 2019-10-18 15:26 编辑

他这个错误跟你的不是一个问题。他这个是因为硬件电路设计问题造成的。

作者: jefferyzhang    时间: 2019-10-18 15:25
yjr1220 发表于 2019-10-17 22:58
当我在摄像头前面晃动物体时,就不再reset, 好像有这个规律!  楼主请帮忙分析分析。 ...

你这个是因为:
IP通过axi去ddr取数,然后卡死了,那么需要reset 一下ddr,才能恢复。是硬件问题。可能是取数的时候,时钟没踩上吧。
这问题只有322x、3328才会有,并不是toybrick的问题
请走正规redmine询问。
作者: yjr1220    时间: 2019-10-20 21:53
,谢谢回答!
作者: yjr1220    时间: 2019-10-20 22:38
请问楼主,有什么可以解决的办法吗?快出货了! 坑啊!




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3