Manufacturing Flash Tool: User Guide
Manufacturing Flash Tool: User Guide
User guide
Revision 6.0.12
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR
IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT
AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY
WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL
PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY,
OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY
APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR
DEATH MAY OCCUR.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the
absence or characteristics of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future
definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The
information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to
deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
45-nm products are manufactured on a lead-free process. Lead-free per EU RoHS directive July, 2006. Some E.U. RoHS
exemptions may apply to other components used in the product package. Residual amounts of halogens are below November,
2007 proposed IPC/JEDEC J-STD-709 standards.
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2012, Intel Corporation. All rights reserved.
Contents
1 Introduction .......................................................................................................6
1.1 Terminology ............................................................................................6
2 Manufacturing Flash Tool prerequisites ..................................................................7
2.1 Operating Systems...................................................................................7
2.2 Intel SOC Drivers .....................................................................................7
2.3 Intel Android USB Drivers .........................................................................7
2.4 Microsoft Visual C++ 2008 Redistributable Package .....................................7
2.5 Language/Locale Configuration ..................................................................8
3 Installation ........................................................................................................9
3.1 Installation on Windows OS .......................................................................9
3.2 Registry “hack” ...................................................................................... 10
3.3 Custom Configuration options .................................................................. 10
4 Usage ............................................................................................................. 14
4.1 Launching the tool ................................................................................. 14
4.2 The flash procedure ............................................................................... 15
4.2.1 Set the VID/PID of the device .................................................... 15
4.2.2 Select the flashing ingredients.................................................... 16
4.2.3 Start the flash .......................................................................... 17
4.2.4 Interrupt the flash of a specific device ......................................... 17
4.2.5 Flashing/booting behavior .......................................................... 18
4.3 The statistic module ............................................................................... 18
4.4 Other options ........................................................................................ 19
4.4.1 Set the level of the logger ......................................................... 19
4.4.2 Adjusting the internal flash timeouts ........................................... 19
4.4.3 Battery Voltage setting .............................................................. 20
4.4.4 Removing Completed/Failed Device items .................................... 21
5 FAQ ................................................................................................................ 22
5.1 Composing the flash.xml file ................................................................... 22
5.2 VID/PID ................................................................................................ 22
5.3 Removal of the Previous LibUSB Driver in Windows .................................... 29
5.3.1 Uninstall the libusb-win32 driver with the device manager ............. 30
5.3.2 Uninstall the libusb-win32 driver with a script .............................. 32
6 Troubleshooting................................................................................................ 34
6.1.1 The Tool can’t obtain a serial number and doesn’t not start flashing 34
6.1.2 An SOC mode device is detected, and an empty progress bar is
shown, device is not flashing...................................................... 34
6.1.3 The Tool fails to flash a device, and the tool doesn’t detect the device
on a second attempt ................................................................. 34
6.1.4 The Tool fails to flash a device, and the device doesn’t boot to
TestOS anymore ....................................................................... 34
6.1.5 USB driver is installed for every new device that is connected and it
takes a long time to complete .................................................... 35
3
6.1.6 On BayTrail platform, a device starts booting droidboot.img file, and
times out on a “fastboot continue” command at about 3% on the
progress bar. ........................................................................... 35
6.1.7 The Tool needs to be restarted due to internal errors, such as SFC dll
crash etc. ................................................................................ 35
6.1.8 The Tool fails to flash a device, and the tool doesn’t detect the device
on a second attempt ................................................................. 35
6.1.9 During installation you get an error that adb.exe cannot be updated.35
Figures
Figure 3-1: Manufacturing Flash Tool Destination Location .......................................9
Figure 4-1: Manufacturing Flash Tool Icon ........................................................... 14
Figure 4-2: Main window of Manufacturing Flash Tool ............................................ 14
Figure 4-3: General properties ........................................................................... 16
Figure 4-4: Flash process interruption ................................................................. 18
Tables
Table 1-1: Terminology .......................................................................................6
Revision History
N/A 5.0.3 Release 5.0. of the tool Osnovikov, Sam November, 2012
N/A 6.0.5 Release 6.0.5 of the tool Osnovikov, Sam April 13, 2013
N/A 6.0.9 Release 6.0.9 of the tool Osnovikov, Sam June 17, 2013
N/A 6.0.10 Release 6.0.10 of the tool Osnovikov, Sam July 17, 2013
N/A 6.0.11 Release 6.0.11 of the tool Osnovikov, Sam August 21, 2013
N/A 6.0.12 Release 6.0.30 of the tool Osnovikov, Sam November 20,
2013
5
Introduction
1 Introduction
This document is a technical document that provides instructions on the installation
and use of the Manufacturing Flash Tool for Windows* host.
The Manufacturing Flash Tool Users Guide is targeted at engineers using the
Manufacturing Flash Tool for flashing firmware, OS image and Modem on multiple
phones or tablets.
1.1 Terminology
Table 1-1: Terminology
Term Description
OS Operating System
*In the course of factory testing on slower HW, it was observed that a 64-bit version
of Windows 7 is a more stable platform.
The Intel SOC drivers must be installed before using Manufacturing Flash Tool. The
installation file is included along with this guide (except for the BayTrail platform).
Intel Android USB drivers must be installed before using Manufacturing Flash Tool.
The installation file is included along with this guide.
If your computer doesn’t have MS Visual C++ 2008 installed, you will need to install
Microsoft Visual C++ 2008 Redistributable package to avoid run-time issues with
Manufacturing Flash Tool. You can download it from Microsoft website:
http://www.microsoft.com/en-us/download/details.aspx?id=29
7
Manufacturing Flash Tool prerequisites
“Control Panel”-> “Clock, Language, and Region” -> “Region and Language” ->
“Administrative” -> “Change system locale…”
and select “Chinese (Simplified, PRC). You will need to reboot the computer.
Installation
3 Installation
Run the installation package with Administrator privileges; Setup wizard will start.
Click “Next” to proceed with the installation. For example, “c:\mFlash”. It has been
observed that some Shop Floor System have issues with path containing spaces, so it
is recommended to install mFlash tool to a simple path that without space characters.
Please note that it is not necessary to uninstall a previous version – the installation
program will find an existing instance and will overwrite it in the same directory.
9
Installation
To create a registry hack file, create a text file, and using the following format (for
example, VID=8086, PID=E004 in the first line), modify as needed to reflect your
project specific values for SOC/DnX, Provisioning OS/Droidboot etc.), and change the
extension to “.reg”:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags]
"IgnoreHWSerNum8086E004"=hex:01
"IgnoreHWSerNum8086E005"=hex:01
"IgnoreHWSerNum808609EE"=hex:01
"IgnoreHWSerNum18D1D001"=hex:01
"IgnoreHWSerNum808709EF"=hex:01
"IgnoreHWSerNum808709FB"=hex:01
"IgnoreHWSerNum808709FC"=hex:01
"IgnoreHWSerNum80870A14"=hex:01
Please apply the registry hack (by double-clicking on the file and following directions)
AFTER you install SOC and Intel Android drivers, and successfully run through a
flashing process at least once, which will ensure that all required drivers are installed.
It might take several iterations before Windows stops installing drivers after you apply
these changes.
DetectCompletedOS –if set to “true”, the tool will put a message to wait for
AOS to boot, and then put a message to remove the
device when it boots.
CompletedOSBootTime -the time period (in secs) to wait after the device is
detected as an Android Phone (with the above VID/PID)
before telling the user to remove it. (On some platforms
the AOS device stops being detected after 60 secs, if the
AOS driver is not correct, so set to less than 60 secs if you
experience any issues)
CheckBatteryVoltage -if set to “true”, the tool will check the voltage in TestOS
and will not attempt to flash the device if the level is below
the specified value. If you are not using TestOS, this value
is ignored.
CyclicalFlashingEnabled -if set to “true”, the tool will detect an SOC device after
AOS-flashed device reboots and will start installing again.
On the other hand, if set “false” and an SOC-detected
device with the same USB Serial Number was just flashed
on the same port, mFlash will ignore this newly detected
device in SOC mode and will allow it to boot to AOS
instead of flashing it again. In combination with
“DetectCompletedOS” setting, a message in English and
11
Installation
For BYT platform this value is less relevant (as it was for
Medfield and other platforms with SOC mode), as the
device doesn’t enter DnX mode automatically on reboot.
Please set this value to “false”.
Note:
FastbootCmdSleepTime -sets the delay for each “fastboot” command, which could
help with the stability of the flashing process. Default
value is 250ms. Recommended value is 150ms and above.
Note:
Example:
AdditionalAPK1 = filename.apk
Some of the above options might not be relevant to your project. For example, if you
flash devices starting from SOC mode, none of the Intel TestOS-related settings (such
as DetectTestOS, TestOSPID, TestOSVID, CheckBatteryVoltage, MinBatteryVoltage)
are applicable, and will be disabled by default, even if you specify them.
13
Usage
4 Usage
Manufacturing Flash Tool can only be used with the graphical user interface. There is
no command line mode.
15
Usage
Please see Section 5.1 for instructions on how to ensure proper VID/PID values are
configured.
Note that for BayTrail platform DnX VID/PID should be entered as SOC VID/PID. And
Provisioning OS VID/PID go to “Android devices” VID/PID fields.
Also, please make sure to configure corresponding TestOS (if applicable) VID/PID as
well completed(booted) AOS VID/PID values in CUSTOM_CONFIG.INI, which should be
in the same directory as the Manufacturing Flash Tool executable (included with the
installation package).
For the purpose of consistency and avoiding confusion, the AOS files that need to be
flashed should be kept in this folder:
C:\AOS_FINAL_IMAGE\
Usage
If you need to update to a new AOS build, please remove the current contents of the
folder above and extract the new AOS build zip file to this location.
The user has to load a valid flash file (flash.xml file inside C:\AOS_FINAL_IMAGE\).
The flash file can be loaded with the “Open” action is the main menu (see Figure 4-2).
If the loaded flash file is valid, the message “Ready to flash!” is printed in the log
area.
Once a valid flash file is loaded, you can connect a device running TestOS to start the
flashing process. Make sure the device FULLY BOOTED to TestOS before plugging it in.
The tool must be able to obtain the serial number from the device in TestOS in order
to proceed. Please ensure that a valid serial number is read (shown in the log area)
before plugging in another device. Once a serial number is read successfully, the
device will be rebooted, and the flashing will start once the device is SOC mode.
It is recommended that you wait for one device to start flashing (a blue progress bar
appears) before connecting another one, as this will allow you address any potential
issues, such as “no serial number” or the SFC issues (the devices already passed this
station or is has not passed “Provisioning” station etc.), because these issues will be
more difficult to address if you have multiple devices exhibiting various issues at once.
If your project doesn’t not use TestOS, please ensure that the “DetectTestOS” value in
CUSTOM_CONFIG.INI file is set to false. In order to start flashing, put the device in
SOC (DnX for BayTrail platform) mode and connect the USB cable.
In this case, the flash can be interrupted by using the “stop” action in the contextual
menu. This menu appears when the user right-click on the progress bar of the specific
device (Figure 4-4).
17
Usage
DetectCompletedOS
CompletedOSVID
CompletedOSPID
CompletedOSBootTime
Manufacturing Flash Tool will prompt the user to wait for the device to boot, and then
when it detects an AOS device, it will prompt the user to remove the device in English
and Chinese.
19
Usage
CheckBatteryVoltage -if set to “true”, the tool will check the voltage in TestOS
and will not attempt to flash the device if the level is below
the specified value
21
FAQ
5 FAQ
For platforms older than BayTrail (Medfield, Merrifield etc), the device starts flashing
from SOC mode, so the flash.xml file would also include flashing of IFWI (xFSTK
phase).
To compose flash.xml file for, you would copy/paste the two versions (so-called “blank
phone” and “fastboot” flash.xml) of the flash.xml file into one. The combined
flash.xml should have the following structure:
5.2 VID/PID
Intel devices are using Intel VID/PID, which requires driver installation (see
Installation chapter).
On Windows, you need to install new xFSTK iS0C driver and new Intel Android Phone
driver, please contact your Intel UMG partners for more details.
Please follow these directions to ensure proper VID/PID values are used:
To obtain SOC PID/VID, open Windows Device Manager, and connect a device in SOC
mode via USB cable. If the drivers are installer correctly, you will see a “Medfield
Device” entry under “Intel Soc” section.
FAQ
Right-click on the “Medfield Device” with your mouse, and select “Properties”. Then,
check the VID/PID values under “Details” tab, by selecting “Hardware Ids” option in
the drop-down box.
23
FAQ
VID = 8086
PID = E004
In order to obtain “Android” VID/PID values, place the device into “Droidboot” mode,
either by flashing the “Blank Phone” image, or by using mFlash, when it stops at 25%,
with a device booted to “Droidboot Provisioning OS”.
The device should show in the “Device Manager” as “Android ADB Interface” under
“Android Phone”:
FAQ
Right-click on the “Android ADB Interface” and select “Properties”. The VID/PID values
can be obtained under “Details” tab, by selecting “Hardware Ids” drop-down box for
“Property”.
25
FAQ
VID = 8087
PID = 09EF
Similarly, you will need to check the “TestOS” and completed/booted AOS device
VID/PID.
27
FAQ
VID = 18D1
PID = D001
VID = 8087
PID = 09FC
The values for TestOS and Completed OS VID/PID pairs should be entered in
CUSTOM_CONFIG.INI file. Make sure to comment out or remove the pairs that are
used for other projects.
There are two methods to uninstall the xfstk-libusb-win32 driver. The first one
requires using the windows device manager (section 5.3.1) while the second method
requires to build a script and download some tools (section 5.3.2).
29
FAQ
4) Find the xFSTK libusb driver folder in start menu or program files
31
FAQ
The libusb driver should now be completely removed from your machine.
1- Create a local directory for example on your Desktop (in the next steps the
absolute path of this directory will be named “%DIR%”);
2- Create a text file with the “.bat” extension and copy the following code inside
it (please take the source code that corresponds to your platform)
Script for Microsoft Windows 7
@echo off
pause
@echo off
if %%B==2 (
echo donothing >NULL
) else (
echo Removing %%A driver
devcon\i386\devcon.exe dp_delete %%A -f
)
FAQ
33
Troubleshooting
6 Troubleshooting
6.1.1 The Tool can’t obtain a serial number and doesn’t not
start flashing
Ensure that a device is rebooted after you flash TestOS. Sometimes it is necessary to
replace a battery. Reboot the device and try again.
6.1.3 The Tool fails to flash a device, and the tool doesn’t detect
the device on a second attempt
In order to prevent circular flashing, when flashing automatically starts again after
completing the flashing process on reboot, the tool will ignore a device with the same
serial number and the same port that was used immediately prior. If you want to flash
the same device again, please connect it to a DIFFERENT port (USB cable).
6.1.4 The Tool fails to flash a device, and the device doesn’t
boot to TestOS anymore
If your device doesn’t boot to TestOS after an unsuccessful flashing attempt, it will be
necessary to reflash TestOS in an “off-line” mode. Please use xFSTK downloader to
flash the TestOS,reboot the device (necessary for obtaining a serial number), and try
flashing it again, on a DIFFERENT port.
Ensure that your battery has a good charge, at least 65-75%, before flashing a
device. It was observed that having a low battery charge can contribute to failures in
FW and OS flashing, or devices failing to reboot during the course of flashing.
Troubleshooting
Also, make sure to end “adb” and/or “fastboot” processes which might be still
running.
6.1.8 The Tool fails to flash a device, and the tool doesn’t
detect the device on a second attempt
In order to prevent circular flashing, when flashing automatically starts again after
completing the flashing process on reboot, the tool will ignore a device with the same
serial number and the same port that was used immediately prior. If you want to flash
the same device again, please connect it to a DIFFERENT port (USB cable).
35