Honda P0456 Permanent Code Won’t Clear!

2010 Honda Fit with P0456

So this Honda Fit comes to the shop. It has no check engine light, but it’s just failed its smog check due to a permanent code P0456. What’s a permanent code? It’s just like a regular trouble code, except it can’t be cleared with a scanner, or by disconnecting the battery. A permanent code is stored in non-volatile memory and the only way to erase it is for the car to run the same test that caused the code to set in the first place, but, of course, it needs to pass the test.

One of the complications in our journey was that the factory scan tool didn’t show the P0456. It only shows current, pending, and history codes, all of which can be cleared. I guess Honda’s feeling is that ODBII is regulated, so they make the car compliant, but their internal tool isn’t regulated, so if they don’t feel a function is important, they don’t include it. Honda did the same thing with Mode 6 data and monitor status. It’s nowhere to be found on the factory scanner. Anyway, when we first looked at the car, we found no codes and figured there were no problems. We were wrong, well, about the codes at least.

Slide from BAR presentation stating EVAP monitor doesn't need to be complete to pass smog
This slide from a CA BAR presentation states that the EVAP monitor doesn’t need to be complete to pass smog. There’s no way to clear a permanent code without completing the monitor, and in this case, even “completing” the monitor wouldn’t clear the PTDC. So um, Thanks?

What causes P0456 to set?

P0456 is an evaporative emissions system code. That’s the system that checks to make sure your fuel tank isn’t spewing fuel vapor into the atmosphere. For this Honda fit, P0456 indicates there is a “very small leak” in the system. How small? About the size of a .020″ hole, although it doesn’t have to be just one hole. It could be a .006″ hole, and a .003″ hole, and a .011″ hole. And it doesn’t have to be a hole. It can be a loose hose fit that leaks about the same as a .020″ hole.

BAR presentation slide saying PDTC will be ignored after 15 warm-up cycles and 200 miles.
This vehicle had nearly double the mileage requirement and well over 15 warm up cycles just while here at the shop. This presentation says the “expected implementation date” was July 2020, so maybe this rule had yet to be implemented in September 2020.

Smoke and Mirrors

How do you find a tiny leak? Generally we’ll pressurize the fuel tank with compressed air and wave a blow torch around the fittings and gas cap. I’M KIDDING. DON’T DO THAT. For obvious reasons.

What we use is “smoke machine”. It uses a very small amount of pressure (0.5 PSI) and generates smoke. A flow meter lets us know if there’s a leak and how large it is. The smoke lets us know where it’s leaking since we can see the smoke escaping. This Honda Fit didn’t have a leak when we tested it. However, the gas gap was aftermarket and felt pretty flaky, so we installed a new one just in case.

Snap-On EVAP leak tester

Using an Active Test to force the Monitor to Run

The state doesn’t care if we find a problem or don’t. All they care about is the code. Is it gone? Great, the car passes. Still there? Car fails.

So, “we didn’t find a leak” doesn’t do our customer any good. We need to run the EVAP monitor. Once that happens, the code should disappear.

We have a Honda HDS scan tool which had an EVAP test in its utilities. If we run the test and it passes, the monitor also passes. This is a great time saver because the drive pattern to get the car to run the test on its own is over 8 hours long. Six of those hours are just sitting parked, but still.

We erased the emissions data from the computer (except for the pesky permanent code) and ran the utility. It passed. Hooray. We checked the EVAP monitor. It was complete and had passed. Hooray. We checked the permanent code. It’s still there. Crap.


Why is the P0456 still there?

OK. Let’s think this through. Permanent codes only clear when the monitors runs and passes. We ran the monitor. It’s complete, and it passed. Hmm.

Well, many codes are “two trip”, meaning that the test must run and fail twice before the check engine light comes on. Maybe the ECM requires two trips to clear the code? I figured it was worth a shot, so I ran the EVAP test yet again. The test ran. It passed. The monitor is still complete. There are no pending codes. Time to check the permanent code. Still there. Shit.


Honda’s Drive pattern for P0456

You may have noticed that the in the picture of the drive pattern, there is a long interval of “engine off”. The HDS EVAP utility has no section where the car sits with the engine off. Maybe I’ll need to actually drive the pattern, then let the car sit to run the key off portion of the test. Oh well. Off the the freeway I go.

I cleared memory, let the car sit for more than 6 hours, and headed out for a drive, following the pattern as closely as humanly possible. Once the driving portion was over, I headed back to the shop and parked the car for about an hour.

The monitor was complete. The monitor had passed. The permanent code? Still there. Shit.

honda fit P0456 drive pattern from service manual

I should probably strop my Occam’s Razor

Whatever’s left…

This is the point in the diagnostic process where I start to come up with improbable theories. Let’s start grasping at straws:

Maybe there’s a problem with the car and it’s documented on the state website. Nope.

Maybe the computer is “stuck on stupid” as my co-worker Morgan likes to say. Disconnect the 12V. Short the battery cables. Wait. Run the test twice. No luck

Maybe there’s some bad logic and a re-flash will fix it. No flash was available.

Maybe it requires three successful trips. Nope. Maybe four trips? Nope. I’m desperate, not stupid; I’m not going to run it a fifth time. (OK. Maybe I did.)


Mode 6 to the Rescue

OK. If the EVAP monitor passed, and this stupid Honda still has permanent P0456. Maybe there’s a clue in the Mode 6 data.

Mode 6 is how a mechanic can view the raw results from the group of tests that make up a monitor. On this Honda Fit, the part of the EVAP monitor that can set a “very small leak detected” is made up of five tests. I used an aftermarket scanner running is generic OBDII mode to check Mode 6 data. I found that Test ID: $B4 had a value of zero. When it comes to Mode 6 data, values like 0 or 256 or 65,536 or other computer-y numbers are usually bullshit. This part of the monitor has not run.

scanner showing Mode 6 data


So here we can see that the portion of the monitor that hasn’t run is the portion that runs is supposed to occur when the car is sitting with the engine off. When we run the EVAP utility with the HDS scan tool, there is no “engine off” portion of the test.

Mode  data from Honda service manual

What’s a mechanic supposed to do?

If all of the tests that make up a monitor don’t complete, the monitor status shouldn’t be complete – at least that’s what I was taught. I think Honda realized that it’s near impossible to complete some parts of the EVAP monitor on the Fit. Instead of redesigning the test, they just let the monitor status switch to complete without completing the difficult bits. I wouldn’t really care too much about that if it weren’t for permanent codes and the California smog test requirement that permanent codes be cleared to pass smog.

What’s a car owner supposed to do? Drive for years with no tags trying waiting for Halley’s comet fly overhead at the same time a butterfly flaps its wings in Tibet? (I assume those are the requisite conditions for the EVAP $B4 to complete, because it sure ain’t the conditions listed in the drive pattern). People have groceries to get and jobs that require attendance. People need to their cars thanks to poor planning and urban sprawl.

You know who else has needs? Mechanics. I have other cars to fix and bills to pay. I can’t work on one car day after day.


If the game’s rigged, stop playing by the rules

It’s rough to break the mechanic’s prime directive. No, it’s not to avoid interfering with the internal and natural development of alien civilizations during our space travels. The thing that mechanics shall not do is this: replace parts when not needed. If you do this, you are a BAD mechanic. Shame! But you know what? Fuck it. This car is getting a new computer. Mechanic hell here I come.

Well. Not a new computer. The local wrecking yard has one for $250, which is a much better deal than the the $1500 Honda wants for this poorly engineered piece of crap. I installed the computer. Initialized the immobilizer. Had a coworker drive it home and back (one good thing about urban sprawl I guess). All monitors “completed” and passed. The car passed the smog test.

Are you still reading? I know. You probably found this article while looking for a way to correct a P0456 on your Honda, or some other permanent code that just won’t clear. You were probably looking for a way to fix the car like a professional. Sorry, the answer’s not here.

If you have a 2010 Honda Fit, here’s my advice: don’t spend days being a hero. Instead, make damn sure you fix the problem, then replace an unnecessary part and be done with it.