
What this code means
B12D1 may indicate that the keyless access power control unit is seeing an ignition relay circuit state that does not match what it expects.
What the vehicle may do
- The vehicle may not switch ignition power cleanly when the engine start/stop button is used.
- The fault can sometimes appear as a stored code without an obvious driver complaint.
- Keyless start or ignition mode operation may feel inconsistent.
Possible fault areas
- Possible IG1b relay circuit control issue.
- Possible wiring short, open, or high resistance.
- Possible under-dash sub relay box involvement.
- Possible aftermarket accessory interference.
Diagnostic path
Opening context
On this 2010 to 2017 Honda Accord with the keyless access power control unit, B12D1 may mean the ignition relay circuit state is not matching what the system expects. The driver may notice the vehicle not switching ignition power cleanly with the engine start/stop button, or it may only show up as a stored fault. Broadly, this can involve the IG1b relay circuit, wiring that is shorted, open, or has high resistance, the under-dash sub relay box, or possible interference from added accessories. Before you get deep into testing, make sure aftermarket accessories are not installed, because added equipment can change what this circuit is doing.
Confirm the fault first
Start by verifying the problem. Clear the DTCs with the HDS. Press the engine start/stop button to select the ON mode, then wait 10 seconds. Press the engine start/stop button again to select the OFF mode, then wait 5 seconds. After that, check for codes with the HDS. If B12D1 does not come back, treat it as an intermittent failure and the system is OK at this time. If B12D1 is indicated again, keep going with the circuit split.
Use scan data to split the direction
Next, turn the vehicle back to ON mode with the engine start/stop button. In the HDS, go into KEYLESS ACCESS CONTROL from the ONE-PUSH START system menu, enter the DATA LIST, and check IG1B. At this point, you are using the data to decide whether battery voltage is present or not. If there is battery voltage, go down the short-to-power side of the diagnosis. If there is not battery voltage, go down the open or high-resistance side.
If battery voltage is present
If IG1B shows battery voltage in that check, perform the under-dash sub relay box test for the IG1b relay circuit. The pass/fail question in this path is whether the IG1a relay circuit is OK. If that wording does not line up with the diagnostic path in front of you, pause, recheck the earlier steps, and do not guess. If the IG1a relay circuit is OK, repair a short to power in the wire. If the IG1a relay circuit is not OK, the IG1b relay circuit is considered faulty, and the repair is to replace the under-dash sub relay box.
If battery voltage is not present
If IG1B does not show battery voltage, perform the under-dash sub relay box test for the IG1b relay circuit. This side of the test asks whether the IG1b relay circuit is OK. If it is OK, repair an open or high resistance in the wire. If it is not OK, the IG1b relay circuit is considered faulty, and the repair is to replace the under-dash sub relay box.
Verify the repair
Keep verification separate from the circuit testing. After the repair, run the same problem verification again: clear the code, switch to ON mode, wait 10 seconds, switch to OFF mode, wait 5 seconds, and check for DTCs with the HDS. The takeaway is simple: prove B12D1 is current first, use IG1B data to choose the correct side of the relay circuit, then verify the code stays gone. For more diagnostic training, visit stepdiagnostics.com.
Final check
This diagnosis often comes down to confirming whether the code is current, checking IG1B scan data, and then testing the correct side of the relay circuit.
For more guided automotive diagnostics, visit STEP Diagnostics.





