There are a few different causes for this problem, and it depends largely on what the exact trouble codes are. You'll need a high quality scan tool to read these codes, or you'll need to take it to your mechanic for diagnosis, but here is a document from GM that talks about this problem and what the possible causes are.
Some customers may comment on an engine that will not crank. Others may comment on the security light being on. Technicians may find DTCs (diagnostic trouble codes) B2958 and/or B2960.
These conditions may have several different causes. In each case, however, testing of the BCMs (Body Control Modules) replaced for these conditions are frequently found to be operating to specifications and are believed to have been replaced needlessly. A change was made to the BCM hardware in February of 2003. An updated BCM can be identified by a GMAN169 or higher number found on the BCM part label. This hardware change was made to prevent the remote possibility that a BCM, built after the GMAN169 number, could be the cause of these conditions.
The following are the likely causes of these conditions:
|1. ||Damaged or loose/unseated terminals in these BCM connectors may cause a security light or no start condition: |
|• ||BCM connector C1 (24–way, pink in color), terminal B9 (white wire, circuit 1459) |
|• ||BCM connector C1 (24–way, pink in color), terminal B12 (black wire, circuit 1835) |
|• ||BCM connector C2 (24–way, grey in color), terminal A3 (yellow wire, circuit 1836) |
| || Important: Use only approved tools for removal and testing of terminals. Do not use unapproved tools to probe a terminal as this could cause damage. Use Probe Tool J 35616–6, from the J 35616–B terminal test kit, to test the terminals in the BCM connector. |
|2. ||Check all the terminals in both BCM connectors, focusing on the three terminals listed above, for damage and proper seating of the terminal in the connector. If no damage is noted, follow the normal SI diagnostic procedures including clearing codes and attempting to duplicate the concern. |
|3. ||Always check for and clear all DTCs after recharging or disconnecting the battery. Attempt to restart the vehicle only after all DTCs have been cleared. This will help prevent an unnecessary BCM replacement due to false DTCs being set while servicing the battery. |
|4. ||A BCM should not be replaced when DTCs U1016 and/or U1064 have been set, even though the BCM is turning on the security light. Diagnose and repair or replace components as directed by the diagnostic procedures for these diagnostic trouble codes. |
|5. ||A current or history diagnostic trouble code B2958 in the BCM and a loss of battery voltage due to a battery going dead or a battery disconnect may cause a no start condition upon recharging or reconnecting the battery. Clearing the diagnostic trouble code will allow the vehicle to start. |
|6. ||The security light may turn on when the IPC (Instrument Panel Cluster) or PCM (Powertrain Control Module) does not receive a state of health message from the BCM within a specified window of time. DTCs U1016 or U1064 may set. Upon receiving the state of health message again, the security light will go out and diagnostic trouble codes will go to history. If this happens frequently, the vehicle may exhibit an intermittent or random flash of the security light.|
Worst case scenario is that you may need a new body control module, which requires programming by your dealer. For this reason, this is a good repair to refer to your dealer, since they'll be uniquely equipped to diagnose and repair this for you, where most independent shops are not.