Issue: Diagnosing and repairing issues requiring module programming or reprogramming
Vehicles: All 2004 and newer
Tools used:
- Scan tool
- Vehicle information
- Battery maintainer
- J2534 programming tool
Ever since CAN networks were installed on vehicles there has been a need to perform a more complete diagnosis when issues arise. Because networks rely on module-to-module communication, or sensor data shared by multiple modules, they require a complete diagnosis of the communication network. Once the functionality of the communication network has been verified, you can proceed with performing diagnostic tests on the system having the issue.
Network communication is the key to maintaining the ability of each vehicle system to function.
Let’s compare a vehicle network communication system to a printer at your home office. If the printer is connected to your Wi-Fi, then any device also connected can print a document. If you replace your cell phone and want it to print, you must first introduce the new phone to the network and make sure it has the ability to be recognized. Additionally, if the software on your phone is not compatible, or does not function as it should with other devices in the network, the software on the phone will need to be programmed, or updated, to work properly.
A vehicle network works in the same manner, it must have communication and the proper functionality of each component. If a component is not working properly, the software or the component, and in some cases both, must be changed.
A little history
In order to maintain emission compliance after vehicles were out of warranty, a way for independent automotive shops to change vehicle operating software was necessary. In order to accomplish this, J2534 was enacted to create a standard that required vehicle manufacturers to make a universal pass-through communication system available to the automotive aftermarket on all light duty vehicles starting with the 2004 model year. J2534 defines how the pass-through device, the OEM application, and the vehicle communicate.
Since the initial introduction to the J2534 standard, there have been some updates:
- J2534-1 is a mandatory requirement for vehicle manufacturers to make emission calibrations available to the aftermarket. (Written by SAE in 2004)
- J2534-2 is voluntary for vehicle manufacturers to make non-emission calibrations and dealer diagnostics available to the aftermarket. (Written by SAE in 2006)
- J2534-3 is a verification test to assure tool and vehicle manufacturers are complying with J2534-1. (Written by SAE in 2008)
- J2534-4 is the newest standard; starting for model year 2018, vehicle OEMs are required to make available the diagnostic and repair information for their vehicles. This also includes the ability to program all modules on the vehicle using a J2534 pass-through device. Some vehicle manufacturers are indicating they will make this retroactive for older models. (Written by SAE in 2013)
Well documented and discussed in many articles is a list of equipment and processes necessary to program vehicles. This list includes a laptop computer, a J2534 device, a battery maintainer, and access to the OE website to obtain the program files.
One thing that has not been discussed as much, and is becoming more of a requirement to perform reprogramming, is the ability to access some sensitive vehicle data without being properly licensed. Most vehicle manufacturers are now securing sensitive vehicle information, such as key codes, immobilizer resets, and PIN codes, in secure areas on their website (See Fig. 1). To completely program some modules, it will be necessary to access this information. Unfortunately, there are steps you will need to take prior to being allowed to download the information.
Most manufacturers require you to be registered as a Vehicle Security Professional (VSP), and supply a Locksmith Identification Number (LSID). There will be a fee, and a background check necessary to obtain your LSID. The information and application can be found at NASTF.org (See Fig. 2). All of this is required to ensure that your customer’s vehicles are safe and secure from theft. Once you have these credentials you will be able to obtain the necessary programming files from any vehicle manufacturer.
Step 1: Completely diagnose the vehicle
One of the first things you need to do is perform a complete diagnosis. This starts with determining what conditions are present, and interviewing the customer to see if any repairs or other factors that may have affected the vehicle operation have occurred.
Armed with this information, use your scan tool to check for codes, obtain freeze frame data and possibly use bi-directional controls to activate a component while you are monitoring a system.
Using bi-directional controls and monitoring sensor data can be very useful. For instance, observing upstream oxygen sensor data and controlling the purge solenoid can tell you if the EVAP system is functioning or not.
Observing freeze frame data can be useful to determine how and when the system recognized the issue. It can also provide you with the information on how to duplicate the circumstances that caused the failure so you can operate the vehicle in the same fashion to verify the repair was successful.
Testing and recording essentials like source and charging system voltages, engine vacuum, and fluid condition and levels should not be overlooked.
Step 2: Obtain vehicle information
Once you have your preliminary diagnosis, you need to obtain information on what could have caused the condition, or more information describing additional tests that will need to be performed. There is no substitute for having correct and up-to-date information for the vehicle you are diagnosing and repairing. Valid information can come from multiple sources, and in my opinion, you can never have too much information. Sources can include OE subscriptions; aftermarket providers such as Mitchell 1, ALLDATA and Identifix; or network sites such as IATN, where you can research issues other technicians have experienced with similar vehicles.
Having access to multiple sources of information can assist you in finding, diagnosing and repairing issues as well. TSB and programming information is also necessary for today’s vehicles. Most aftermarket sources provide very good and up-to-date TSB information, but up-to-the-minute programming information is necessary from the OE. This can be obtained from NASTF.org, or OEM1stop.com. Both of these sites will provide quick links to the OE websites where you can obtain data for programming and initiating modules, along with programming equipment requirements specific to the vehicle manufacturer.
Step 3: Repair the vehicle
Once you have completely diagnosed the vehicle, it is time to replace whatever parts are required to repair the system. After this is done, it may be necessary to program a module if it was replaced, or reprogram an existing module with the operating specifications of the new part.
If you utilized a TSB to perform the repair, and it lists a replacement part and a reprogram of the software, it is likely the component operates differently and it, or other parts in the system, will need to respond differently to the onboard computer. In many cases if a TSB lists a specific replacement part, aftermarket replacement parts may not work properly and should be avoided.
Step 4: Reprogram the module
The first step in programming after performing your diagnosis and making any mechanical repairs, is to fully charge the vehicle battery and hook up a battery maintainer to the vehicle’s battery. A battery maintainer will provide clean power with no voltage spikes, which many battery chargers are not able to do. Consistent power is required throughout the entire programming process because it will be necessary to have the key on and the modules powered up for the programming to occur.
You will next need to obtain the program files from the vehicle manufacturer’s website. The files will be downloaded to your laptop using the J2534 device. Once the files are loaded onto your laptop, they will be uploaded to the vehicle through the J2534 tool. This process can take anywhere from five minutes to several hours, depending on the vehicle and module, or modules, you are programming. If the vehicle just requires a quick rewrite of one file it can be very quick. But, if a complete rewrite of several modules is required, as well as rewriting files and interactions of other modules, it can take some time.
During the programming event, you may be directed to remove a fuse, or a module. These steps are necessary to completely program the module. Remember, there are no shortcuts when it comes to programming, so make sure to follow any steps called out in a TSB or in the program files.
Once modules have been programmed, it may be necessary to configure some data into the PCM. Items such as tire size, VIN and mileage may be required.