The B2948 code is a manufacturer-specific body code indicating a high voltage condition in the security system sensor circuit. Because it is manufacturer-specific, its exact definition depends on the vehicle application, though it is most frequently associated with General Motors (GM) vehicles.
This code identifies a detected electrical circuit condition, such as an open circuit, not necessarily a failed module. Proper diagnosis requires verifying the exact factory definition and testing the relevant Passlock or immobilizer wiring to confirm the root cause.

Quick Navigation
Key Takeaways
- The B2948 code indicates a manufacturer-specific fault, typically a high voltage or open circuit in the Passlock security sensor circuit.
- Possible causes include broken wiring, poor electrical connections, a failed ignition lock cylinder sensor, or a faulty Body Control Module (BCM).
- Symptoms typically include a flashing or solid security light and an engine that starts then stalls or fails to start.
- Diagnosis requires checking the exact factory definition and testing the sensor circuit continuity and voltage with a multimeter.
- Repairs vary by application and may involve wiring repair, ignition cylinder replacement, or module service followed by a security relearn.
B2948 Code Description and Implications
B2948 is a manufacturer-specific code. Its exact definition depends on the vehicle application.
Some General Motors (GM) applications: The code relates to the Passlock anti-theft system, specifically indicating a high voltage or open circuit condition in the security sensor power or signal circuit located inside the ignition lock cylinder.
When the Body Control Module (BCM) detects this abnormal voltage, it interprets the condition as a potential theft attempt or system failure, triggering the vehicle’s fuel disable mode.
Because this code involves the vehicle’s immobilizer system, addressing it promptly is required to restore normal engine starting and operation. A faulty component or harness issue can trigger this fault code.
Common Causes of the B2948 Code
Several conditions can trigger this manufacturer-specific malfunction code. Identifying the exact cause requires electrical testing.
- Broken, chafed, or open wiring in the Passlock sensor circuit between the ignition cylinder and the BCM.
- Corroded, loose, or contaminated electrical connectors at the ignition switch or BCM.
- Internally failed Passlock sensor or hall-effect switch integrated within the ignition lock cylinder.
- Poor sensor ground circuit or excessive resistance in the wiring harness.
- Faulty Body Control Module (BCM) or internal module driver issue (rare, usually only after circuit verification).
Symptoms Associated With B2948
Because this code involves the vehicle’s immobilizer, symptoms directly affect engine starting and operation.
- Illuminated or flashing Security indicator light on the dashboard.
- Engine cranks but starts and immediately stalls due to fuel injector disablement.
- Complete no-start condition where the engine cranks but never fires.
- Inability to complete a Passlock relearn procedure due to the open circuit.
Diagnosing the B2948 Trouble Code
Diagnosis must begin by confirming the exact factory definition and locating the specific sensor circuit for your vehicle.
- Verify the exact manufacturer definition and locate the Passlock sensor wiring for your specific vehicle.
- Visually inspect the wiring harness and connectors at the ignition lock cylinder and BCM, looking for broken wires or corrosion.
- Use a digital multimeter to measure the resistance and voltage of the sensor circuit and compare it to manufacturer specifications.
- Check the circuit for an open condition or excessive resistance that would cause the BCM to read a high voltage state.
- Use a scan tool to monitor BCM live data and verify the security sensor state while cycling the ignition.
Repairing the B2948 Issue
Repairs depend entirely on the confirmed root cause of the circuit malfunction.
- If wiring damage or an open circuit is found, repair or replace the affected harness sections and secure the routing.
- Clean or replace corroded connectors to restore proper electrical contact and circuit integrity.
- If the internal ignition cylinder sensor fails electrical testing, replace the ignition lock cylinder assembly using a component meeting the correct vehicle specification.
- Perform the manufacturer-specified Passlock relearn procedure after any component replacement or battery disconnect to synchronize the sensor with the BCM.
- If testing confirms the BCM driver is faulty and all external circuits are intact, follow the manufacturer procedure for module replacement and programming.
Cost Considerations for B2948 Repairs
Cost depends on diagnostic time, component accessibility, required parts, programming requirements, and labor.
Replacing an ignition lock cylinder and performing the required security relearn is generally more involved than a simple external sensor replacement, as it requires integrating the new mechanical and electrical components with the vehicle’s immobilizer system.
Prevention Strategies for Future Occurrences
While electrical failures are not always preventable, some practices can reduce the risk of security system issues.
- Avoid forcing the ignition key or using heavily worn keys, which can mechanically damage the internal sensor mechanism inside the lock cylinder.
- Inspecting exposed steering column wiring and connectors can help identify developing damage from column movement or tilt mechanisms.
- Keeping electrical connections clean and sealed helps prevent moisture intrusion and corrosion in the steering column area.
Troubleshooting Tips and Best Practices
Always consult the exact manufacturer service information for your vehicle’s wiring diagram and pinout values.
- Do not assume the BCM is faulty simply because the code points to the security circuit; broken wires in the steering column harness are frequently the actual cause.
- Distinguish between a Passlock system (sensor in the cylinder) and a Passkey system (transponder in the key). B2948 typically relates to the cylinder sensor circuit.
- Verify technical service bulletins for your specific make and model, as some manufacturers issue updated wiring harnesses or revised relearn procedures for recurring security faults.
More OBD-II Codes
| B0285 | B0286 | B0525 | B0527 |
| B1202 | B1203 | B2957 | B2958 |
| B2960 | B3031 | B3033 | B1208 |
| B1233 | B1234 | B1209 | B1352 |
| P0700 | P0420 | P0300 | P0171 |
| C1211 | C1282 | U0100 | U0101 |
Frequently Asked Questions
Is the B2948 code generic or manufacturer-specific?
No. B2948 is a manufacturer-specific body code. Its exact definition, typically a Passlock sensor circuit high voltage fault, applies primarily to General Motors (GM) vehicles.
Can I drive my car with a B2948 code?
No. This code indicates an immobilizer fault. The vehicle’s computer will likely disable the fuel injectors, causing the engine to start and immediately stall, or preventing it from starting entirely.
Will a Passlock relearn procedure fix a B2948 code?
A relearn procedure resets the system memory but will not repair an open electrical circuit. If the wiring or ignition cylinder sensor is physically broken, physical repair is required before a relearn will succeed.
Can a worn ignition key trigger the B2948 code?
Typically no. The GM Passlock system relies on a sensor inside the ignition lock cylinder, not a transponder chip inside the key itself. However, a worn key could damage the internal cylinder sensor mechanism.
Will a B2948 code cause an emissions test failure?
The code itself relates to the anti-theft system, not emissions. However, if the immobilizer prevents the engine from running, the vehicle cannot complete the OBD-II readiness monitors, resulting in an automatic inspection failure.
What Should You Do About the B2948 Code?
Confirm the exact factory definition for your specific vehicle application. Follow the applicable manufacturer diagnostic procedure to test the relevant security system circuit, wiring, and ignition cylinder components.
Repair or replace the confirmed failed component, perform any required immobilizer relearn procedures, then retest the system to ensure proper engine starting operation.
