Chevy Silverado and GMC Sierra Forum banner
1 - 20 of 43 Posts

·
Registered
Joined
·
79 Posts
Discussion Starter · #1 · (Edited)
Day-0 Monday
A couple hundred miles ago, my all-stock 1999 Silverado SES dash light came on. Only one code, P0161, both "pending" and "saved". P0161 is O2 Sensor Heater Circuit Malfunction (Bank 2 Sensor 2). I erased the codes back then. SES has not come back on in the last few hundred miles.

I need to re-register my truck this month, so today I checked if the emission monitors had completed. 3 are not: cat, evap, and egr. Also there a pending P0161 and no other codes. I do not know how long it has been pending, and the SES light is not on. I'm hoping the P0161 is causing the monitors to not complete.

I unplugged the passenger side post-cat O2 sensor at the frame rail and found with a multi meter that the heater element has 5ohms, and the pink and the black wires on the harness side are at battery voltage with key-on. So It seems the heater element is fine and it is getting juice. Not sure what to check next. I could remove and swap two sensors, clear the codes and see what codes comes back, but that doesn't seem promising given the test results. Any suggestions?
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #5 · (Edited)
Day-2 Wednesday
Before I start swapping out O2 sensors, I thought I'd clear the codes and see how long it took for the P0161 to become pending and or stored. Well, when I went out to do that this morning the pending P0161 was gone.

Not sure why it is gone. Could be due to having the sensor unplugged with the key-on. Or due to tweaking a connection issue when I unplugged/replugged the sensor during the testing. The contacts looked good, no corrosion. Or if the alleged malfunction in the O2 heater circuit is intermittent, and is now currently working, causing the computer to clear the code because it decided malfunction was fixed.

Anyway, I ran some errands involving one cold start, and two hot starts over 20 miles and 1 hour. This morning errands did not likely constitute an appropriate set of drive cycles, but anyway, after errands, the three I/M monitors are still showing as incomplete and P0161 has not come back as pending or stored.
 

·
Registered
2021 Trail Boss LT L84 10L90
Joined
·
180 Posts
Cat monitor should run on a highway drive, same with the EGR, but the EVAP will only run if the fuel level is between about 1/4 to about 3/4, and takes 2 cold starts.
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #7 · (Edited)
Cat monitor should run on a highway drive, same with the EGR, but the EVAP will only run if the fuel level is between about 1/4 to about 3/4, and takes 2 cold starts.
Thanks @bowtieguru. Will keep that in mind.

=====================
Day-3 Thursday
I printed out the 8-item GM Driving Cycle:
(1) cold start (no key-on before hand)
(2) 2.5 min idle w/ all accessories on (A/C, Fan, Headlights in my case)
(3,4,5) 1/2 throttle to 55mph, 3 min at 55, coast down to 20 in gear, no brakes
(6,7,8) 3/4 throttle to 55mph, 5 min at 55, coast down to 20 in gear, no brakes

Immediately on cold start there were no codes and cat,evap,egr I/Ms were incomplete.
I let it idle for about 7 minutes with all accessories off, by which point the fuel circuits were in closed loop
At this point, no codes and 3 incomplete I/M

To run idle test (2), I turned on the A/C, Fan at 4, and headlights. Within a couple minutes P0161 showed up as pending, and 3 incompletes remained.

My Actron 9580 has a menu item Diag Monitor Test, for $02 $06 $07 $0C They all ran OK except these reported as "HI" :
$02 ID 26
$06 ID 61
$07 IDs 0C and 0D

I then drove the 3 miles over to the interstate.
I did a 345 test, then aborted a 678 test, then completed a 678 test.
Pulled off, checked status. Same as before: P0161 pending, cat,evap,egr incomplete, Diag Monitor Tests unchanged

Turned around and got back on the interstate heading home. Aborted a 345 test, completed a 345 test and then a 678 test.

At home no changes: P0161 pending and cat,evap,egr still incomplete.

With engine still running, I ran the idle test (2) again. No changes. Turned off engine. Engine had been running nonstop since the initial cold start.

Restarted. Ran idle test (2) again. No changes.

Still not sure why the pending P0161 disappeared after my multimeter/test light session. But it is back, probably due to running idle test (2). Also not sure of the meaning of the 4 "HI" on the Diag Monitor Tests.

If I knew the passenger post-cat O2 sensor heater was bad, I'd replace the sensor now. But the heater tests good. The heater resistance was 5 ohms on my multimeter, which is spec, and indicates the sensor and it's pigtail are fine. I can't see how a 5 ohms reading could be false, unlike a zero or infinite reading which could be false. More over the harness is feeding battery voltage to the pigtail. Yet, the computer seems to think the heater circuit is malfunctioning and putting out a pending P0161. The code didn't show up during regular idle. It showed up during the accessories-on idle.

I haven't decided what to do next. And I do not know how many 12345678 drive cycles are needed to for the truck to finish it's I/M testing.
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #8 · (Edited)
Day-3 cont Thursday
After taking the truck through the above drive cycle exercise this morning, I let it sit for 4.5 hrs, which brought ECT to 81F. The IAT was 64F.

The GM Drive Cycle criteria for a cold-start is the coolant temp being 1) less than 122F and within 11F of ambient, so when I started the engine it didn't qualify as an additional cold-start.

While the engine was running, I ran another idle test (2), letting the engine Idle for 3+ minutes with the A/C on, Fan at 4, and Headlights on (as before). Codes and I/M status didn't change. The Actron is still reporting a pending P0161 and incomplete cat/evap/egr monitors.
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #9 ·
EGR Monitor:
Prerequisites: no codes present (even a pending code), engine coolant temperature is above 75 degrees f; barometric pressure above 72kPa.

1. Idle vehicle five minutes or until it is in closed loop.
2. Accelerate and drive for one minute at steady speed above fifty mph.
3. Coast vehicle down to twenty mph (vehicle in drive, do not use the brakes).
4. Repeat steps two and three four times.
The above quote comes from Can Not Get EGR and EVAP Monitors to Set regarding a 2008 Chevy Equinox.
 

·
Registered
2004 Sierra 3500 6.0L, auto, extended cab, cab&chassis, upgraded to 4wd
Joined
·
484 Posts
I would not assume they used the same method/sequence of events to trigger various monitors to run their tests, as they are both types of vehicles, as well as made under different emissions standards. You might consider springing for access to the full-service manual for your truck, it should have the driving sequence for it.
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #11 ·
I would not assume they used the same method/sequence of events to trigger various monitors to run their tests, as they are both types of vehicles, as well as made under different emissions standards.
My main takeaway from that quote was their statement of "no codes present (even a pending code)" as a prerequisite for the EGR Monitor test to run. I had been hoping this was the case for my truck, that a no-codes state was required before the cat/evap/egr I/Ms would complete. The quote is not definitive as you say, but given my inability yesterday to get any of those three I/Ms to complete during the drive cycles suggests it my apply to my truck too.

You might consider springing for access to the full-service manual for your truck, it should have the driving sequence for it.
@davester3500 That has been on my mind. Ideally I'd buy a paper copy. Not even sure what the full-service manual is called, or where it can be obtained. What are the various options?
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #12 · (Edited)
1999 was the change over year from GMT400 to GMT800. Mine is a New Body Style 1500 2WD GMT800. But if I am not mistaken GM also also built some GMT400s for the 1999 model year.

After looking into Ebay options, there seems to be 3 versions as distinguished by the color of the "C/K TRUCK" bar on the front color:

3 Volumes, Black bar - Cover states "Early" edition
3 Volumes, Orange bar - 1999-01-22 information cutoff date
4 Volumes, Blue bar - 1999-04-30 information cutoff date

The title page in the Orange edition says it is the final edition and to discard all early editions because the information is out of date. But 3 months later GM published the Blue edition with a later cutoff date. I couldn't find any infor regarding GMT400 vs GMT800, but the cover has line drawings of the NBS GMT800.


Font Parallel Paper Signage Advertising
 

·
Registered
1999 Silverado ECSB 6.0
Joined
·
1,837 Posts
The only GMT-400s for 99 were in the Tahoes, Suburbans, Yukons and 2500/3500 trucks
 

·
Vendor
Joined
·
86 Posts
If that code is always lurking around in the background, there's something wrong with the heater circuit, and those three monitors will never run. Personally, I would just replace the sensor, as 90% of the time, O2 heater codes are caused by a faulty sensor.
 

·
Registered
1999 Silverado ECSB 6.0
Joined
·
1,837 Posts
Time for HPTuners and turn the code to no error reported :)
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #16 · (Edited)
Day-4 Friday
This morning, before I turned the key on, I popped the hood, opened the fuse box cover, and pulled the two 15A fuses designated O2A and O2B. O2A fuses both heaters for bank 1, and O2B for bank 2. O2A fuses both pre-cat heaters, and O2B both post-cat heaters.

O2A and O2B are side by side, O2A to the left of O2B, with their 4 terminals in a line. With key still off, I multimetered their voltage with the battery terminals. All 4 were battery voltage to the battery + and 0v to battery -. The test light glowed equally as far as I could tell, for shorting between B+ and the four terminals.

On the ohms setting, the resistances to B- were 13.3, 8.0, 2.5 and 13.3 from left to right, which suggests the inner two terminals lead off to the sensors, and the outer two are supplied by the battery when the key is on, but I could be wrong. Since each fuse protects the pre-cat and post-cat heaters in parallel, Since each fuse protects two sensor heaters in parallel, the 2.5ohm reading is exactly what one would expect if both bank 2 heaters are 5ohms each, which I believe is spec, if I have my math right.

I put everything back, closed the hood, and started the engine, the A/C and Fan off. The gas tank is a little over 1/4 full.

Since the truck sat outside overnight, ECT was 54F, as was the IAT, thus this qualified as a cold-start (<122F and within 11F). As expected, the cat/evap/egr I/Ms were incomplete, and the only code was a pending P0161.

After 6 or 7 minutes at idle in neutral, the fuel system switched into closed loop. The three I/Ms were still incomplete, and a P0161 was still pending.

I ran the idle test (2) by turning on the A/C and setting the Fan speed at 4. Within two minutes, the SES light came on. The Actron now reported a pending and a saved P0161, no other codes, and the 3 incomplete I/Ms.

I turned off the engine, and erased the codes, which also set the two other I/Ms (O2 Sensors) back to incomplete. So no codes and all 5 incompletes.

I restarted the engine, with the A/C and Fan off. The coolant was 160 F and IAT was 59, so not a cold start.

After idling in neutral for 6 minutes, there were no codes pending or saved and 5 I/Ms were incomplete. I ran the idle test (2) by turning on the A/C and Fan to 4. After another 5 minutes, there were still no codes, and still 5 incomplete I/Ms. So it looks like the idle test (2) can be run only immediately after a cold start, but I could be wrong.
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #17 · (Edited)
Day-4 cont Friday
A few hours after this mornings trials, but before the engine cooled down too much I took the truck out on some errands, about 25 miles, half interstate at 40-50mph, half surface streets, with the two stops it took about 90 minutes. Along the way I picked up a new 800 CCA 3-year warranty flooded battery. Back when I had the crank-no-start problem (ignition coil module), the existing battery was showing it's age (8yrs?), dying with not much cranking time. I'd never noticed degradation because the 4.3L V6 would start right up with just the slightest cranking, every time.

Anyway, the trip started with no-codes and 5 I/Ms cat/evap/egr and O2 Sensor & Heater, showing incomplete (I had erased the codes this morning). Soon into the interstate portion, the O2 Sensor I/M completed with an OK. But that was all. At the end it was no-codes and 4 incompletes.

Back at home, I swapped in the new battery, which reset the I/Ms to incomplete and set the dashboard clock back to 12:00. Engine started right up, no-codes, 5 incompletes.

To top off the battery, I took it on a 30 minute 10 mile loop, half stop-and-go surface roads and half 50-55mph interstate. The O2 Sensor I/M completed to OK, but nothing else.
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #18 · (Edited)
Day-5 Saturday
Yesterday, Friday, I had put 4 gallons in the tank to keep it between 1/4 and 3/4 full.

This morning I ran some more tests. The truck had been sitting over night, so when I started the engine, the Coolant Temp was 54F and IAT was 52F. There were no codes and 4 incomplete I/Ms, as expected. Cat/evap/egr and O2 Heater.

I let it idle in neutral for a few minutes with the A/C and Fan off. The fuel system was in open loop, coolant 129F IAT 57 when I started an idle test (2) by turning on the A/C and Fan to 4. Three minutes later, there were still no codes and the 4 incompletes. I turned off the A/C and Fan. and let it idle another 2 minutes, during which the fuel system switched into closed loop. Coolant was 144F and IAT 59F. Still no codes and 4 incompletes.

I started another idle test (2) by turning on the A/C and Fan to 4. Coolant 169F IAT 59F. Within a minute or two, P0161 showed up as pending.. The 4 I/Ms still showed as incomplete. I turned off the A/C and Fan, then turned off the engine.

At this point, I'm pretty sure that the minimum procedure to run an idle test (2) involves a cold start, followed by idling until the fuel system goes into closed loop, followed by turning on the accessories for a couple minutes (2.5).

With the engine off and key out, I popped the hood, took off the fuse box cover, and pulled the two 15A fuses O2A and O2B. I swithed the ignition key to on. I used the test light to short between battery ground (B-) and the four fuse terminals. The test light lit for the outer two terminals, but not the inner two, confirming my guess from yesterday that the two inner terminals lead to the O2 sensor heaters, and the two outer terminals are powered with key-on.

Turned the key off, replaced the fuses, closed the hood, had a cup of coffee.

Drove the front end up onto ramps, and pulled & labeled both post-cat O2 sensors. On the bench, the heaters were both 4.9 Ohms. I reinstalled them swapping bank 2 for bank 1. Erased the codes. Had a cup of coffee.

Hopped in to run some errands, but first let it idle for about 3 minutes with the A/C and Fan on 4 as an idle test (2), but this didn't elicit any changes. No codes and 5 incomplete I'Ms.

Back at home after the errands, there were no codes and 4 incompletes, as expected.
 

·
Registered
2021 Trail Boss LT L84 10L90
Joined
·
180 Posts
Your code will come back, but it should now be a P0155.

The first step to diagnosing a problem is understanding how the circuit works. The heater circuit is not the problem.

On this truck the heater is supplied power with the key ON and a constant ground. It is not controlled or monitored by the PCM in any way.

The code is setting because the O2 is lazy and taking too long to start switching. Replace it with OEM, Denso, or NTK, do NOT use any crappy universal or Bosch sensors.
 

·
Registered
Joined
·
79 Posts
Discussion Starter · #20 · (Edited)
Your code will come back, but it should now be a P0155.
Thanks @bowtieguru. Since I swapped the two post-cat sensors, P0141.

On this truck the heater is supplied power with the key ON and a constant ground. It is not controlled or monitored by the PCM in any way.
I was wondering about that. The Haynes/Chilton wiring diagram shows exactly that, but I wasn't sure if the diagram was over-simplified.

The code is setting because the O2 is lazy and taking too long to start switching.
I was wondering about that too. Thanks

=========================
Day-6 Sunday
Did some more investigating first thing this morning. Truck sat over night with a half-tank of gas.

As on previous days, I started the engine from key-off, without having had the key in "on" beforehand which would have powered the heaters, which could have caused the HO2 sensor diagnostics to fail to run.

Started the engine, shifted into neutral and let it idle with A/C and Fan off
ECT was 57F, IAT 54F
No codes and 4 incomplete I/Ms, as expected, cat/evap/egr, O2 Heater Monitor.
After about 4 minutes, ECT 106F, IAT 57F, Fuel still in open loop, I started an idle test (2) by turning on the A/C and Fan to 4. Fuel switched into closed loop 2+ minutes later. At 3+ minutes, I turned off the A/C and Fan. No-codes and 4 incompletes -- as expected given yesterday's results.

I continued to let it idle with A/C and Fan off for two more minutes, then started another idle test (2) by turning on the A/C and Fan to 4. For the next five minutes (idle test (2) calls for 2.5 min) the status remained no-codes and 4 incompletes -- which was not expected given yesterday's results and the sensor swap. The test should have triggered a P0141 within a minute or two of starting this test run. I turned off the A/C and Fan, and engine. I restarted the engine and rebooted the Actron just to double check, but still remained no-codes and 4 inc.

Not sure what to think. I ran the same procedure yesterday morning: cold start, idle test (2) in open loop, then idle test (2) in closed loop. Yesterday the second idle test triggered a pending P0161. Today it should have triggered a P0141.

An hour later I took it out on some errands, first filling the gas tank to 5/8ths full. I had the Actron attached and kept glancing at it for updates, but there were no changes. The errands totaled 140 miles, mostly interstate at 55-60, but some surface streets. After 70 miles the truck sat for 110 minutes. Upon starting it again the ECT was 106F and IAT 64F, so not a cold-start. The status back at home was unchanged: no codes and 4 incompletes.

==========

Found this for a different truck (98 5.7L 4x4):

source: 1998 K1500 Engine issue
P0161 - O2 Heater circuit (Bank 2, Sensor 2)
Possible causes
  • Faulty Rear Heated Oxygen Sensor Bank 2
  • Rear Heated Oxygen Sensor Bank 2 harness is open or shorted
  • Rear Heated Oxygen Sensor Bank 2 circuit poor electrical connection
  • Inappropriate fuel pressure
  • Faulty fuel injectors
  • Intake air leaks
  • Exhaust gas leaks

Tech notes
Replacing the Rear Heated Oxygen Sensor Bank 2 usually takes care of the problem

When is the code detected?
The Powertrain Control Module (PCM) runs the heater test only on a cold start (depends on the cumulative air flow) and only once an ignition cycle. When you start the engine the PCM monitors the HO2S voltage. When the HO2S voltage goes above or below the bias range threshold, the PCM determines how much time it took. If the PCM detects that the process took too much time for the HO2S to enter into normal operating range, the P0161 code will set. The time the process takes the HO2S to reach operating temperature is based on the amount of air that flows into the engine.

Possible symptoms
  • Engine Light ON (or Service Engine Soon Warning Light)
  • Possible higher than usual fuel consumption

P0161 Chevrolet Description
The Powertrain Control Module (PCM) supplies a bias voltage (approximately 450 mV) on the Heated Oxygen Sensor (HO2S) signal high and low circuits. When you turn the ignition to the ON position, battery voltage is supplied to the HO2S heater. As the heater reaches the operating temperature, the HO2S voltage responds by changing from a bias voltage range to the normal operation. Typically, as the HO2S reaches the operating temperature, the HO2S voltage goes from a bias voltage to a voltage below 300 mV. Depending on the exhaust gas content, it is possible for the HO2S voltage to go above 450 mV.
 
1 - 20 of 43 Posts
Top