mfgtool gets stuck while loading Android 5.0 onto imx6 board based on SabreSD.

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

mfgtool gets stuck while loading Android 5.0 onto imx6 board based on SabreSD.

Jump to solution
8,942 Views
jamespieterick
Contributor IV

Hi Everyone,

 

I an working on loading android 5.0.0.1 Lollipop onto our custom board that is based upon the Sabresd reference design. One of the main differences between our design and the Sabre board is that we are using an Atmel maxTouch touchscreen controller connected through the host USB port instead of the max11801 touch sensor connected through i2c.

 

When I attempt to load android onto our board using mfgtool, the download process appears to progress normally until it starts looping writing the following message over and over:

 

max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails

 

I looked through the Android source code and I believe that I found the place where this message originates: line 130 of file max11801_ts.c in directory .../kernel_imx/drivers/input/touchscreen. The above message appears to be printed when the max11801 touch screen fails to respond to an AUX_measurement command sent over the I2C bus. Since the max11801 is not present on our board it makes sense that there is no response. I have removed this file from my build but I am still seeing this problem. Obviously this message is coming from  either somewhere else or from a file that I still need to rebuild.

 

What else might I need to be rebuild so that the code is no longer attempting to communicate with the max11801?

 

I have rebuilt and replaced all of the .img and .imx files tha are placed into the  ...\Profiles\Linux\OS Firmware\files\android\sabresd folder in the folder where mfgtool is located.

 

I am using mfgtool2-android-mx6q-sabresd-emmc-1.2g.vbs to start mfgtool. and I am attempting to load into emmc.

 

I am attaching a file with the debug output as well as a copy of the mfgtool log.

 

Thanks,

Jim Pieterick

Original Attachment has been moved to: mfgtoolDebugOut.txt.zip

Original Attachment has been moved to: MfgTool.log.zip

1 Solution
6,586 Views
KursadOney
NXP Employee
NXP Employee

Jim,

I think the difference is where we write u-boot.* file. I see u-boot.bin in 4.4.2 mfgtool is written with:

dd if=$FILE of=/dev/mmcblk0 bs=512 seek=2 skip=2

while u-boot.imx in 5.0.0 mfgtool is written with:

dd if=$FILE of=/dev/mmcblk%mmc%boot0 bs=512 seek=2

So the way to make it work with 4.4.2 and using u-boot.imx is to remove that "skip=2" statement. This is because the old u-boot.bin file had the IVT and the DCD as well as 1K zero padding at the beginning. However, in the newer releases, the u-boot.bin file has none of those. Instead we have u-boot.imx which has the ITV and the DCD, but not the zero padded area.

In addition to this, I also recommend using the mksdcard-android.sh.tar file from the 5.0.0 release. There is a slight partition map difference. This might not matter since the new partition is part of the "misc" partition that is really not used for anything AFAIK, but Android is a very complicated system and it's better to be on the safer side.

View solution in original post

0 Kudos
Reply
26 Replies
877 Views
jamespieterick
Contributor IV

Hi Kursad,

I just performed the same exercise with the 5.0 version of Mfgtool and the Sabre board. In this case I am using the ucl2.xml file that I attached above as ucl2-Lollipop.xml. I am attaching the the log files.

Jim Pieterick

0 Kudos
Reply
877 Views
jamespieterick
Contributor IV

Hi Krysad,

Here are the logs that you've asked for.

Jim Pieterick

0 Kudos
Reply
877 Views
igorpadykov
NXP Employee
NXP Employee

Hi James

yes in general mfgtool that came with Android 4.4.2 should be able

to program the Android 5.0 files, with necessary ucl.xml modifications.

~igor

0 Kudos
Reply
877 Views
igorpadykov
NXP Employee
NXP Employee

Hi James

mfg tools firmware is located in Linux\OS Firmware\firmware\

and these files should be rebuilt using description in attached

Yocto Guide sect.6.2 Manufacturing Tool, MFGTool.

Files in ...\Profiles\Linux\OS Firmware\files\android\sabresd

are for writing to media (like sd,emmc,nand).

Best regards

igor

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

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

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

0 Kudos
Reply
877 Views
jamespieterick
Contributor IV

Hi Igor,

Are you saying that I need to set up the Yocto project build environment just to build mfgtool? You realize that I am working with Android 5.0 right? This seems like a really messy way to handle this. If this is true developers need to maintain two versions of the files that define the hardware configurations. One in the Yocto build environment and one in the Android build environment.

If I have to setup Yocto, I have a few questions:

- What version of the Yocto project is needed to build a version of the mfgtool that is compatible with Android 5.0 on my custom board?

- Is there a porting guide for Yocto to guide me through the modifications that are required for making mfgtool compatible with my board?

Also, I don't understand why mfgtool would even care about the touch screen on the target unit. It does not use it. The fact that mfgtool can get stuck when failing to communicate with a device it is not going to use is indicative of a bug in my opinion. Mfgtool simply has no reason to call that code.

Jim Pieterick

0 Kudos
Reply
876 Views
igorpadykov
NXP Employee
NXP Employee

Hi James

1. version is described in p.3  Release Notes (attached), it is L3.10.53

2.

Task #10 - How to create a custom layer

Best regards

igor

0 Kudos
Reply