Error in opening firmware binary file for i.mx6 solo wandboard

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Error in opening firmware binary file for i.mx6 solo wandboard

跳至解决方案
5,382 次查看
lonsn
Contributor I

Hi,

I have an i.mx6 solo wandboard and I am testing the video decode function.

Kernel is 3.0.35 from wandboard and rootfs is rootfs.tar.bz2 from freescale L3.0.35_3.0.0_121207_images_MX6.tar.gz.

I failed for following test and seems error in opening vpu firmware binary.

But actually I have firmware file:

root@freescale /$ ls -l /lib/firmware/vpu/

-rw-r--r--    1 root     root         65552 Dec  7  2012 vpu_fw_imx27_TO1.bin

-rw-r--r--    1 root     root         65552 Dec  7  2012 vpu_fw_imx27_TO2.bin

-rw-r--r--    1 root     root        147472 Dec  7  2012 vpu_fw_imx51.bin

-rw-r--r--    1 root     root        147472 Dec  7  2012 vpu_fw_imx53.bin

-rw-r--r--    1 root     root        253968 Dec  7  2012 vpu_fw_imx6d.bin

-rw-r--r--    1 root     root        253968 Dec  7  2012 vpu_fw_imx6q.bin

root@freescale /$

root@freescale /lib/firmware$ gst-launch playbin2 uri=file:///tmp/video/snsd.avi

Setting pipeline to PAUSED ...

Pipeline is PREROLLING ...

Aiur: 3.0.4

Core: AVI_PARSER_03.05.04  build on Nov  2 2012 13:28:54

  mime: video/x-msvideo

  file: /usr/lib/imx-mm/parser/lib_avi_parser_arm11_elinux.so.3.1

Content Info:

        URI:

              file:///tmp/video/snsd.avi

        Idx File:

              /root/.aiur/.tmp.video.snsd.avi.aidx

        Seekable  : Yes

        Size(byte): 197361346

Movie Info:

        Seekable  : Yes

        Live      : No

        Duration  : 0:04:21.728000000

        ReadMode  : File

        Track     : 2

Track 00 [video_000000] Enabled

        Duration: 0:04:21.594928000

        Language: und

        Mime:

              video/x-h264, parsed=(boolean)true, width=(int)1920, height=(int)1080, framerate

              =(fraction)2997/125

[ERR]   Error in opening firmware binary file

[ERR]   Please put bin file to /lib/firmware/vpu folder or export VPU_FW_PATH env

H264D_ARM11_02.06.01  build on Jul 12 2011 13:38:27.

MFW_GST_H264_DECODER_PLUGIN 3.0.4 build on Dec  7 2012 22:40:01.

Track 01 [audio_000000] Enabled

        Duration: 0:04:21.728000000

        Language: und

        Mime:

              audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)32000, bitrate=(int)0

              , framed=(boolean)true, codec_data=(buffer)129056e50000

ERROR: from element /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/MFW_GST_H264DEC_INFO_T:mfw_gst_h264dec_info_t0: fatal error

Additional debug info:

non recoverable error while decoding the H.264 Data

ERROR: pipeline doesn't want to preroll.

Setting pipeline to NULL ...

Freeing pipeline ...

标签 (3)
0 项奖励
回复
1 解答
2,711 次查看
fabio_estevam
NXP Employee
NXP Employee

Ok, I tested on my Wandboard solo and now I see that it returns 0x61011 with this patch applied:

http://marc.info/?l=u-boot&m=136430248207678&q=raw

I sent it to the U-boot list. Hopefully it will work for you as well.

在原帖中查看解决方案

0 项奖励
回复
10 回复数
2,711 次查看
lonsn
Contributor I

From vpu/vpu_util.c:

I see that it get wrong cpu info, for wandboard solo:

Processor       : ARMv7 Processor rev 10 (v7l)

processor       : 0

BogoMIPS        : 790.52

Features        : swp half fastmult vfp edsp neon vfpv3

CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x2

CPU part        : 0xc09

CPU revision    : 10

Hardware        : Wandboard

Revision        : 62011

Serial          : 0000000000000000

So the CPU id is 0x62, but in vpu_util.c, it only detect 0x63(imx6q) and 0x61(imx6dl).

What's the problem? Is it a vpu lib error or kernel error?

0 项奖励
回复
2,711 次查看
lonsn
Contributor I

It's because the CPU id is 0x62 in mainline u-boot, but in vpu lib, it still detects 0x63 or 0x61.

0 项奖励
回复
2,711 次查看
fabio_estevam
NXP Employee
NXP Employee

Can you try a quick test: in the Wandboard board file, please name it "Freescale Wandboard".

I saw some cases that the VPU plugins was looking for a hardcoded "Freescale" string. I though this issue was already fixed, but if not, let me know.

Also, please try to use the latest BSP for the mx6solo.

0 项奖励
回复
2,711 次查看
lonsn
Contributor I

I have done the test, Since VPU plugins look for the board revision number from /proc/cpuinfo and it only accepts 0x63,0x61. After I change the system_rev to 0x61011 in the kernel, VPU decode is OK now.

0 项奖励
回复
2,711 次查看
fabio_estevam
NXP Employee
NXP Employee

Thanks for testing. Which U-boot version do you use for Wandboard?

I added support for this one:

git.denx.de Git - u-boot/u-boot-imx.git/commitdiff

and the original one is this:

u-boot (2009.08): Add support for Wandboard-Dual ·  954c7b1 · Freescale/meta-fsl-arm-extra · GitHub

Do they differ in the returned value for the board revision?

Please let me know so that I can fix it.

0 项奖励
回复
2,711 次查看
lonsn
Contributor I

I have used the first one.

git.denx.de Git - u-boot/u-boot-imx.git/commitdiff.

I didn't test the u-boot(2009.8) version.

But for the default u-boot image provided from wandboard website, the hardware revision in proc/cpuinfo is OK.

0 项奖励
回复
2,711 次查看
fabio_estevam
NXP Employee
NXP Employee

Could you please apply this patch http://pastebin.com/JHdY2nkD ?

Please let me know if it fixes the VPU issue on the Wandboard.

Thanks,

Fabio Estevam

0 项奖励
回复
2,712 次查看
fabio_estevam
NXP Employee
NXP Employee

Ok, I tested on my Wandboard solo and now I see that it returns 0x61011 with this patch applied:

http://marc.info/?l=u-boot&m=136430248207678&q=raw

I sent it to the U-boot list. Hopefully it will work for you as well.

0 项奖励
回复
2,711 次查看
lonsn
Contributor I

Yes, I have tested your patch. It works. Thanks a lot.

0 项奖励
回复
2,711 次查看
fabio_estevam
NXP Employee
NXP Employee

Ok, I understand the problem now.

Will submit a patch tomorrow to fix it.

Thanks,

Fabio Estevam

0 项奖励
回复