I found a TSB on the BCM:
Bulletin No.: 04-08-47-003
Date: August 31, 2004
Security Light On, Engine Will Not Crank, Diagnostic Trouble Codes B2958 and/or B2960 (Repair Poor Terminal Connections at Body Control Module)
2000-2005 Chevrolet Impala, Monte Carlo
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.
Check these connectors and pins carefully.
Friday, November 20th, 2009 AT 7:28 AM