0% found this document useful (0 votes)
261 views

Manufacturing Flash Tool: User Guide

ler

Uploaded by

iuri
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
261 views

Manufacturing Flash Tool: User Guide

ler

Uploaded by

iuri
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Manufacturing Flash Tool

User guide

November 20, 2013

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

Document Revision Description Author Revision Date


Number Number

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

xFSTK Cross-Platform Firmware Software Tool Kit

USB Universal Serial Bus

GUI Graphical User Interface


Manufacturing Flash Tool prerequisites

2 Manufacturing Flash Tool


prerequisites

2.1 Operating Systems


This tool supports the following OS:

 Microsoft Windows XP (32/64-bit);


 Microsoft Windows Vista (32/64-bit);
 Microsoft Windows 7 (32/64-bit)*

*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.

2.2 Intel SOC Drivers

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).

2.3 Intel Android USB Drivers

Intel Android USB drivers must be installed before using Manufacturing Flash Tool.
The installation file is included along with this guide.

2.4 Microsoft Visual C++ 2008 Redistributable


Package

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

2.5 Language/Locale Configuration


Some of the messages contain Chinese language (for instance, with a
“DetectCompletedOS” set to “true”, a message for operator to wait for a device to
boot, and to remove a device at the end are displayed). To ensure the Chinese
messages are displayed correctly, please select the following options (Windows 7)

“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

This chapter describes the installation steps.

3.1 Installation on Windows OS

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.

Figure 3-1: Manufacturing Flash Tool Destination Location

9
Installation

3.2 Registry “hack”


In a high-volume production environment, in order to prevent the creation of multiple
entries in the registry when a new device is plugged in and the drivers are installed,
you can modify your registry to include the VID/PID values you want to ignore when a
new USB device with specified values is attached.

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”:

Windows Registry Editor Version 5.00

[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.

3.3 Custom Configuration options


Make sure to copy CUSTOM_CONFIG.INI to the same directory where you installed
mFlash. It contains settings that allow you to set the following options:

DetectTestOS - if set to “true”, the tool will detect devices running


TestOS (in addition to SOC mode)
Installation

TestOSVID - VID value for device running TestOS (check under


“Hardware Ids” in the “Details” for a device in Device
Manager)

TestOSPID -PID value for device running TestOS

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.

CompletedOSVID -VID of the device running AOS

CompletedOSPID -PID of the device running AOS

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)

If you choose to install FQC, this value is a delay after the


AOS is fully booted before installing FQC – there seems to
be a problem installing APKs right away (even though
system is reported to be fully booted), which results in
about 1 minute delay or hanging system all together.

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.

MinBatteryVoltage - the minimum voltage level (only applicable to TestOS),


in micro volts which is required to proceed with flashing.
The default is 3800000 (3.8 V). Please note that lowering
the voltage limit below 3.6V will greatly increase the
number of flashing failures and could possibly render your
device un-usable. It is recommended to have at least
3.8V-3.9V.

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

Chinese will be displayed when a fully booted AOS device


is detected.

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”.

SkipXfstkPhase (Lenovo-specific) –if set to “true” (default value is “false”),


mFlash will look for a device in Droidboot mode, and skip
xfstk phase of the installation.

FQCFlashEnabled (Intel-specific, starting with v. 6.0.9) -if set to “true”,


mFlash will attempt to install the files specified in
parameters “FQCFileNameAPK” and “FQCFileNameXML”
defined in the same configuration file. Such as,
FQCFileNameAPK = FQC_v2.3.apk and FQCFileNameXML =
SystemTestConfig.xml. The specified files should be
located in the same directory as the executable for mFlash
tool.

Note:

This option only works if “USB debugging” is enabled in


“Developer options” by default, which might be true for
engineering builds.

SettingsPassword -if set to a non-empty string, mFlash will prompt for a


password for File-Open, and File-Settings menu selections.
This is to prevent the operators from accidently changing
the settings or loading incorrect flash.xml file.

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.

InstallAdditionalAPKEnabled – if set to “true”, additional APKs with tags


“AdditionalAPK1” through “AdditionAPK10” could be
specified, and will be installed after AOS boots.

Note:

This option only works if “USB debugging” is enabled in


“Developer options” by default, which might be true for
engineering builds.

AdditionalAPK1-10 - you can specify up to 10 APK files (1-10) to install after


AOS boots. Place the files in the same directory where
mFlash is installed.
Installation

Example:

AdditionalAPK1 = filename.apk

BYTFlashMode -if set to “true”, mFlash tool will switch to BayTrail


Flashing mode (as opposed to a traditional
Medfield/SOC/XFSTK model).

Make sure to set this value to “true” for any


BayTrail projects.

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.

4.1 Launching the tool

1. Double-click on the desktop shortcut (Figure 4-1);

2. The main GUI of the tool is shown in Figure 4-2.

Figure 4-1: Manufacturing Flash Tool Icon

Figure 4-2: Main window of Manufacturing Flash Tool


Usage

4.2 The flash procedure

4.2.1 Set the VID/PID of the device


Manufacturing Flash Tool will only detect the devices that correspond to the VID/PID
set in the setting’s panel (Figure 4-3). So before starting the flash procedure the user
has to check them.

15
Usage

Figure 4-3: General properties

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).

4.2.2 Select the flashing ingredients

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.

In order to easily identify which image is being flashed at a station, it is recommended


that you change the <platform> tag in the flash.xml file to contain the build ID, such
as a date or other info that would assist you in identifying the build. This string is
shown at the top of the mFlash flashing window.

In order to prevent an accidental change to a different set of AOS files, it is


recommended that you set the SettingsPassword value in CUSTOM_CONFIG.INI file to
some value (or keep it blank to ignore the password check).

4.2.3 Start the flash

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.

4.2.4 Interrupt the flash of a specific device


The flash procedure can only be interrupted by the user during the fastboot sequence.

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

Figure 4-4: Flash process interruption

4.2.5 Flashing/booting behavior


Unless you set CyclicalFlashingEnabled = false, the default behavior is that a device
flashed with AOS will reboot at the end of flashing procedure (if “fastboot resume”
command is present in the flash.xml file), and the device will be detected again once
in SOC mode and flashing process will repeat again.

To disable this behavior, set CyclicalFlashingEnabled = true, so that when a device


boots after flashing AOS, Manufacturing Flash Tool will check if the same SOC device
was flashed immediately prior to this (comparing serial number/port combination),
and will ignore the same device in SOC mode allowing it to fully boot to Android.

If the following values are set in the CUSTOM_CONFIG.INI file

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.

4.3 The statistic module


The flash statistics are not displayed by default. The statistics panel can be displayed
by selecting the “Display statistic” checkbox (Figure 4-5).

The results of the flash tries are stored in a .csv file.


Usage

Figure 4-5: The statistic module

4.4 Other options

4.4.1 Set the level of the logger


The log level can be set in the “General Properties” tab of the setting’s panel (Figure
4-3). The logs will be saved in a “c:\MFLASH_LOGS” directory for each device in a
separate file (with the serial number of a device for a file name).

4.4.2 Adjusting the internal flash timeouts


Manufacturing flash tool uses predefined timeout to detect firmware or android OS
flash failures. Those timeouts can be tuned in the “Flash Params” tab of the setting’s
panel (Figure 4-6). In most cases, the default values should be sufficient.

19
Usage

Figure 4-6: Internal flash parameters

4.4.3 Battery Voltage setting


As per section 3.5, there is an option to check the battery voltage level (which
corresponds to the %-age of the battery charge) prior to attempting any flashing.
Doing so will ensure a successful flashing process as well as minimize the number of
failures and improve re-test rates. This option is only available if device is initially
running TestOS. Please ignore if you start flashing from SOC/DnX mode.

If the voltage measured in TestOS is lower than a specified minimum, a message


about a need to charge your battery will be displayed in the message window.

To enable battery voltage checking, please configure CUSTOM_CONFIG.INI file,


specifically these parameters:
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

MinBatteryVoltage - the minimum voltage level, in micro volts which is


required to proceed with flashing. The default is 3800000
(3.8 V). Please note that lowering the voltage limit below
3.6V will greatly increase the number of flashing failures
and could possibly render your device un-usable. It is
recommended to have at least 3.8V-3.9V.

4.4.4 Removing Completed/Failed Device items


There is an option to remove completed (including failed) devices” from the “Devices”
list on the screen. In order to do that, select “File -> Remove completed devices”
option from the Menu. Alternatively, when a new device (with a different serial
number from that of the last attempted/flashed device on that port) is connected to
the specific port, a new device entry/progress bar will replace a previous one
corresponding to that port.

21
FAQ

5 FAQ

5.1 Composing the flash.xml file


Manufacturing Flash Tool uses a flash.xml file to perform the flashing steps. As
mentioned above, for BayTrail platform the flashing process starts with a device in
DnX mode. Once a DnX mode device is detected, the tool boots to droidboot.img (this
is done internally, and is not part of the flash.xml file), and then executes the fastboot
commands detailed in the flash.xml file.

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:

“Blank phone” build <code_group> tags

Fastboot build “code_group> tags

“Blank phone” fastboot commands

Fastboot build fastboot commands

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

In the case of a ZYB device, the SOC VID/PID values are:

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

In the case above “Android” VID/PID are as follows:

VID = 8087
PID = 09EF

Please enter these values in the Settings screen:


FAQ

Similarly, you will need to check the “TestOS” and completed/booted AOS device
VID/PID.

Devices running TestOS will be detected as “Android Phone”/”Android ADB Interface”.


Here is a screenshot of a ZYB device running TestOS:

27
FAQ

Where TestOS VID/PID values are:

VID = 18D1
PID = D001

Completed/booted AOS devices are detected as as “Android Phone”/”Android ADB


Interface” as well as the TestOS devices. Here is a VID/PID pairs for YKB DV 1.1
Device:
FAQ

Where Completed/booted OS VID/PID values are:

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.

5.3 Removal of the Previous LibUSB Driver in


Windows
The latest Phone Flash Tool versions (≥3.0.0) need the xFSTK iSoC drivers.
The xfstk-libusb-win32 driver MUST BE REMOVED before installing the new
iSoC driver.

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

5.3.1 Uninstall the libusb-win32 driver with the device manager


This method is the manual one. To remove the driver use the following steps:

1) Open device manager


2) Restart device to get it into DnX mode

3) Right-click on the device and select uninstall


a. On Windows 7 Select the ‘Delete the driver software for this device’
Box and hit ‘OK’
b. On Windows XP hit ‘Ok’
FAQ

4) Find the xFSTK libusb driver folder in start menu or program files

5) Run the uninstaller to completion


6) When uninstall has completed, disconnect the device.

31
FAQ

The libusb driver should now be completely removed from your machine.

5.3.2 Uninstall the libusb-win32 driver with a script


To remove the driver use the following steps:

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

REM libusb-win32 cleaner script for windows 7


REM filename: libusb-win32-cleaner-win7.bat

@echo off

echo Removing libusb-win32 driver ...


PnpFind.exe libusb | FINDSTR inf > fileTmp
for /F "tokens=3" %%A in (fileTmp) do pnputil.exe -f -d %%A
del fileTmp
echo ... OK

echo Removing device instances ...


USBDeview.exe /remove_by_pid 8086;e004
USBDeview.exe /remove_by_pid 8086;e006
USBDeview.exe /remove_by_pid 8086;09ee
USBDeview.exe /remove_by_pid 8086;e005
echo ... OK

pause

 Script for Microsoft Windows XP

REM libusb-win32 cleaner script for windows XP


REM filename: libusb-win32-cleaner-winXP.bat

@echo off

echo Removing device instances ...


USBDeview.exe /remove_by_pid 8086;e004
USBDeview.exe /remove_by_pid 8086;e006
USBDeview.exe /remove_by_pid 8086;09ee
USBDeview.exe /remove_by_pid 8086;e005
echo ... OK

echo Removing libusb-win32 driver ...


for %%A in (C:\WINDOWS\inf\oem*.inf) do (
FIND "libusb" %%A > fileTmp
FIND /V /C "" fileTmp > nbLine
for /F "tokens=3" %%B in (nbLine) do (

if %%B==2 (
echo donothing >NULL
) else (
echo Removing %%A driver
devcon\i386\devcon.exe dp_delete %%A -f
)
FAQ

3- Download USBDeview.exe from


http://www.nirsoft.net/utils/usb_devices_view.html and copy it into %DIR%
4- For windows 7: download PnpFind.exe from
http://code.google.com/p/picusb/source/browse/pnpfind (right click on
“PnpFind.exe” and select “Save link as”); copy it into %DIR%
5- For windows XP: download DevCon from
http://support.microsoft.com/kb/311272 and copy the extracted devcon
directory into %DIR%
6- Disconnect all Intel devices (phones and tablets)
7- Uninstall the old libusb-win32 driver from the xFSTK libusb driver folder in
start menu or program files
8- Open a cmd prompt with administrative privilege (in start menu, right click on
the cmd.exe shortcut and click “Run as Administrator”)
9- Go into the created directory ( “cd %DIR%”)
10- Execute libusb-win32-cleaner-win7.bat or libusb-win32-cleaner-winXP.bat

Then install the new Intel SoC driver.

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.2 An SOC mode device is detected, and an empty progress


bar is shown, device is not flashing.
Please make sure to select the flashing ingredients (flash.xml file) prior to connecting
any devices.

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

6.1.5 USB driver is installed for every new device that is


connected and it takes a long time to complete
Please make sure to apply the “registry hack” that lists VID/PID values which Windows
should ignore and not install a driver for every time. See section 3.2.

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.
There is a known SW issue (being addressed right now) when the serial number is not
read properly in fastboot mode (shows as “?????????”). Please use a “cmd” window to
check if that is the case – run “fastboot.exe devices” command to ensure that a valid
serial number is shown. Please power off the device and place it to DnX mode once
again, and attempt flashing it again (either remove completed devices from the menu
option, or connect it to a different port).

6.1.7 The Tool needs to be restarted due to internal errors,


such as SFC dll crash etc.
It might be necessary to restart the Manufacturing Flash Tool because of internal
errors, such as the ones caused SFC dll (possible in case of network outage, for
example), I/O errors etc. If the tool stops working in the middle of flashing a device, it
might be necessary to terminate it with Task Manager (Ctrl+Alt+Delete -> Start Task
Manager).

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).

6.1.9 During installation you get an error that adb.exe cannot


be updated.
Sometimes, if Manufacturing Flash Tool was terminated due to error, or manually,
adb.exe process continues running. So, during a re-installation of Manufacturing Flash
Tool, you will get an installation error. Please terminate the “adb.exe” process from
the Task Manager and retry.

35

You might also like