This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5728: GStreamer error

Part Number: AM5728
Other Parts Discussed in Thread: AM5718

Tool/software: Linux

Hi,

We are using ti-processor-sdk-linux-am57xx-evm-04.02.00.09 release to develop our custom board. 

While using example command of gstreamer:

target # gst-launch-1.0 -e v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, \

format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)30/1' ! vpe num-input-buffers=8 ! \
queue ! ducatimpeg4enc bitrate=4000 ! queue ! mpeg4videoparse ! qtmux ! filesink location=x.mp4

We got error message as below: 

root@am57xx-evm:~# ls /dev/video*
/dev/video0 /dev/video1 /dev/video10 /dev/video11
root@am57xx-evm:~# gst-launch-1.0 -e v4l2src device=/dev/video1 num-buffers=1000
io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720
, framerate=(fraction)30/1' ! vpe num-input-buffers=8 ! queue ! ducatimpeg4enc b
itrate=4000 ! queue ! mpeg4videoparse ! qtmux ! filesink location=x.mp4
Setting pipeline to PAUSED ...
MmRpc_create: Error: open failed, name=/dev/rpmsg-dce
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstDucatiMPEG4Enc:ducatimpeg4enc0: Co
uld not initialize supporting library.
Additional debug info:
../../../../gst-plugins-base-1.8.3/gst-libs/gst/video/gstvideoencoder.c(1541): g
st_video_encoder_change_state (): /GstPipeline:pipeline0/GstDucatiMPEG4Enc:ducat
impeg4enc0:
Failed to start encoder
../git/libdce.c:416: dce_ipc_init ERROR: Failed eError == DCE_EOK error va
l -4../git/libdce.c:479: Engine_open ERROR: Failed dce_ipc_init(coreIdx) == D
CE_EOK error val -4Setting pipeline to NULL ...
Freeing pipeline ...
root@am57xx-evm:~# 

By searching on E2E, we found that the IPU2 is not enabled in out dts file (thread). After enable the IPU2, we still got same error message while using gstreamer.

And got「omap_hwmod: ipu2: failed to hardreset」 while entering Kernel. We searched on E2E and  found the thread has report the same issue.

IPU2 error.TXT

We also try to apply our customized dtb & zImage with TI released MLO & u-boot.img run on the EVM board and it works fine. 

But it cannot work while apply our customized dtb & zImage & MLO & u-boot.img on our customized board.

We wondered is there anything required to prevent hardreset fail? 

Or is it possible caused by PinMUX conflict (timer3/timer4/timer9)? Or is it caused by hardware boot-up sequence?

Below is my current dts file.

2548.myDts.TXT

Regards,

Collin

 

  • Hello,

    Gstreamer point of view the pipeline is fine but the error that you are observing seems like ipu2 firmware is not loaded.

    What is the output of this command:

    ls -l /dev/rpmsg* . This should shows /dev/rpmsg-dce.

    If this does not exist please search for dra7-ipu2.fw.xem4 in /lib/firmware.

    "omap_hwmod: ipu2: failed to hardreset"

    Per my understanding all works on EVM right?

    If yes, please check this answer: e2e.ti.com/.../2321383

    BR

    Margarita
  • Hi Margarita,

    Thanks for your quick reply.

    The rpmsg-dce do not exist in the /dev/ folder.

    The dra7-ipu2.fw.xem4 do exist in the /lib/firmware folder.

    root@am57xx-evm:~# ls -l /dev/rpmsg*
    ls: /dev/rpmsg*: No such file or directory
    root@am57xx-evm:~#
    root@am57xx-evm:~# ls -l /lib/firmware/dra7-ipu2-fw.xem4
    lrwxrwxrwx 1 root root 40 Sep 17 2018 /lib/firmware/dra7-ipu2
    -fw.xem4 -> /lib/firmware/dra7-ipu2-fw.xem4.ipumm-fw
    root@am57xx-evm:~#

    Yes, it works fine on EVM board. Below is the screen.

    According to your experience, what is the possible root cause of this issue?

    Any clues would be appreciated, I will pass the information to our HW team.

    Regards,

    Collin

  • Hello,

    This is the result on my side:
    root@am57xx-evm:~# ls -l /dev/rpmsg*
    crw------- 1 root root 242, 1 Mar 26 15:23 /dev/rpmsg-dce
    root@am57xx-evm:~#

    It seems like ipu2 node is missing please refer the below  answer if this will help:
    e2e.ti.com/.../2514060

    BR
    Margarita

  • Hi Margarita,

    IPU2 node already add in my dts file.  I use same zImage & dtb  on our customized board and EVM board.

    On our customized board:

    U-boot: customized MLO & u-boot.img

    Kernel: customized zImage & dtb

    The /dev/rpmsg-dce not exist but the /lib/firmware/dra7-ipu2.fw.xem4 exist.

    Capture and Encode into a MP4 file fail.

    On EVM board:

    U-boot: TI Release MLO & u-boot.img

    Kernel: customized zImage & dtb

    The /dev/rpmsg-dce exist and the /lib/firmware/dra7-ipu2.fw.xem4 exist.

    Capture and Encode into a MP4 file success.

    We face the same problem which Neil faced. By Rex's opinion, it is the custom hardware issue.

    Do you have any suggestion/clue for our HW team to figure out the root cause of this issue?

    Regards,

    Collin

  • Hello,

    You could compare them.
    You may take a look into this thread also:
    e2e.ti.com/.../673777
    It is for am5718 but it could give you some hints.

    BR
    Margarita
  • Hi Margarita,

    Thanks for your great help.
    The root cause is the EMU0/EMU1 be configured as GPIO.
    Thank you again.

    Regards,
    Collin
  • Hello,

    I am glad that the issue is solved.
    Thank you!

    BR
    Margarita