Problem getting Manufacturing Toolkit second stage working

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

Problem getting Manufacturing Toolkit second stage working

Jump to solution
2,613 Views
ThomasG1z
Contributor III

I have custom board (partly based on the Sabrelite) that I have trouble getting the second stage of the manufacturing toolkit working.

I get the board into USB downloader mode, and it downloads u-boot, kernel, ramdisk perfectly fine. But when the kernel boots the new USB device for further download and communication doesn't seem to get properly activated. I have tested the identical kernel on the Sabrelite and the Nitrogen6 Lite using the same ucl2.xml config, and then it kicks off fine. I see in a USB analyzer software that no new USB device is detected after the initial ROM downloader has disconnected for my custom board, but comes up fine with the others mentioned.. Kernel log stops at this output:

....

Starting UTP

ln: /etc/mtab: File exists

disable turn off display

Starting the hotplug events dispatcher udevd

Synthesizing initial hotplug events

udevd (2242): /proc/2242/oom_adj is deprecated, please use /proc/2242/oom_score_adj instead.

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

UTP: Waiting for device to appear

UTP: file/device node /dev/utp already exists

cpu_id is 0

Any idea what to look for..? The USB OTG interface is pretty straight forward, although using only a USB B socket and ID is floating.

On the other boards it continues like so:

UTP: Waiting for device to appear

UTP: file/device node /dev/utp already exists

cpu_id is 0

UTP: received command '$ echo 0 > /sys/block/mmcblk0boot0/force_ro'

UTP: executing "echo 0 > /sys/block/mmcblk0boot0/force_ro"

sh: can't create /sys/block/mmcblk0boot0/force_ro: nonexistent directory

One noticable difference I see further up in the kernel logs is that on the boards that work I see this line, but not on my custom board:

g_file_storage gadget: high speed config #1

Labels (6)
0 Kudos
1 Solution
1,026 Views
ThomasG1z
Contributor III

U-boot itself is not a part of initramfs.

But anyway, I've got it working now. I rebased u-boot for our board to a newer version (2014.04) and for some odd reason it seems to work all the way through now, tested a few times. Not sure what was the original problem though. So I'll leave it at that for now.

View solution in original post

0 Kudos
5 Replies
1,026 Views
igorpadykov
NXP Employee
NXP Employee

Hi ThomasG1z

for Sabrelite-like board it is not possible to use MFG Tools for Freescale boards,

because they have different configurations. Please use tools for Sabrelite

http://boundarydevices.com/products/nitrogen6x-board-imx6-arm-cortex-a9-sbc/

Second, issue may be related to DDR errors (and configuration), one

needs to rebuild manufacturing firmware (initramfs.cpio.gz.uboot) with new board DDR calibration settings.

https://community.freescale.com/message/331721#331721

https://community.freescale.com/docs/DOC-96412

Best regards

chip

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

Note: If this post answers your question, please click the Correct Answer button. Thank you!

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

0 Kudos
1,026 Views
ThomasG1z
Contributor III

Hello,

The problem is not about initial board bring-up. I have our custom board with u-boot and kernel running stable for months. I'm just trying to get the manufacturing toolkit procedure working, to prepare for volume production. I'm using the same u-boot base as our custom board, only with a few config changes as indicated in the Manufacturing toolkit documentation. So I'm pretty sure I got everything set up correctly in the ucl2.xml, as it loads u-boot, kernel and ramdisk and kicks off fine. But as mentioned it seems to be an issue with the USB gadget driver, and that is when I came to this issue. Any suggestions based on that..? Using the 3.0 kernel from LTIB 4.1.0.

I guess it has to do with the fact that "g_file_storage gadget: high speed config #1" is not popping up in the kernel logs on our custom board.


For convenience as I don't have LTIB set up right now, I just used the ramdisk from the MX6DL release, but that shouldn't matter because there's nothing board specific in that filesystem..?

0 Kudos
1,026 Views
ThomasG1z
Contributor III

I've come somewhat a little bit further. If I put u-boot on my eMMC and boot from that device, then loading the kernel and ramdisk, all files identical to the files I use with mfg toolkit, then the mass storage gadget driver kicks off and I can use mfg toolkit to run through the secondary steps perfectly fine. The same issue appears when I use the sb_loader.exe to load u-boot.

Doh... So for some reason, whenever I boot up from USB, then the gadget driver does not initialize... Any clues..?

0 Kudos
1,026 Views
igorpadykov
NXP Employee
NXP Employee

Hi ThomasG1z

based from latest comments, one

definitely needs to rebuild manufacturing firmware (initramfs.cpio.gz.uboot).

Manufacturing toolkit uses own Uboot (included in initramfs.cpio.gz.uboot), it

should be updated for custom board DDR settings.

Please check sect.3.9 "Building Manufacturing Firmware"

i.MX_6Dual6Quad_SABRE-SD_Linux_User's_Guide.pdf

L3.0.35_4.1.0_LINUX_DOCS

Best regards

chip

"When all else fails, read the instructions."

[Murphy's laws]

0 Kudos
1,027 Views
ThomasG1z
Contributor III

U-boot itself is not a part of initramfs.

But anyway, I've got it working now. I rebased u-boot for our board to a newer version (2014.04) and for some odd reason it seems to work all the way through now, tested a few times. Not sure what was the original problem though. So I'll leave it at that for now.

0 Kudos