How to update module firmware with FORScan

Testing new functions
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

2.4. MFU in FORScan: Buttons pane

Post by FORScan »

The pane has three buttons:

Download

The download button runs process of firmware files downloading. Only files marked with red square are tried to download. FORScan first tries to download it from Motorcraft site (https://www.fordtechservice.dealerconne ... rogram.asp). Then, if it is missing there, FORScan tries to download it from alternate sever. Access to alternate server is only available to paid users.

Test run SBL

Thus button starts uploading SBL to the module, without erasing and reprogramming flash memory. It is designed for testing communication and the adapter and to make sure the process is working. Note: the fact SBL has been loaded successfully doesn't guarantee the programming will be also successful, but does provide some additional confidence.

Program!

This button start the programming process itself.

Back to contents
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

3.1. Programming Guide: Preparation

Post by FORScan »

Before start programming, you have to prepare your car, your equipment and yourself.

Prepare yourself

First of all, everyone who uses FMFU must be ready for any trouble. The process itself is complex, risky, not always predictable and designed by Ford to be used by trained specialists and not vehicle owners. If you do not feel yourself strong enough, it may be good idea to make the upgrade in a workshop. If you decided to program it by yourself, please take care of a backup plan for the case of failure.

Second, only person who runs programming will be responsible for the end result and will have to resolve problems if they happen. If module is "bricked" and it caused by a problem in FORScan (that is quite rare case after 4 years of testing), we will do our best to fix the problem and assist in recovery. But you have to remember that product is provided "AS IS" and you use it at your own risk, so development team has no obligation to immediately quit all its business and resolve your case. Besides, we physically have no resource to effectively support every FORScan users as the number of users is large.

Third, due to complex and risky nature of the programming process, it is strongly not recommended to perform FMFU "just for fun" and upgrade every module just because it has an update available. We recommend to run FMFU only in cases when it is really necessary: to fix some problem, make some new feature available etc.

Prepare equipment

Adapter's choice is critical thing. We recommend to use OBDLink EX or vLinker FS adapters for this process. Also, good J2534 PassThru device can be used. J2534 interface implementation in FORScan is universal, but as experience shows J2534 adapters are quite different. We use the following adapters in our tests that work fine: Ford VCMII, Scanmatik 2 (SM-2), Chipsoft Mid and Pro with latest firmware (old firmware contained bugs), UCDS with latest firmware (old firmware contained bugs, note it only supports CAN), Tactrix OpenPort 2.0 (note it doesn't support J1850PWM and MS-CAN). We strongly not recommend to use any ELM327 for this procedure as it is not designed for this type of work. We also strongly recommend to use only genuine versions of the adapters. China clones, for example, of Ford VCMII or ELS27 are not reliable and not fast enough to perform FMFU.

Laptop or netbook used with FORScan must have good battery and connected to a reliable power supply. Programming process may take several hours, so the battery will not be enough. It is not recommended to supply power from the car's power point. Also, internet is required for downloading files.

Due to long time that may be required for programming, please make sure you have settled all the eqipment (adapter, laptop, cables, connectors etc) in a convenient order that will prevent the programming process interruption.

Prepare vehicle

It is recommended the car is placed in a garage box or a reliable parking place with a power supply available. It is strongly recommended a car battery charger or a special battery power supply is used for programming. Battery voltage must not be lower than 11 Volts. For prolonged programming sessions it is not possible to keep voltage stable without an external power supply. We also recommend placing the car so it can be recovered in case the programming session is unsuccessful.

Backup vehicle profile

It is extremely important to back-up and keep safe the original vehicle profile created by FORScan for each car before programming. The profile contains a lot of major information, including module firmware, hardware and assy numbers. This information will be required if something goes wrong and a module has been "bricked". In such cases it is not possible to read the necessary information directly from the module. So the previously stored profile is the only source of this information.

More information about vehicle profiles can be found in our article.

Back to contents
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

3.2. Programming Guide: Programming time

Post by FORScan »

Performance of the programming process depends on a lot of factors. But first of all, it depends on adapter’s performance and functionality. Critical parameter is support of ISO15765 in the adapter. If adapters implements full ISO15765 support (we call it "hardware ISO15765"), it is 4-5 times faster than the adapter that has no such function (we call it "software ISO15765"). Here are some reference points for HS-CAN:

Ford VCMII genuine with hardware ISO15765 – 1000Kb/min

vLinker FS with hardware ISO15765 – 800-1000Kb/min

ELS27 with hardware ISO15765 – 700-900Kb/min

OBDLink EX with hardware ISO15765 – 700-900Kb/min

Ford VCMII genuine with software ISO15765 – 200-300 Kb/min

ELS27 with software ISO15765 -200-300 Kb/min (on 2-8 Mbps baud rate)

OBDLink EX with software ISO15765 – 200 Kb/min (on 2Mbps baud rate)

ELM327 with software ISO15765 – 100 Kb/min (on 500 Kbps baud rate).

(Timings for MS-CAN may be up to 4x times slower :( )

So you can see why we do not recommend to use ELM327 for firmware update, and why we require OBDLink be upgraded to the latest fw that supports hardware ISO15765.

The screenshot below illustrates programming time for modern car in Ford Diagnostic and Repair System (FDRS), for better understanding maximum time expenses.

Image
Picture 3a. Programming time in FDRS

FORScan estimates programming time and shows it in the warning dialog that is displayed right before programming is started (see Picture 3e in Section 3.6.

Back to contents
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

3.3. Programming Guide: Application and adapter settings

Post by FORScan »

Picture 3 shows FORScan connection settings that are important for FMFU:

Image
Picture 3b. FORScan important settings

These settings are:
  • If the adapter you use has FTDI USB-UART chip, it is recommended to use FTDI connection type instead of COM
  • Auto-increase settings must be on, to adjust adapter to the optimal performance
  • ISO15765 setting must be set to Auto to enable Hardware ISO15765 (explained in previous chapter).

Back to contents
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

3.4. Programming Guide: Firmware database

Post by FORScan »

Firmware database in FORScan is the most complex stuff: it contains information about firmware, their inheritance and compatibility. Information about firmware is collected from different sources that are mostly incomplete and not always reliable. This is why FORScan may have no firmware information about very new cars, so requests from users on missing firmwares are appreciated.

FORScan provides much more abilities and flexibility on FMFU than a dealership scanner, the drawback of this approach is that the risk to "brick" the module is also higher. To minimize the risk, FORScan tracks firmware compatibility using quite complicated algorithm with several parameters. Two set of firmware files (assemblies) are considered to be fully compatible if the following conditions are in place:
  1. They have been created for the same hardware or their hardware is of the same (compatible) group
  2. There is an inheritance relationship between the assembly: one of them is a descendant of another
  3. There is an inheritance relationship between all the software pairs in both of assies
If all three conditions are in place, the assies are considered to be fully compatible and displayed to user in the Available mode. This system may look overcomplicated, but it was recognized as the most reliable one after several years of testing FMFU in FORScan.

At this moment it is not possible to select assies that are only compatible by hardware (this feature may be available in future releases). So if user needs to program a firmware that is out of hes/her module firmware branch, it has to use Custom mode. Downloading files doesn't work in Custom mode, so files have to be prepared manually.

FORScan downloads firmware files from this page:

https://www.fordtechservice.dealerconne ... rogram.asp

Unfortunately this site doesn’t contain all the files, also old files seem to be removed. If file is missing here, FORScan requests the file from an independent storage. Access to the storage is only available for users with paid Extended License.

The independent storage may also have no some files. In this case please contact us and we will try to find it. No guarantee we will be able to do it, though.

Back to contents
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

3.5. Programming Guide: Current firmware backup

Post by FORScan »

At this moment FORScan cannot read existing firmware from the module flash memory (this feature may appear in the future). So the only way to backup current firmware is to download their files. With current version of FORScan it can be done in two ways:

1. In available mode by selecting the same assy we currently have:

Image
Picture 3c. Backup current firmware (way 1)

2. By using special Factory mode:

Image
Picture 3d. Backup current firmware (way 2)

In both cases user has to press "Download" button to download the selected files. Second way is recommended if user doesn't know what was the factory installed firmware. In that cases FORScan downloads factory As Built data (*.AB) file and loads firmware information from there.

Note 1: dealership scanner has no ability to roll back to old firmware, at all. It can only program to the "current", most actual and stable version of the firmware for this module. As a result, Ford servers do not keep old versions of firmware, so it is quite normal thing when current version of the firmware cannot be downloaded.

Note 2: factory As Built data (*.AB) files may contain no information about firmware for some modules (rare for Ford, but almost a rule for Mazda modules other than PCM and TCM).

Back to contents
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

3.6. Programming Guide: Firmware update process

Post by FORScan »

General firwmare update process workflow is:

1. Make preparations, make all connections, connect FORScan to the car.

2. Go to Configuration and Programming section and run "Module firmware update function" for the selected module.

3. Select programming mode and choose required firmware, set programming options.

Force program unchanged firmware is recommended to be enabled. This option forces reprogramming all files and not only those that are different. Many modules do not support separate firmware files programing and require all files to be reprogrammed.

Stop activity on buses is also recommended to be enabled, it informs all modules about programming session, so they stop using CAN bus for their internal communications.

Recovery has to be used only in special cases explained in Section 4.4. Troubleshooting: Recovery mode.

4. Download necessary files (new and current)

5. Test run SBL, to make sure adapter is capable for programming. This is not mandatory but recommended step, especially if you program first time with this adapter.

6. Start programming and get the warning dialog that shows information about programming time and general warnings.

Image
Picture 3e. Warning dialog before programming

7. Provide necessary conditions (keep batteries charged, connections - reliable, equipment - untouched etc) during the whole process. Track programming status and progress until it has been completed.

Programming sequence described in details in Section 1.2. Internals: Flash memory and firmware update process. FORScan shows status in the Log tab, also overall progress is indicated by the progress bar indicator at the bottom as illustrated on Fugure 3f:

Image
Picture 3f. Programming status and progress in the midle of the procedure

Note that FORScan logs every step and its result: loading SBL, erasing flash memory, loading firmware etc. It also details the process: shows total number of blocks for every firmware file (to be erased or programmed) and current block in progress. Number of blocks to erase and program is usually different. Please also note that the progress indicator at the bottom shows overall progress of the programming process, counting all files that have to be uploaded.

Successful completion should look like illustrated on the Fugure 3g:

Image
Picture 3g. Programming status and progress after completion

9. If process failed for some reason, follow recommendations in Section 4. Troubleshooting.

Back to contents
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

4.1. Troubleshooting: Firmware has not been uploaded

Post by FORScan »

If firmware uploading process fails for some reason, and it happened after flash has been erased, it will most likely lead to "bricked" module. The log may look like illustrated on the Figure 4a:

Image
Picture 4a. FMFU interrupted on uploading file

Below we analyze some possible reasons and recovery methods. Please note we do not review a case when bad quality adapter is used, it is assumed that programming is performed using one of recommended or good quality adapter. We also do not review a case when some external trouble happens - like battery discharge or disturbing a wire or connection.

A. Settings of FORScan and equipment are not optimal.

Please check that:
  • FORScan Settings have been set to recommended.
  • Checkbox "Force program unchanged firmware" has been enabled
  • Please try to disable all the electronic modules that are not directly involved into programming process (climate, audio etc).
B. Network is too slow and/or overloaded

Please make sure that the checkbox "Force program unchanged firmware" has been enabled. If it is enabled but still doesn't work, the only trick is to disable hardware ISO15765 in adapter. The idea is that software ISO15765 works much slower, that may be better option in slow or overloaded network.
  1. Disconnect FORScan from the car.
  2. Go to FORScan Settings, Connection tab.
  3. Change ISO15765 from "Auto" to "In application" as shown on Figure 4b.
  4. Connect to the car and retry programming.
  5. After resolving the issue, it is recommended to switch ISO15765 back to Auto.
Image
Picture 4b. ISO15765 settings

C. Module is too slow

Old modules that are auxiliary (ACM, HVAC...) may have too underpowered hardware that is not designed for high loads. From our experience, the trick with ISO15765 (see case B for details) is the only thing that helps in such cases.

D. Instrument Cluster C-Max Hybrid (FHEV/PHEV) 2012-2015 (may be other years too)

For some reason C-Max Hybrid IPC cannot be programmed in car as the module seems to be disturbed by car's network and may interrupt programming process unexpectedly. So we do not recommend to program 2012-2015 C-Max Hybrid IPC, but if you have read this note too late or need to update it anyway, the workaround is to dismount the instrument cluster and program it on the bench as described below:

- connect IPC pins as the following:
pin 21 - 12V
pin 5 - Ground
pin 12 - MS-CAN+ (to pin 3 of the OBDII)
pin 13 - MS-CAN- (to pin 11 of the OBDII)

- check resistance between pins 12 and 13, it must be ~120 Ohm (to verify connection is correct)

- Run FORScan and connect to the IPC module, using previously saved profile from the vehicle the IPC was installed on
- Perform firmware update

This problem was confirmed for the following part numbers:

DM5T-10849-A*
FM5T-10849-A*

E. All other cases

If the above measures help not, and in all of other cases, debug information has to be sent to development team to find out the reason of the failure and providing recommendations on recovery.

Back to contents
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

4.2. Troubleshooting: Firmware uploaded successfully, but module doesn't work

Post by FORScan »

Usually it looks like illustrated on Figure 4c:

Image
Picture 4c. "Something went wrong" message

This warning means that FORScan has uploaded everything without any problems, but when it requested firmware update status from the module, module answered that no valid firmware is available. If module is old and doesn't support firmware status request function, FORScan will not show any error even if no valid firmware is available.

Possible reasons and solutions:

A. Incomplete set of files uploaded at once

As mentioned above, some modules do not allow to program separate files but require all files to be programmed at once. If user tries to program a single file to such a module, s/he will get "Something went wrong" message and "bricked" module. Recovery is simple: just set the checkbox "Force program unchanged firmware". In latest version of FORScan this checkbox is set by default.

B. Wrong programming order

FORScan uploads firmware files always in the following order: strategy files, calibration files, configuration files. This is an optimal order in absolute majortiy of cases, but sometimes it doesn't work and cause "Something went wrong" message and bricked module. As an example, Mondeo Mk5/Fusion CD391 IPC that requires another order: calibration file first, strategy file second. The problem is that in current FORScan implementation this order cannot be changed by user. So the only way to fix this problem is the following (on example of Mondeo Mk5/Fusion CD391):
  1. Enter IPC Module Programming function
  2. Make sure all firmware files are available. If not, download it
  3. Switch programming mode to Custom
  4. Select ONLY Calibration file
  5. Program the calibration file
  6. Enter IPC Module Programming function again
  7. Switch programming mode to Custom
  8. Select ONLY Strategy file
  9. Program the strategy file
So this way we change the programming order, although the way we do it is not very elegant. Note that this specific module allows programming of a single file (so we have no case 4.2.A), this is why the workaround is possible at all.

Another note: FORScan implements a workaround for Mondeo Mk5/Fusion CD391, so it will program it properly from the box. However, similar problem may appear for other models/modules.

C. Firwmare files are not compatible with hardware or each other

It is quite possible in Custom mode of programming, or for modules with multiple versions of firmware configuration files under the same assembly number (BCM, ABS...). The best way to recovery is to program factory firmware.

D. Firwmare files are not stable

Last firmware in branch may be beta/unstable, so not working properly. The best way to recovery is the same - roll back to the factory firmware.

E. SYNC3 requires "Silence on bus" option disabled on programming

Some SYNC3 modules may get bricked if programmed with "Silence on bus" option that is default. Reason is unknown. Disabling "Silence on bus" option fixes the problem.

Back to contents
FORScan
Site Admin
Posts: 2970
Joined: Fri Jun 13, 2014 2:21 am

4.3. Troubleshooting: Problems with firmware database

Post by FORScan »


There are no workarounds for this type of issues. Please make sure you use latest version of FORScan, and if so, please address the problem to FORScan support team.

A. "Module firmware update" function is not available for some module

It means that FORScan either doesn't support the function for this module, or has no information about firmware for it.

B. Error while starting "Module firmware update" function

If FORScan shows "Unable to load SBL info", it means that although FORScan has information about this firmware, for some reason it is not enough to run the function. It may be normal for newest modules such as SYNC4, GWM and TCU installed on 2021MY F-150 and some other newest models: these modules seem to use new Over-The-Air update method. For older modules that do not support OTA it is a problem in the database that has to be resolved by development team.

C. There is no new version of firmware available

FORScan firmware database has been fulfilled manually, it is quite labour- and time-consuming process. Updates for more popular models are added faster that for less popular. If you see no update for some module of your car and believe it must be there, please contact support team.

D. FORScan offers firmware that looks incorrect

Bugs in the database are possible, so if you feel something is wrong with the firmware offered by FORScan, please contact support.

Back to contents
Locked