If your check engine light is on *despite* getting a code 12, there's a possibility of one of the following:
* The light is stuck on: The bulb itself might be faulty, or there's an issue within the warning light circuit.
* A pending code: There might be a code that hasn't triggered the check engine light yet but will appear if the issue continues.
* OBD system malfunction: Rarely, the OBD system itself could be malfunctioning and not reporting codes correctly.
* Non-OBD II code: The issue might be controlled by a system that's not covered by the standard OBD II protocols (some older vehicles, or certain specialized modules).
* Previous code cleared: The system might have recorded and then cleared a code, and the light is now merely illuminating due to a residual effect of the original problem.
What you should do:
1. Check the bulb: Make sure the check engine light bulb itself isn't burned out.
2. Use a proper OBD-II scanner: Don't rely solely on the code 12. Use a reliable OBD-II scanner (available at auto parts stores) to retrieve any active or pending trouble codes. This will give you a much clearer picture of what might be wrong.
3. Inspect for any other symptoms: Does the truck run rough? Are there any other warning lights on? Note any unusual behavior, sounds, or smells.
4. Consult a mechanic: If you can't find any other codes and the check engine light remains on, it's best to take your truck to a qualified mechanic for diagnosis. They have the tools and expertise to properly diagnose the problem.
In short, a code 12 itself doesn't indicate a problem. The check engine light being on despite code 12 means further investigation is needed.