Been struggling with this issue for the past several winters and have spent a ton of time trying to figure it out. This ONLY ever happens in cold weather (below approx. 10C / 50F). The colder it is, the worse it gets. Here are the details.
Symptoms:
1 - Cold weather ONLY (below 10 deg. C) - no code
2 - Try to start the car. Struggles and won’t idle. It’ll “catch” briefly but won’t run. Keep trying and trying…
3 - Eventually, the CEL comes on and the engine starts right up and will idle.
4 - CODE : P0340 - Camshaft Position Sensor Circuit A.
5 - At this point, if I clear the engine code it will immediately sputter and stall and the process begins again. If I DON’T clear the code it will idle until it starts to warm up
6 - as the car warms up, it is drivable and runs fairly well if I’m easy on the throttle. It also seems to be running very rich in this state. Hard throttle will result in bogging and sputtering.
7 - JUST before it gets nice and warm (optimal temperature) the car will start to sputter and want to stall again. If I’m driving at the time (ie. not stopped at a light) it will backfire a LOT. Flames out the back, the whole 9 yards. Seems like I’m running super rich / flooding.
8 - Pull off to the side of the road and let it idle for a little more to get nice and warm (still not clearing the code). During this time, if I feather the throttle, I can keep it running. But if I hit the gas hard, it sputters. Usually this occurs at 2000 RPM and above. I will also get misfire codes on all 4 cylinders. Lots of sputtering and misfiring at this point. The neighbours probably hate me.
9 - after 20-30 more minutes of idling, I can carry on it runs AWESOME. No issues at all. I can even clear the code at this point and it will NOT come back as long as the engine remains warm.
10 - On a really cold day, if I stop for say, 20-30 minutes, the engine temperature will end up just below the “sweet spot” and I’ll be at about step 7 above. And the process repeats.
I won’t get into the details yet, but for now, ignore the P0340 code. I’ve diagnosed this 6 ways to Sunday, replaced sensors, etc. I don’t think it’s the issue. Looking for other potential causes at this point.
Thanks for reading. Any suggestions would be appreciated.
What year, engine and miles? Has the car had any mods? A cold air intake? A tune? Cat delete? Are you using the recommended oil? Or heavier?
You can read codes (the P0340), you replaced sensors. Can you read live data over the OBD2? What does the coolant temp sensor read when cold? What does the intake air temp sensor read when cold?
I am asking this because the ECU apparently does not recognize cold temps and cannot compensate for it.
Yes, but this issue predates any changes I’ve made. The only exception being that the previous owner had it tuned (didn’t know this at the time I bought it). I tried downloading the stock Subaru ECU flash and the problem persists.
What I’ve tried:
New MAF sensor
New Temp sensor
New Cam Position Sensor (pasenger side - North America)
New Crank Position Sensor
New TGV Sensor (passenger side- North America)
New spark plugs
Cleaned throttle body
Replaced Intake gaskets with thicker ones (orange o-rings)
Tore apart my wiring harness and checked for anything obvious on the three wires going to my cam position sensor
Replaced the cam position sensor connector (repinned)
Replaced B20 bulkhead connector under my TMIC. This connector carries the signal wire from the cam sensor (connector housing only - did not repin)
Replaced TGV sensor connector (connector housing only - did not repin)
Went through the diagnostic procedure for the cam sensor. Stopped just short of the last step which is “Replace ECU”.
Removed the ECU and brought it in the house to keep “warm”. Then plugged it back in to the car and tried starting. No change.
Took ECU apart and looked for bent pins, bad solder, etc. All appears fine.
So yeah, when I say 6 ways to Sunday, I wasn’t kidding.
You’ve thrown a lot of parts at the problem hoping something would fix it but seem not to have done any more diagnosis other than keeping the ECU warm.
Again, can you read real time temps - air and coolant - off the OBD2 port? What have you found? This step is important because it runs well warm but poorly cold. You need that 7th and 8th way from Sunday. Determining if the sensors are reading the proper values is how you start, so can you read these and post back?
Most of the replacement sensors were just part of the mods I was doing this past summer. I wasn’t just throwing parts at the problem.
In my list above, 1. Intake air temp sensor is part of the MAF sensor. 2. Temp sensor is coolant temp sensor. Yes, I can read these data live and will try to log some data this afternoon and see if they’re out of whack. I’ve also gone through the diagnostic procedure from the Subaru manual (measuring resistance, voltage, etc) and everything reads ok. That’s why I think the code is misleading.
Anyway, thanks for the feedback. I’ll post my test results soon.
This could be more than coincidence. Does the CEL, when lit, complete a circuit (voltage, or ground) that is otherwise open? And that circuit, when complete, lets the engine run smoothly? Or does the ECM switch on that CEL and something else simultaneously?
Hmm…interesting idea but I suspect this isn’t the case. I think what happens is that when it flags the code, the car is then in “limp” mode (CEL and blinking cruise light) which is allowing it to idle. Resetting the CEL resets limp mode, sputters and chugs, the ECU still sees the issue and the CEL comes on again. Once the engine is good and hot, the codes can be cleared and they won’t come back. Runs great at this point.
I didn’t look specifically look at OL/CL mode, but I did try disconnecting my AFR sensor. No change.
Possible. Not sure how I would check that. But it seems odd that it will idle ok until just before it warms up then start sputtering again. As long as the CEL is on, that is.
Just some food for thought without car in hand and since you mention a cam position sensor.
Maybe the engine is sludged up due to irregular oil changes, low oil levels if it is not checked regularly, etc.
To go along with that, maybe the turbocharger impeller wheel is dragging and/or there is an intake air leak.
You might disassemble the intake tract and try to spin the impeller wheel with a finger. It should rotate very freely.
Also check the turbocharger oil feed screen for clogging and clean as necessary. Common issue.
Thanks for the suggestions. When I bought the car, the previous owner gave me a stack of service receipts. He had the car serviced like clockwork. So I doubt it’s oil sludge.
It’s also a new (bigger) turbo that I put on last summer and the banjo bolt screens (common failure point that you mentioned) are gone.
This is the most important point. You need a scan tool which shows live data, and there are models which cost less than $100 which have this capability. You will then be able to see the (detected) intake air temperature, coolant temperature, short-term and long-term fuel trim values, throttle position, ignition timing, tachometer signal, oxygen sensor output, etc. My guess is that a wiring harness problem has resulted in the computer seeing faulty data, and this may be a wire which makes poor contact when very cold.
A lot of good points.
Any chance of water in the gas?
Maybe some gas dryer.
Just a thought.
O Pp, I take it plugs are gapped properly.
I think you said you had new plug wires?
What type of ignition system does this car have.
DIS, with coil packs, and plug wires,
Distributor, with plug wires. Or COP ignition?
White smoke. Not the kind of white smoke when you’re burning coolant. Just running super rich white smoke. I’ve never removed the injectors. Would leaking o-rings be obvious? I guess if they’re cracked / split or worn through altogether, that might be obvious. Not sure if it would change as the engine warms up. Can the orings be replaced? Or would it mean new injectors?
COP ignition. Coil packs aren’t new. Just the spark plugs themselves. I was told that they’re pregapped when you buy them (ie. brand / model specific for my vehicle), so i never checked the gap. But this issue was happening the first winter i had it so no change even with new plugs.
I have the cable and software I will log some data and see if anything seems out of whack.
Thanks for all the suggestions, folks. I’ll update when I learn more.
If the O-rings were old and hard they might leak only when cold. O-rings can easily be replaced but considering the age of the car and the fact you only have 4 injectors AND you have a tune AND a larger turbo you should have installed larger injectors… so I’d suggest new, 20% larger injectors.
Hmmm…orings are cheap. And it should be a fairly easy way to determine if this is the problem.
I’ll try the orings first and see what happens. If it fixes it, then I’ll replace the injectors with bigger ones in the summer. I need some “down time” from working on this car or else my wife will be packing a suitcase!
Without a good camshaft sensor signal this engine will not run well, you will need to correct the problem. Connect a lab scope and monitor the camshaft sensor signal.
The O-rings at the bottom of the fuel injectors prevent vacuum leaks.