P0128 - Coolant Temperature Below Thermostat Regulating Temperature
Meaning: Engine coolant temperature is below regulating temperature (after engine has been running long enough to warm up).
Causes (listed in order diagnosis should follow):
- Improper coolant level/mixture.
- Faulty cooling fan.
- Faulty cooling temperature sensor (ECT).
- Stuck open thermostat (most common cause).
- Faulty intake air temperature sensor.
Note: Engine should operate above 160° F.
- Check coolant level in radiator.
- Check if cooling fan is constantly running. A/C should be off for this check.
- Test ECT with infrared thermometer and OBDII reader. Warm up the engine. Measure the temperature of the upper radiator hose, it should be close to the reported engine temperature.
(Alternately: Test ECT in a water bath with a thermometer and multimeter.)
Note: Check air intake temperature at this time as well. It should be close to ambient +20°F or under the hood temperatures. In rare circumstances, that can cause this code as well.
- Test thermostat. Warm up the engine. Measure the temperature of upper and lower radiator hoses. They should be at a similar temperature.
(Alternately: Continuously check coolant temperature during warm-up, it should stay cold and then suddenly warm up. Gradual warming indicates a stuck open thermostat.)
Related: P0125 is very similar, but can be caused by frequent short trips in a cold environment. P0128 cannot be caused by this. P0127 is caused by an overheating engine.