This 2004 Cadillac CTS came in with the complaint that the ignition switch would not fully turn off. The engine started and ran normally and could be turned off but the key would stop rotating as if the shifter was still in gear. As a result the battery would go dead.
First things first if the key will not turn all of the way off there is a manual override button that can be depressed as shown below. With the ignition on, depress the button. Then rotate the switch to the off position.
Now back to the problem. I tested the park switch relay function in the Dash Integration Module (DIM). Commanding the solenoid on with a scan tool allowed the key to turn off. This confirmed that the basic switches and wiring were okay. I also looked at data stream to confirm that the computer was seeing the shifter go into the park position and it was. I did note that there was a U1000 code in the DIM. That code means it had lost communication with one of the other modules. My first inclination was that the ECM must be faulty because the 3.6L GM computers have a high failure rate in which this type of ignition switch problem is involved. In my experience other faults are also involved. Including a no crank condition, gauges inoperative, door lock faults, trunk release inop and no reverse lights. The ECM is under the engine trim panel.
It appears like the ECM has been replaced recently. Talking to all parties involved was enough to uncover the answer to this problem. The ECM had been replaced and it was ordered programmed to the vehicle. After it was installed the theft relearn was performed using the 30 minute manual method and the engine started. The customer’s original problem of the a/c compressor relay not working was resolved but now there was this new problem with the ignition key. The original ECM was still available so I reinstalled it. The key problem went away and the original a/c fault returned.
The answer was that the ECM needed to be fully programmed after it was installed on the vehicle. It was only partially programmed by the supplier. In talking with the tech line I found out that only basic programming is done at their facility. They stated that the ECM and programming software need to be able to interact with other modules in the vehicle for the full programming to be completed. I used my Tech 2 scan tool and the GM TIS2Web programming software to complete the programming and all was fixed.
Now, depending on who you are the pre programmed ECM scenario can have positive and negative effects. If you are a DIYer it helps because the vehicle will run and can be driven to a facility such as mine for the full programming to be completed. As long as you know more programming is needed.
If you are a shop and know that a blank ECM needs to be programmed on the vehicle it can throw off the diagnostics when you are told the ECM was already programmed at the factory.
The problem for this vehicle, the owner and myself was that the part store supplier did not properly inform the customer of the need for further/full programming.