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
Solved! Go to Solution.
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.
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
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!
-----------------------------------------------------------------------------------------------------------------------
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
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