2003 Suburban 5.3 with 200k miles. On vacation this past weekend and I start feeling a slight miss fire, driving the 20 or so miles to get back home and it gets worse and worse till its very noticeable and constant when driving. The next day I buy a scanner and its showing these three codes. P0300, P0134, P0135. Last year I did new plugs, wires, and coil packs, so Im thinking the O2 sensors could be causing the miss fire code. So I buy both upstream O2 sensors and replace both clear the codes and no change. As soon as I start the suburban I can feel the miss fire. I do a quick loop around the block and all 3 codes come back. I pull a few spark plugs just to see what they look like, they look normal for a year old plug. Start the unit and pull plug wires, I can hear each coil firing. I check the O2 fuses in the box under the hood, they are both good. Battery voltage when running looks ok, I have not ohm any wires or checked any voltage because I was out of town at the time and have very limited tools. Now Im back home that is my next step but I do not think I'll find any problems there. Wires looked good (what I could see), plugs going to O2 sensors looked ok, hell, the O2 sensors I pulled out look ok. I could tell one was replaced at some point. I was wondering if it could have been some bad gas, I added some not to long before this started, but my buddy filled up at the same place and is having no issues. I even added 10 gallons of premium and some Seafoam to see if I would see a change it how it was running and I did not. I would love some advice from someone smarter than me. Im not sure where to go from here. All my googling so far, with what I have eliminated starts pointing to the PCM, but if the PCM went out would it run at all? This thing ran like a top just before this happen.
IF it is the PCM, if I get one from a salvage yard does it have to be programmed to the VIN? or will it plug and play?
IF it is the PCM, if I get one from a salvage yard does it have to be programmed to the VIN? or will it plug and play?