Why does AutoTap show less timing advance than commanded without any knock retard?
Your knock learn factor is sitting below full. The ECM saw knock earlier and is now blending spark from the High Octane table toward the Low Octane table in those cells — that learned pull stays in place and keeps subtracting timing even when the knock retard PID reads zero. Log Knock Learn Factor to confirm.
Last updated
Who this applies to
- Computers: P01, P59, E38, E67
- Engines: LS1, LS6, LM7, LQ4, LQ9, LS2, LS3, LS7
- Not for: Gen V LT (different knock-learn strategy)
Gen III P01/P59 (1997-2007)
- Log Spark Advance, Knock Retard, and Knock Learn Factor in VCM Scanner over the cells in question.
- Commanded spark = High Octane cell minus (High minus Low) times the learn factor, per cell — not the whole table. Diff 10, factor 0.75 removes 2.5 degrees
- The Maximum Knock Retard table caps how far the blend can pull timing in those cells. Factor 0.5, Max Retard 4 caps pull at 4 degrees not 5
- A reflash resets the learn factor to zero so the ECM starts back on the High table. Resets to 0 on flash
Gen IV E38/E67 (2005-2013)
- Watch the Knock Learn Factor PID in the scanner under Engine > Timing Retard; on these controllers it runs 0-1, low octane at 0, high at 1. 0-1 scale
- Expect it to take real driving to swing back up to the high table after knock stops. 30-50 miles to swing up from low octane map
Careful
- Some knock activity on 87 octane with a stock tune is normal GM logic; do not chase it to zero by gutting the High table.
- If you cannot hear knock but KR persists, suspect false knock before pulling more timing.
More in tuning fundamentals, or build a checklist for your swap with the tune checklist tool.
Go deeper
Check this first
- Log Knock Learn Factor alongside Knock Retard and Spark Advance; a factor below 1 in the problem cells with zero KR is the smoking gun.
- Check the High vs Low octane tables actually differ in those cells; if they are identical the blend removes nothing.
- Verify fuel octane matches what the High table was tuned for; trace knock on 87 octane is normal stock behavior.
Try this, then this
- Fill with the octane the High table was built for and drive; the learn factor recovers on its own with no knock. — Removes the cause so the factor climbs back toward the High table. Worked if: Knock Learn Factor returns to full and commanded spark matches the High table.
- Reflash the calibration to reset the learn factor, then re-test on good fuel. — Flashing clears the learned blend instantly instead of waiting out the recovery drive. Worked if: Timing immediately matches the High table until/unless knock returns.
- Pull timing out of the High Octane table in the knock cells so the learn factor stops having to. — A table that never knocks never engages the learn blend. Worked if: No KR and learn factor stays at full across the drive.
- Hunt false knock: loose header bolts, exhaust contact, noisy valvetrain near the knock sensors. — The sensors cannot tell real knock from mechanical noise. Worked if: KR disappears at the same timing values that used to trigger it.
Key numbers
| What | Value |
|---|---|
| Knock learn factor blend math | Diff of 10 between tables, factor 0.75 = 2.5 degrees removed |
| Flash resets learn factor | Resets to 0 |
| Maximum Knock Retard cap | Factor 0.5 with Max Retard 4 caps reduction at 4 degrees |
| E38 knock learn factor scale | 0-1, 0 = low octane map, 1 = high octane map |
| Learn recovery distance | 30-50 miles |
Time and cost: No parts; 30-50 miles of mixed driving for the learn factor to recover, or one reflash.
Related questions
- Why would VATS and starter checks refuse to disable on an E38 ECM even after a Write Entire?
- What is the exact procedure to disable DoD/AFM in the tune without a mechanical delete kit?
- How do I set up 6L80E part-throttle and WOT shift tables after a gear and tire change in an engine swap?
- How do I add a real flex fuel sensor to an E38 Camaro and dial in E85 — what needs adjusting beyond enabling multifuel?
- What is needed to segment-swap a 4L60e E38/T42 truck to a 4L80E?
- Does simply selecting 4L80E under the transmission tab convert a 4L60E tune, or is a segment swap required?