MFGTool UTP command failed after sending system image.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MFGTool UTP command failed after sending system image.

Jump to solution
2,841 Views
oliverkuo
Contributor IV

Hello,

I'm porting BSP android_O8.1.0_1.3.0_8M_image_8mq for our i.MX8MQ custom board.

When I tried to download image by MFG Tool, it always failed after sending system image.

I've tried to send a small size of system image(ex, rename vendor.img) and there was no error occurred.

I attached console and MFGTool logs.

Any advice for this situation?

Thanks for help.

Oliver

Labels (1)
0 Kudos
Reply
1 Solution
2,466 Views
oliverkuo
Contributor IV

I found the DDR4 setting was not set correctly, the size was too small and caused fork failed.

After setting proper size, image downloading procedure can be accomplished.

View solution in original post

0 Kudos
Reply
7 Replies
2,467 Views
oliverkuo
Contributor IV

I found the DDR4 setting was not set correctly, the size was too small and caused fork failed.

After setting proper size, image downloading procedure can be accomplished.

0 Kudos
Reply
2,466 Views
oliverkuo
Contributor IV

Anyone has any idea about how to debug UTP failed?

0 Kudos
Reply
2,466 Views
joanxie
NXP TechSupport
NXP TechSupport

did you use android_O8.1.0_1.3.0_8M_tools?  what your download image steps? if you use default image in the tools, is it successful? pls share your detailed download steps, let me reproduce this on my board

0 Kudos
Reply
2,466 Views
oliverkuo
Contributor IV

I tried to insert different instructions after "Sending system.img", the results were various.

frf and seltest commands got pass result, but shell command failed.

ucl2.xml
<CMD state="Updater" type="push" body="$ mount -o remount,size=1536M rootfs /">change size of tmpfs</CMD>
<CMD state="Updater" type="push" body="send" file="files/android/%folder%/system.img" >Sending system.img</CMD>
<CMD state="Updater" type="push" body="frf">Finishing system sending</CMD>
<CMD state="Updater" type="push" body="selftest">selftest</CMD>
<CMD state="Updater" type="push" body="$ echo 'hello world'">find system</CMD>
<CMD state="Updater" type="push" body="$ echo `gdisk -l /dev/mmcblk%mmc% | grep system | awk '{print $1}'` > /tmp/partIdx">find system</CMD>

console log
UTP: received command '$ mount -o remount,size=1536M rootfs /'
UTP: executing "mount -o remount,size=1536M rootfs /"
UTP: sending Success to kernel for command $ mount -o remount,size=1536M rootfs /.
[ 16.213979] utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command 'frf'
UTP: closing the file
UTP: sending Success to kernel for command frf.
[ 59.111508] utp_poll: pass returned.
UTP: received command 'selftest'
UTP: sending Success to kernel for command selftest.
UTP: received command '$ echo 'hello world''
UTP: executing "echo 'hello world'"
UTP: sending Non-success to kernel for command $ echo 'hello world'.
[ 59.385934] utp_poll: exit with status -1

I have no idea why the system call would return failed!?

pastedImage_3.png

0 Kudos
Reply
2,466 Views
joanxie
NXP TechSupport
NXP TechSupport

since you use customized board, I suggest that you need to rebuild uboot and kernal uImage by yourself, then program them again, don't use prebuild image, and I realy suggest that you can refe to the documents in the mfgtools\Document\V2,

0 Kudos
Reply
2,466 Views
oliverkuo
Contributor IV

Hi Joan,

I've created our board file in uboot and dts file in kernel, but the failed phenomenon was the same.

And I just read all documents in mfgtools\Document\V2 today, so I had some test as mentioned above.

If the status -1 was returned from system(), it seems like fork() failed!?

I tried pipe command instead but also got same failed.

Just have no clue why it would be failed.

0 Kudos
Reply
2,466 Views
oliverkuo
Contributor IV

Hi Joan,

First of all, thanks for your reply.

Yes, I used android_O8.1.0_1.3.0_8M_tools, I attached my script file and ucl2.xml.

Since our custom board used DDR4, I can't use EVK's uboot image, but I had tried default Image and system.img, the same phenomenon appeared.

I'd tried to move the instruction "find system" to front of "Sending system.img" and it could pass without error; UTP(or uuc!?) always return failed after the instruction "Sending system.img".

I also tried to send a small image(ex. vendor.img) and then all procedure could accomplish.

I thought my USB might be unstable, but the instruction was well received on target board, just a failed result returned.

Best regards,

Oliver

0 Kudos
Reply