Internal PCM Memory Errors & Diagnostic Strategies
First attempt at a case study on here, and a special thanks to Dean Fox and his average joe post. I am also an average joe; I work for a John Deere dealer during the day, utility, agriculture tractors, construction equipment, gators etc. I get to diag network communications (CANbus & Flex Ray Primarily), various modules (anywhere from 1-15+ modules, sometimes with add-on can systems), fuel injection, FT4 systems with DPF/DOC set-ups, all the same fun stuff automotive does, just on different scales. All my automotive diagnostics take up my nights and weekends as it's my first love.
Anyway, I also intend this as an open discussion so that I can learn from my mistakes and others can as well.
Vehicle came in with a stall/no crank condition that would go away after 15-20 minutes and the vehicle would restart. First occurrence was after a cold start from sitting overnight. Occurred 2 more times after that, hot once, cold the second time. Pulled DTCs, P0601 was present (in PCM and TCM, but labeled as PCM error; I know it will set in various modules and you have to pay attention to the actual module that was responsible), as well as a rear O2 sensor code (though i ignored that at the time as the Catalytic Converter has been going bad for quite some time).
Found very limited information on the P0601 in Mitchell (limited resources). Did a search on IATN as well as general internet for code-set parameters and found nothing definitive except that it's an internal failure or could be caused by low voltage. Did find one resource that mentioned Chrysler parameter states a check sum error must occur 6 times before code sets, but nothing specific to GM. No TSB's other than one mentioning the addition of the code to modules.
I decided to proceed with a basic intermittent no start diagnosis. Checked over starting/charging system. In no particular order:
- Battery Condition - 12.4 Volts @ Rest, 300A carbon pile load test - 10.6 V under load, returned to 12.3V (performed 2 times in a row), slight crusty build-up on terminal ends (ended up cleaning off, but after performing starting/charging tests)
- Starting system check - voltage drop on battery cables: 0.12V drop on positive cable, 0.10V drop on negative cable.
- Started engine multiple times (15-20 times, with various levels of pressure and jiggling on ignition switch), monitored crank/start related data pids on scanner as well (no drop outs or lack of signal)
- Hooked up amp clamp to scope to see if I could find any dead/dying windings in starter (good cranking waveform, unfortunately didn't save waveform)
- Performed voltage drop test across ignition switch, as well as main connector under dash, .01V drop across all connections.
- Performed power and ground testing at PCM (don't have schematics in front of me, but if I recall correctly, Pink Wire, Orange Wire, Brown all on C1, and main ground black/white on C2) All passed while key on, while cranking, while engine running.
- Decided to load test power and grounds with a 4 amp headlight bulb (not everyone may agree with that) This was a pass
- This led me to thinking about low voltage creating a memory error, I couldn't duplicate the code in shop, so i figured I would induce a low voltage intentionally in the power feeds and see what failures it would give me. This resulted in various low voltage codes but no P0601.
- This low voltage test was performed using a light bulb to pull down feed voltage to between 8-9 V (probably not an approved strategy) but at this point I was at a loss as to how to prove the actual failure. Also left high beams on, blower motor on high, radio on, to simulate an overall low voltage start.
- Truck fired up and ran every time, no issues.
- All information I found pointed to just replace the PCM, but I hate not being able to prove with actual data. I continued on with some wiggle and tap tests to no avail.
- Cleared code twice during testing, and occasionally checked DTC status and would find it had failed since code cleared.
Seeing as this was Christmas Eve and it was a work truck, customer was not super concerned about it until after the new year and so I had some time to play with it on Christmas day.
I ended up trying a reprogram (with J2534 pass-thru) and it went successfully (there was updated software available). Performed crank relearn on it and road tested. Ran great for about 20-30 minutes, then strange things started to happen. Sitting at idle the O2 sensors were switching fine (I even scoped the inputs at the PCM to be sure after what i saw), but the PCM kept driving the fuel trims up and up and up. Until the long term was maxing around 30 and setting a check engine light. This was not an issue before reprogram (so not sure if I induced it with the reprogram, although it did complete successfully or if due to the memory check sum error, the new software is just glitching out.) So that was interesting in and of itself.
Long story long, I had already been leaning towards a new PCM, so this further confirmed it in my opinion. Contacted GM for new OEM pcm and they are discontinued depending on who you talk to, and the remans aren't available from GM either at the moment (some say back-ordered, others say discontinued). So that's another issue in and of itself. I plan on buying the PCM if the consensus is that the P0601 is a false code so to say, and that my testing caused further corruption/damage.
Hopefully anyone interested was able to wade through this, if I need to clarify or break things up better then please let me know.
My end questions are, what are the best diagnostic strategies (if there are any) for these P060X codes, what did I do wrong (or right), and any advice or stories?
Attached are the most relevant scanner data for it. I left all data pids on so that I wouldn't miss any information that may be useful to others. The first 2 files in line are after the reprogram, the last is before.
Late addition. See screenshots for weird relationship between STFT and B1S1 O2 sensor. Screenshots from 3rd scan movie.
Chris, I wouldn't condemn the PCM just yet. I have fixed several vehicles over the years for this type of code and it was not a bad PCM. I don't have any data to offer at the moment but I do recall fixing one that had a bad oxygen sensor. The signal line was being shorted to B+ due to a failed heater circuit and the PCM was not happy with that.
You mentioned a rear O2 sensor code. I would fix that first and then see if the P0601 goes away.
Bob, i hear you and thank you. Reminded me that customer recently had 2 aftermarket O2 sensors installed, I had previously diagnosed failed o2 on B1S1 2 months ago, verified all wiring, bias voltages, etc on front and rear. Rear was failed heater. The aftermarket NAPA sensors are not my first choice, but not my call. Looking back at the last recording I noticed that the STFT & B1S1 mV are entirely too in unison to be coincidence. I'll attach the screenshot here.
Both sensors were replaced @ the same time. We all know track record on cheap O2 sensors.
Will go back and check that tomorrow. I feel kinda foolish now, very obvious from the data; just seeing it now. May not be signal shorted to B+, but definitely merits further research.
There's no such thing as "NAPA sensors". They are a distribution facility. If the sensors are NGK or Denso or even Bosch and CORRECT for the application I doubt that is the problem.
Geoff, understand that. I was using NAPA much like we use Kleenex to describe any brand of tissue. Misleading statement I realize. Anyway they had a bosch in the front, NTK in the rear.
Either way, 02 sensors would start out switching fine, but fuel trim correction would continue to drive rich even after the 02 sensors flat lined rich.
Driving home and thinking through this, one thing stuck in my head. STFT is a calculated value, it's not a sensor per se (although you could argue that the O2 sensor "is" the STFT sensor in a sense), so why would a calculated value follow the waveform, for lack of a better term, of an O2 sensor unless there was an internal fault be it some circuit trace issue or software glitch. I may just be getting stuck in confirmation bias though.
Perhaps I'm showing my ignorance here and someone can hop in with an answer/theory, or what have you. I differ to the wisdom of the elders here, even if your not old.
Short term fuel trim come directly from the inputs from the oxygen sensors, sometimes front, sometimes rear. If you pull up the oxygen sensor and short term data on your scan tool, you should see the short term reacting to the switching of the front sensors at idle. Over the years, I have replaced several PCM's for trim issues, and every time, the trims would not react to the oxygen sensor input.
Thanks for the great write up with your case study.
Albin, I appreciate the confirmation on operation. I just find the fascinating that the amplitude and frequency of the o2 sensor and stft are so damn close. I've never seen stft fluctuations like this. Check out the screenshots in the original post if you haven't already, it's a first for me.
I have another scan movie I can upload tomorrow, if anyone is interested.
Thanks for the post, good looking out!
I have seen this on many Colorados. It was always a PCM. with that being said, I am certainly not telling you to shotgun a PCM at it. But, I think you are on the right track.
What Bob Powell said makes perfect sense. So I would try to rule that out. I have seen this on Toyota.
The good news, this vehicle is super tolerant of used PCM.
Let us know how you make out.
Absolutely Dean, first thing on my list tomorrow. I picked up 2 O2 sensors from GM on my way home. I dont normally get involved in the actual repair part of this stuff, but in this case I'm definitely doing full follow through.
Appreciate the heads up on the used PCMs, I think it's at that point, but as I said before, i want data and proof. Even if it's just proof that it's not something.
Definitely gained some confidence and lost some of the intimidation factor after this. Thanks in no small part to your average Joe post, and thank you to Scott Brown for highlighting it; I would have missed it otherwise. Great community everyone is building here. Proud to be a member.
Chris, I took a look at one of your captures and marked it up. It looks like you have a failing front O2 sensor. At the beginning of the capture the PCM is ramping up STFT and LTFT but the senor voltage remains fixed. Eventually the O2 starts to switch and then the trims return to normal. It looks to me like that sensor is bad.
Did happen to notice if the throttle body was acting funny at the time of no start?
Here is some pics I took years ago of a '02 Envoy PCM that had a P0601. Notice the orange connector block between the 2 circuit board halves, I feel that is where the problem was on mine. IIRC the orange piece center was a rubber material, but it's been like 10 years ago. What happens rubber after time especially when cold? I noticed on the Envoy the problem was more ambient temp related,
According to my info your PCM part # is … this is a reman that should be coming off of back order and some dealers show stock.
Sorry for the long delay, was out of commission with a bad flu. No throttle body issues. Just various issues that seemed to change everytime the key was cycled.
I have saved the info you gave me in one of my notebooks though. Much appreciated.
Sorry for the delay for anyone curious as to the resolution. I was out of commission.
02 sensors were fine, including heater circuits. They would switch fine but fuel trims would continue to increase, causing the 02 sensors to become fixed rich. Key cycle would then bring a different failure, and failures seemed to change depending on how the truck felt.
I ended up putting a new OEM computer in it. Previous talks with local GM dealer techs all said P0601 is failed computer, and I think i exhaustively proved that no other failure could cause that code (at least to myself)
I wish there was a test to confidently confirm an internal computer memory failure, perhaps there is at the OE level. Wont have a OE tooling for GM until the piggyback gets a little fuller later this year.
I appreciate all the feedback and having fresh eyes. Customer was willing to put the ECM in as they didn't want to risk another randomn shutdown at a dangerous point. I backed this one 100% financially as usual, if I made the call and it's wrong I eat it. So far so good, no failures.
Awesome job Chris! I've never seen a test to confirm that internal error. What I do is rule out every other possible cause. You did it right! Thanks for the post, and thanks for the follow up. This industry needs more techs, but it really needs more like you.
I appreciate that Dean. I think its fairer to say that the industry just needs more techs being encouraged to learn and progress. I see it in automotive but also off road, heavy duty, ag. I bounce through them all in a week.
Hopefully diag.net remains less about ego and more about learning and help. I think all forums eventually degrade just due to age. But I hope this will be a great community for years to come.