MFGTool boot stuck at: UTP Waiting for device to appear

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

MFGTool boot stuck at: UTP Waiting for device to appear

15,372 Views
georgereimer
Contributor I

hello all,

 

I set up and configured the MFGTool and can use it to download and boot the images, but only up to a point.

The last few lines of the attached console output are shown below. It's just stuck there.

 

 

-------------------------   console output -----------------------

Starting UTP

ln: /etc/mtab: File exists

disable turn off display

Starting the hotplug events dispatcher udevd

Synthesizing initial hotplug events

[    6.753992] udevd (2028): /proc/2028/oom_adj is deprecated, please use /proc/2028/oom_score_adj instead.

uuc 0.4 [built Aug 16 2013 01:24:08]

UTP: Waiting for device to appear

-----------------------------------------------------------------------

 

My process steps:

 

1)  cp imx6s_updater_defconfig wandboard_defconfig

2) bitbake -c menuconfig linux-wandboard 

          Device Drivers -> USB support -> USB announce new devicesDevice

3) cp .config wandboard_defconfig

4) verify settings in wandboard_defconfig as per MFGTool development guide

5) bitbake linux-wandboard -c compile -f
6) bitbake linux-wandboard -c build -f

 

I then copy the files over to Win7 world and run MftTool.

It boots and stops at the line indicated. I can insert/remove my usb mouse and diagnostic messages appear so I know its still running & waiting.

 

I am using my uboot and kernel but Freescale supplied:

initramfs.cpio.gz.uboot

 

Will this work or do I need to create my own initramfs file?

How can I do this?

I've unpacked  initramfs.cpio.gz.uboot and see the contents, but after packing it back up, it doesn't boot at all.

 

Recommendations on how to proceed would be greatly appreciated.

George

 

 

 

Original Attachment has been moved to: wandboard_defconfig.zip

Original Attachment has been moved to: UTP-boot-failure.txt.zip

Labels (2)
18 Replies

6,356 Views
oferfederovsky
Contributor III

Hi,

I'm trying to use mfgtool on Linux. This thread already helped me and I hope you can help me with my current problem.

The initramfs in IMX6_L4.1.15_2.0.0_MFG-TOOL has its init file empty (zero), so the kernel fails to run the init:

[ 0.000000] Failed to execute /init (error -13)

In order to bypass this problem, I'm using my own initramfs, in which init works fine, and I have:

1. g_mass_storge device working

2. /dev/utp

I built and added uuc to my initramfs, and when I try to run it (after I have g_mass_storage running), I get this:

root@m:/$ uuc
uuc 0.5 [built Jan 15 2018 18:54:36]
UTP: Waiting for device to appear
UTP: file/device node /dev/utp already exists
cpu_id is 0

I noticed that lsusb on my desktop changed from:

Bus 001 Device 030: ID 15a2:0076 Freescale Semiconductor, Inc.

into:

Bus 001 Device 031: ID 0525:a4a5 Netchip Technology, Inc. Pocketbook Pro 903

But mfgtool doesn't continue to the next step ("Updater").

This is what I have in my ucl2.xml:

<UCL>
<CFG>
<STATE name="BootStrap" dev="MX7D" vid="15A2" pid="0076"/>
<STATE name="Updater" dev="MSC" vid="0525" pid="a4a5"/>
</CFG>
<!--burn the Mfg boot and Initramfs: -->
<LIST name="ofer" desc="Burn my board">
<CMD state="BootStrap" type="boot" body="BootStrap" file ="u-boot.imx" >Loading MFG U-boot For DCD</CMD>
<CMD state="BootStrap" type="load" file="uImage" address="0x91000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading uImage</CMD>
<CMD state="BootStrap" type="load" file="my_imx7_board.dtb" address="0x92000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading DTB</CMD>
<CMD state="BootStrap" type="load" file="initramfs-oferf_utp.cpio.gz.uboot" address="0x93000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Loading MFG Initramfs</CMD>
<CMD state="BootStrap" type="jump" > Jumping to DDR. </CMD>

<CMD state="Updater" type="push" body="$ echo KUKUKU"> Updater</CMD>

</LIST>
</UCL>

I'm not sure about this line:

<STATE name="Updater" dev="MSC" vid="0525" pid="a4a5"/>

Any help is much appreciated.

Thanks,
Ofer

0 Kudos

6,356 Views
oferfederovsky
Contributor III

Update:

I noticed the linuxrc script in the uuc git repo.

The script is missing how to use g_mass_storage, and I'm don't really know how to use it, since it usually being done using file=/dev/mmcblk0p1 (or similar). Maybe I'm suppose to use file=/fat in this case.

Anyway, now I'm getting this message:

MFG tool will use 1st udc:ci_hdrcudc-core: couldn't find an available UDC - added [g1] to list of pending drivers

And if I run uuc, I'm getting this:

uuc 0.5 [built Jan 15 2018 18:54:36]
UTP: Waiting for device to appear
UTP: file/device node /dev/utp already exists
cpu_id is 0

And nothing else happens.

0 Kudos

6,356 Views
oferfederovsky
Contributor III

Update #2:

I have it working now.

I needed to replace the linuxrc script with an updated linuxrc script from the uuc repository (https://github.com/codeauroraforum/imx-uuc.git), and change u-boot parameters to include "rdinit=/linuxrc" (bootargs).

In Linux kernel, USB Gadget Drivers (Mass Storage Gadget) needs to be chosen (USB_MASS_STORAGE [=y]), and as others mentioned, CONFIG_FSL_UTP [=y].

The vid/pid values in the "Updater" commands in the xml, should match the values in the (updated) linuxrc script.

<STATE name="Updater" dev="MSC" vid="066f" pid="37ff"/>

6,356 Views
zhanxiaozhang
Contributor III

you may check your kernel config :

1: <*>   USB Gadget Drivers (File-backed Storage Gadget)  --->  should be this

2:[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

in your case ,you may not select option 1, please check if any help

6,356 Views
LaurenPost
NXP Employee
NXP Employee

MFG tool on Yocto was not supported in the 3.10.9 alpha.

We are planning a full manufacturing tool support in our upcoming 3.10.17-1.0.0 beta release coming out in January 2014.  This will include manufacturing images and updates in other components to support the manufacturing tool installation.

0 Kudos

6,356 Views
eugenevolkov
Contributor IV

I have the same situation. 3.10.53.1.1.0 release, it supports MFG_tool.

Please give a detailed description of this problem!

0 Kudos

6,357 Views
eugenevolkov
Contributor IV

Hey specialists !!!!

You can give a normal response ????? Is there a step by step guide that I have to change in the image, in u-boot, whatever the damn program MFG_Tool worked!

I need to generate initramfs, or i can use that comes together with MFG_Tool?

0 Kudos

6,357 Views
aliismail
Contributor IV

I would imagine you could use the mfg2 rootfs, since it does not get written to the target image device.

0 Kudos

6,357 Views
saurabh206
Senior Contributor III

Hi

Eugene

Did you able to solve your issue?

Thanks

Saurabh

0 Kudos

6,357 Views
aliismail
Contributor IV

It worked for me!

0 Kudos

6,357 Views
ko-hey
Senior Contributor II

Hi aliismail

Did it work only for changing the above kernel configuration ?

Could you share me more detail ? 

Ko-hey

0 Kudos

6,357 Views
aliismail
Contributor IV

Some time back, I summarized how I got it going...

"It turns out there are two folder "files" and "firmware" that are in the mfg2 tool working directory. Mfg tool looks in the "firmware" folder for your custom image built to be used in mfg2tool and it looks in the "files" folder for your custom image. I found that I did not have to compile my u-boot for mfg tool so I just used my original. As for the kernel, follow along in the "Manufactoring Tool V2 Linux or Android" document. Everything will be easy to follow except for one instruction where it asks you to  "build in mass storage gadget class driver". In menuconfig you can find this driver under Device Drivers->USB Support->USB Gadget Support->USB Gadget Drivers. Make this built in (i.e. put a asterisk). Then go into that driver and choose mass storage gadget. Save everything and this should create a .config file in tmp/work/<your device>/linux-imx/<build #>/build. You can use this to patch your defconfig file and rebuild everything. This should get it going hopefully!"

As far as this UTP waiting error, this should be solved by going into the kernel and turning on UTP.

6,357 Views
xixiguohan
Contributor II

Hi Ali,

What should I do to turn on UTP? Could you give me some detail steps?

0 Kudos

6,357 Views
ko-hey
Senior Contributor II

Hi Ali Ismail

Thank you for reply.

I'll check your answer again.

Ko-hey

0 Kudos

6,357 Views
jkobs2014
Contributor III

Hi.  I have an openwrt kernel that needs to be used on a proprietary board.  When I use that kernel I am likewise stuck at the above "UTP: Waiting for device to appear", and never get to the point where it sees /dev/utp"

Can you please list precisely what needs to be ported to that kernel and what config options need to be enabled?  CONFIG_FSL_UTP is a really great example.  This is not used in the general kernel community.  So where is the source code that uses it?  What is required to support UTP?  Exactly which USB options are required to enter a mass-storage mode that the PC host can use?  These are critical, critical details, and I cannot find them (definitively) anywhere on Freescale's site.

Detailing this would go a long way to helping the community develop with the imx6 chipset.

I appreciate any help you can offer.

6,357 Views
xixiguohan
Contributor II

Hi Stephen,

Do you solve the problem? I get the similar problem. I can't find where to enable /dev/utp driver, can't find utp under directory /dev. Could you give me some suggestions?

0 Kudos

6,357 Views
aliismail
Contributor IV

You should be able to turn on UTP within the kernel. If you run menuconfig, you should be able to search for UTP and turn that feature on.

6,356 Views
xixiguohan
Contributor II

Thank you Ali, I found it, and solved my problem.

Best Regards

xixiguo

0 Kudos