When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
High Idle on Startup & O2 Monitor Not Setting 2002 Discovery 2 w/ Secondary Air
Hey everyone,
I’m at a bit of a crossroads with my 2002 Land Rover Discovery 2 and could use some expert advice. If I can’t get this sorted, I’ll likely have to sell it out of state since I can’t pass California emissions, which is frustrating because it runs great otherwise. Hoping someone here can help crack this mystery.
The Problem:
On cold start, the engine revs up to 2500 RPM, then settles below 1000 RPM after a couple of minutes. This is a new issue that wasn’t happening before replacing the CPS
The O2 monitor won’t set (all others have). The O2 heater monitor has set, but the O2 monitor itself remains incomplete. This prevents me from passing emissions in California.
No other driveability issues—the truck runs and drives fine, aside from the high idle on startup. I took it to a local british car shop and the guy there told me that it's just a matter of running through the drive cycles. I've run through them for about 1200 miles and no results.
What I’ve Done (Major Work & Replacements):
Replaced:
MAF (OEM)
IAC (OEM)
TPS (OEM)
Throttle body (OEM) and valve plate (original was fine but swapped it anyway)
PCV valve (upgraded to metal)
Performed Maintenance:
Coolant flush (Zerex G40 Si-HOAT, 50/50)
Differential oil change (Valvoline synthetic 75W140, upgraded to brass plugs)
Transfer case oil change (Valvoline synthetic 75W140)
Brake fluid flush (Pentosin Super DOT 4)
Oil & filter change (Shell Rotella T6 Full Synthetic 15W-40)
Installed Extinct's inline 180-degree thermostat (runs about 185ish)
Brand new Odyssey AGM battery
Completed Drive Cycles (Multiple Times)
All other monitors have set, but the O2 monitor refuses to.
I reset adaptive values after replacing MAF (P0101 code persists after going through two MAFs, second one is Bosch), TPS (tried three of them, including a remanufactured one from Rovers North), and IAC (both cleaned the original, and bought an aftermarket from Miami British), and I've completed drive cycles A-D multiple times exactly per the RAVE. I've got them on a clipboard on my dash and have been getting up at 5:00AM and running through them with a timer.
Driven ~1200 miles attempting to get the O2 monitor to set.
What Might Be the Culprit?
Vacuum Leak? I’ve checked, but it’s worth another round of testing.
Throttle Body or IAC Sticking? Both are new OEM, but maybe it’s possible something isn’t seating right.
CPS Wiring Issue? This all started after the Crankshaft Position Sensor (CPS) was replaced. I broke the clip on the wiring harness, took it to a shop, and they replaced the CPS and installed a new wire connector. Could this be related?
Secondary Air Injection (SAI) Valve Sticking Open? Could be injecting excess air during startup, causing the high idle and preventing the O2 monitor from setting. Anyone have experience diagnosing a stuck-open SAI?
Long-Term Fuel Trims Out of Range? I'm not sure what I should be looking for to know if that's an actual problem
Exhaust Leak? A small leak before the O2 sensor could be preventing the monitor from completing.
What I’m Looking For:
Advice on solving this once and for all.
Whether isolating the secondary air system would help diagnose the problem.
Best way to manually reset TPS adaptation (beyond just resetting adaptive values).
Insight into whether the CPS wiring could cause these symptoms.
And possibly most important: If you know the best LR technician around and that person happens to be somewhere near me, a referral.
Plan B – Selling the Truck (Out of State Only)
If I can’t get this resolved, I’m reluctantly looking to sell it to someone who doesn’t have to worry about California emissions. Here’s what you’d be getting with this 109k mile Blue D2 SD:
Clean Title, No Accidents, No Rust – 20+ years California-owned
Well-Maintained, Regular Servicing Documented (Carfax history available)
Extras Included:
Nanocom Evolution Rover-Specific Diagnostic Tool (with unlock code for the V8 Bosch engine)
Original throttle body (good condition)
Extra Mahle oil filter & drain plug
Assorted spare o-rings, bolts, etc.
Other Upgrades:
AB braided steel brake lines (set up for 2” lift, currently running stock height)
Completed option B fix to eliminate the three amigos
Solid steel lug nuts (eliminates the stock ones that deform)
Disco 1 windshield washer arms (allows use of standard wiper blades)
Brand new set front, rear, way back of the nice heavy rubber LR floor mats
Caveats:
Check Engine Light is on due to incomplete O2 monitor after resetting adaptive values.
Head Gaskets are Fine – No leaks, no overheating, negative combustion leak test. Considered preemptively replacing them when doing valve cover gaskets but saw no signs of failure.
Transmission Fluid & Filter Not Changed – Shifts fine, so I left it alone.
Price: Open to offers, but lowballs will be ignored. I’m not thrilled to sell it, but if I can’t get the O2 monitor to set, it’s got to go. Hoping someone here has insight that will save me from that fate.
Thanks in advance!
P.S. I'm probably gonna cross post this on a couple other forums for maximum visibility.
Last edited by disco_nap; Jan 29, 2025 at 07:41 AM.
I don't remember the exact rpm's but yours doesn't sound too far off from what it should be. The high idle is to help the engine heat up faster and get the cats hot quicker. As JohnZo says, monitor your upstream O2 data to ensure they are both switching. You are having O2 problems but I don't see O2 sensors anywhere on your list of replacements.
I recorded some live data on the 02 sensors and the trim:
*IF* I graphed correctly (didn't paste them here) and am interpreting these numbers right (big if) the MAF is high at idle (24-25 g/s) and the O2 max is stuck at 0.84V and the min is stuck at 0.05V. I *think* that may be pointing to a vacuum leak somewhere. No idea where though... I guess I'll pick up a can of carb cleaner.
O2 Sens.bank A (V) UPSTREAM,O2 Sens.bank A (V) UPSTREAM,O2 Sens.bank B (V) UPSTREAM,O2 Sens.bank A min (V) UPSTREAM,O2 Sens.bank B min (V) UPSTREAM,O2 Sens.bank A max (V) UPSTREAM,O2 Sens.bank B max (V) UPSTREAM,Shunt voltage (V) UPSTREAM,O2 Heater resistance (Ohms) UPSTREAM,Heat status UPSTREAM,Trim bank A (V) DOWNSTREAM,Trim bank B (V) DOWNSTREAM,Sensor bank A (V) DOWNSTREAM,Sensor bank B (V) DOWNSTREAM,Shunt voltage (V) DOWNSTREAM,O2 Heater resistance (Ohms) DOWNSTREAM,Heat status DOWNSTREAM,Lambda A output,Lambda B output,O2 Bank A period,O2 Bank B period,O2 Sensor ready,O2 Heater ready,O2 Ageing status
0.75,0.15,0.05,0.07,0.84,0.84,,,,-13,-10,0.44,0.44,,,,1.01,0.99,,,,,
0.61,0.21,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.98,1.01,0.0,0.0,,,
0.17,0.49,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.97,1.0,0.0,0.0,,,
0.06,0.19,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.01,1.03,0.0,0.0,,,
0.79,0.77,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.99,1.0,0.0,0.0,,,
0.67,0.67,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.97,0.97,0.0,0.0,,,
0.62,0.15,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.97,0.99,0.0,0.0,,,
0.09,0.76,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.0,0.99,0.0,0.0,,,
0.75,0.14,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.99,1.02,0.0,0.0,,,
0.34,0.68,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.98,0.99,0.0,0.0,,,
0.07,0.14,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.25,,,0.99,1.03,0.0,0.0,,,
0.07,0.22,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.02,1.02,0.0,0.0,,,
0.79,0.74,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.0,0.99,0.0,0.0,,,
0.74,0.57,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.98,0.99,0.0,0.0,,,
0.56,0.15,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.99,1.02,0.0,0.0,,,
0.81,0.74,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.95,0.96,0.0,0.0,,,
0.09,0.15,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.0,1.01,0.0,0.0,,,
0.06,0.14,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.0,1.01,0.0,0.0,,,
0.08,0.15,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.02,1.04,0.0,0.0,,,
0.77,0.75,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.98,1.0,0.0,0.0,,,
0.73,0.61,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.98,1.01,0.0,0.0,,,
0.07,0.15,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.01,1.04,0.0,0.0,,,
0.75,0.71,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.25,,,1.01,1.02,0.0,0.0,,,
0.75,0.72,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.25,,,0.99,1.01,0.0,0.0,,,
0.21,0.15,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.25,,,1.01,1.05,0.0,0.0,,,
0.77,0.76,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.25,,,1.01,1.0,0.0,0.0,,,
0.71,0.15,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,0.99,1.03,0.0,0.0,,,
0.16,0.77,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.02,1.0,0.0,0.0,,,
0.37,0.14,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.25,,,1.02,1.03,0.0,0.0,,,
0.75,0.16,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.25,,,0.99,1.06,0.0,0.0,,,
0.58,0.8,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.25,,,0.99,1.02,0.0,0.0,,,
0.1,0.74,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.27,,,1.02,0.99,0.0,0.0,,,
0.8,0.69,0.05,0.07,0.84,0.84,0.13,,,-13,-10,0.44,0.44,0.25,,,0.97,0.96,0.0,0.0,,,
Trim:
MAF sensor (g/s),MAF sensor (g/s),Injector time (ms),Fuel pump (on:1/off:0),Idle air (C),IACV drive (n/a),Idle load air (C),Average trim bank A (n/a),Average trim bank B (n/a),Load air (kg/h),Fuel cut off (open:1/closed:0),Fuel trim A (n/a),Fuel trim B (n/a),Idle trim A (Ams/Rev),Idle trim B (Ams/Rev),Multi trim A (n/a),Multi trim B (n/a),Secondary air (C),Adaptive purge (n/a),Purge rate (%),Purge status (ready/not ready),Leak rate (n/a),Fuel tank pressure (kPa),Tank pressure (kPa),Fuel enrichment (n/a),Fuel level (V)
33,4.03,,163.03,47,0.0,0.99,1.01,0.0,,1.0,1.02,1.5 ,1.5,1.04,1.06,,66.43,0.0,,0.56,30.99,31.0,,
30,4.03,,157.03,47,0.0,1.0,1.02,0.0,,0.99,1.02,1.5 ,1.5,1.04,1.06,,66.08,0.007,,0.56,30.99,31.0,,
31,3.84,,157.03,47,0.0,0.99,1.01,0.0,,0.96,1.0,1.5 ,1.5,1.04,1.06,,66.22,0.007,,0.56,30.99,31.0,,
31,3.93,,157.03,47,0.0,0.99,1.01,0.0,,0.97,1.01,1. 5,1.5,1.04,1.06,,66.31,0.007,,0.56,30.99,31.0,,
31,4.03,,157.03,47,0.0,0.99,1.01,0.0,,1.0,1.0,1.5, 1.5,1.04,1.06,,66.39,0.007,,0.56,30.99,31.0,,
31,3.96,,157.03,47,0.0,0.99,1.02,0.0,,0.98,1.03,1. 5,1.5,1.04,1.06,,66.46,0.007,,0.56,30.99,31.0,,
31,4.0,,157.03,47,0.0,0.99,1.01,0.0,,1.0,0.99,1.5, 1.5,1.04,1.06,,66.53,0.007,,0.56,30.99,31.0,,
31,4.0,,157.03,47,0.0,0.99,1.01,0.0,,1.0,1.02,1.5, 1.5,1.04,1.06,,66.62,0.007,,0.56,30.99,31.0,,
31,3.96,,157.03,43,0.0,0.99,1.01,0.0,,1.0,0.99,1.5 ,1.5,1.04,1.06,,66.7,0.008,,0.56,30.99,31.0,,
28,3.36,,157.03,44,0.0,0.99,1.01,0.0,,0.97,1.03,1. 5,1.5,1.04,1.06,,66.82,0.009,,0.56,30.99,31.0,,
24,3.81,,157.03,44,0.0,0.99,1.01,0.0,,1.0,0.99,1.5 ,1.5,1.04,1.06,,66.88,0.01,,0.56,30.99,31.0,,
27,3.69,,157.03,44,0.01,0.99,1.01,0.0,,0.99,1.02,1 .5,1.5,1.04,1.06,,66.86,0.012,,0.56,30.99,31.0,,
26,3.74,,157.03,44,0.01,1.0,1.02,0.0,,1.02,1.04,1. 5,1.5,1.04,1.06,,66.74,0.013,,0.56,30.99,31.0,,
26,3.72,,157.03,44,0.01,1.0,1.02,0.0,,1.02,1.02,1. 5,1.5,1.04,1.06,,66.48,0.014,,0.56,30.99,31.0,,
26,3.74,,157.03,44,0.01,1.01,1.02,0.0,,1.02,1.05,1 .5,1.5,1.04,1.06,,66.41,0.015,,0.56,30.99,31.0,,
26,3.69,,157.03,44,0.01,1.01,1.02,0.0,,1.0,1.0,1.5 ,1.5,1.04,1.06,,66.23,0.017,,0.56,30.99,31.0,,
26,3.86,,157.03,44,0.01,1.01,1.02,0.0,,1.03,1.03,1 .5,1.5,1.04,1.06,,66.04,0.018,,0.56,30.99,31.0,,
26,3.57,,157.03,44,0.01,1.01,1.02,0.0,,1.01,1.01,1 .5,1.5,1.04,1.06,,66.0,0.019,,0.56,30.99,31.0,,
25,3.74,,157.03,44,0.01,1.01,1.02,0.0,,1.0,1.02,1. 5,1.5,1.04,1.06,,65.84,0.02,,0.56,30.99,31.0,,
26,3.79,,157.03,44,0.01,1.01,1.02,0.0,,1.02,1.02,1 .5,1.5,1.04,1.06,,65.71,0.021,,0.56,30.99,31.0,,
26,3.74,,157.03,44,0.01,1.01,1.02,0.0,,1.0,1.02,1. 5,1.5,1.04,1.06,,65.51,0.023,,0.56,30.99,31.0,,
25,3.74,,157.03,44,0.01,1.01,1.03,0.0,,1.02,1.05,1 .5,1.5,1.04,1.06,,65.39,0.024,,0.56,30.99,31.0,,
26,3.69,,157.03,44,0.01,1.02,1.02,0.0,,1.01,1.0,1. 5,1.5,1.04,1.06,,65.16,0.025,,0.56,30.99,31.0,,
25,3.79,,157.03,44,0.01,1.02,1.03,0.0,,1.02,1.03,1 .5,1.5,1.04,1.06,,65.06,0.026,,0.56,30.99,31.0,,
26,3.69,,157.03,44,0.01,1.02,1.03,0.0,,1.0,1.03,1. 5,1.5,1.04,1.06,,64.9,0.027,,0.56,30.99,31.0,,
26,3.86,,157.03,44,0.01,1.02,1.03,0.0,,1.03,1.06,1 .5,1.5,1.04,1.06,,64.67,0.029,,0.56,30.99,31.0,,
26,3.6,,157.03,44,0.01,1.02,1.03,0.0,,1.0,1.01,1.5 ,1.5,1.04,1.06,,64.61,0.03,,0.56,30.99,31.0,,
25,3.84,,157.03,44,0.01,1.01,1.02,0.0,,1.01,1.02,1 .5,1.5,1.04,1.06,,64.53,0.031,,0.56,30.99,31.0,,
25,3.79,,157.03,44,0.01,1.01,1.02,0.0,,1.01,1.0,1. 5,1.5,1.04,1.06,,64.45,0.032,,0.56,30.99,31.0,,
26,3.72,,157.03,44,0.01,1.01,1.03,0.0,,1.01,1.05,1 .5,1.5,1.04,1.06,,64.23,0.034,,0.56,30.99,31.0,,
26,3.67,,157.03,44,0.01,1.01,1.03,0.0,,1.02,1.02,1 .5,1.5,1.04,1.06,,64.11,0.035,,0.56,30.99,31.0,,
25,3.62,,157.03,44,0.01,1.01,1.02,0.0,,0.99,1.01,1 .5,1.5,1.04,1.06,,64.11,0.036,,0.56,30.99,31.0,,
26,3.72,,157.03,44,0.01,1.01,1.03,0.0,,1.01,1.04,1 .5,1.5,1.04,1.06,,64.08,0.037,,0.56,30.99,31.0,,
26,3.67,,157.03,44,0.01,1.01,1.02,0.0,,1.01,1.02,1 .5,1.5,1.04,1.06,,63.89,0.038,,0.56,30.99,31.0,,
26,3.62,,157.03,44,0.0,1.01,1.02,0.0,,1.0,1.02,1.5 ,1.5,1.04,1.06,,63.9,0.04,,0.56,30.99,31.0,,
26,3.6,,157.03,44,0.0,1.01,1.02,0.0,,1.0,0.99,1.5, 1.5,1.04,1.06,,63.82,0.041,,0.56,30.99,31.0,,
25,3.72,,157.03,44,0.01,1.01,1.02,0.0,,1.0,1.04,1. 5,1.5,1.04,1.06,,63.83,0.042,,0.56,30.99,31.0,,
25,3.74,,157.03,44,0.0,1.01,1.02,0.0,,1.01,1.02,1. 5,1.5,1.04,1.06,,63.64,0.043,,0.56,30.99,31.0,,
26,3.67,,157.03,44,0.0,1.01,1.02,0.0,,1.01,1.02,1. 5,1.5,1.04,1.06,,63.63,0.045,,0.56,30.99,31.0,,
25,3.74,,157.03,44,0.0,1.01,1.02,0.0,,1.0,0.99,1.5 ,1.5,1.04,1.06,,63.47,0.046,,0.56,30.99,31.0,,
25,3.67,,157.03,44,0.01,1.01,1.02,0.0,,1.01,1.04,1 .5,1.5,1.04,1.06,,63.44,0.047,,0.56,30.99,31.0,,
25,3.67,,157.03,44,0.0,1.01,1.02,0.0,,1.01,1.0,1.5 ,1.5,1.04,1.06,,63.24,0.048,,0.56,30.99,31.0,,
26,3.5,,157.03,43,0.0,1.01,1.02,0.0,,0.98,1.04,1.5 ,1.5,1.04,1.06,,63.31,0.049,,0.56,30.99,31.0,,
25,3.81,,157.03,44,0.0,1.01,1.02,0.0,,1.02,0.99,1. 5,1.5,1.04,1.06,,63.2,0.051,,0.56,30.99,31.0,,
25,3.72,,156.39,43,0.0,1.0,1.02,0.0,,1.0,1.03,1.5, 1.5,1.04,1.06,,63.24,0.052,,0.56,30.99,31.0,,
26,3.57,,155.04,43,0.0,1.01,1.02,0.0,,1.0,1.0,1.5, 1.5,1.04,1.06,,63.1,0.053,,0.56,30.99,31.0,,
25,3.57,,155.03,43,0.0,1.0,1.02,0.0,,0.97,1.02,1.5 ,1.5,1.04,1.06,,63.19,0.054,,0.56,30.99,31.0,,
25,3.64,,155.03,43,0.01,1.0,1.02,0.0,,0.99,1.0,1.5 ,1.5,1.04,1.06,,63.17,0.055,,0.56,30.99,31.0,,
25,3.76,,155.03,43,0.01,1.0,1.02,0.0,,1.02,1.02,1. 5,1.5,1.04,1.06,,63.1,0.057,,0.56,30.99,31.0,,
25,3.67,,155.03,43,0.01,1.0,1.02,0.0,,1.01,1.01,1. 5,1.5,1.04,1.06,,63.05,0.058,,0.56,30.99,31.0,,
25,3.67,,155.03,43,0.01,1.01,1.02,0.0,,1.0,1.02,1. 5,1.5,1.04,1.06,,62.94,0.059,,0.56,30.99,31.0,,
26,3.72,,155.03,43,0.01,1.01,1.02,0.0,,1.02,1.05,1 .5,1.5,1.04,1.06,,62.84,0.06,,0.56,30.99,31.0,,
25,3.52,,155.03,43,0.01,1.01,1.01,0.0,,1.0,0.99,1. 5,1.5,1.04,1.06,,62.77,0.062,,0.56,30.99,31.0,,
25,3.57,,155.03,43,0.01,1.0,1.01,0.0,,0.99,1.01,1. 5,1.5,1.04,1.06,,62.91,0.063,,0.56,30.99,31.0,,
28,4.08,,154.61,47,0.01,1.0,1.01,0.0,,1.02,0.99,1. 5,1.5,1.04,1.06,,62.85,0.064,,0.56,30.99,31.0,,
32,3.76,,153.13,46,0.0,1.0,1.02,0.0,,0.96,1.04,1.5 ,1.5,1.04,1.06,,63.01,0.065,,0.56,30.99,31.0,,
31,3.84,,151.63,46,0.0,1.0,1.01,0.0,,1.02,0.98,1.5 ,1.5,1.04,1.06,,62.95,0.066,,0.56,30.99,31.0,,
Last edited by disco_nap; Jan 29, 2025 at 09:51 AM.
I'm guessing those numbers were supposed to come across as a graph?? If I remember correctly the warm idle rpm should be around 700 rpm. If that's what you are seeing then you likely don't have a big enough vacuum leak to matter. The actual value of the O2 readout is not that important. What is important is that the upstream O2's are changing in value on a fairly rhythmic pace of every 1-3 seconds from ~.8mv to ~.1 something like that.
Then based on that, the O2 seems fine. The problem looks like the MAF with the min/max of 24-26 g/s.
I cleaned my original MAF with MAF cleaner and got similar readings, replaced the MAF with a cheap chinese part off of amazon and got similar readings, and then finally replaced with a Bosch part and continue to get the unexpectedly high readings, doesn't that point to a vacuum leak downstream of the MAF?
Make sure there is slack in the throttle cables. If you suspect it's a vacuum leak a smoke test will be the best way to find it. There is the little pcv hose that goes from the valve cover to throttle body, the three lines off the manifold, and obviously the IAC valve which you replaced. The smallest of the three vacuum lines off the manifold is usually the culprit of a vacuum leak.
There's definitely some slack in the throttle cables. I disconnected them and didn't see any change in the MAF readings. On top of that, the fuel trim looks to be in a reasonable range.
I don't have a smoke machine, but I sprayed brake fluid and recorded the revs on my nanocom while doing it, there were no spikes in revs at all. I feel like I'm back to square one.
If the Malfunction Indicator Light (MIL) aka Check Engine is on, the there should be at least one OBD code. Can you access the code?
yeah, its buried up in my first post, a p0101 because of the MAF reporting too much air. The nanocom trying to be helpful shows it as P1000 = AIR FLOW TO THROTTLE ANGLE