Files
obdash/diagnostics/2026-06-29-no-start
justin 2fe3f1100e diagnostics: FICM healthy (>48V), ether-start signature narrows to ICP path
- FICM measured >48V on M during cranking AND key-ON. Healthy. Removed
  as a suspect.
- Truck starts cleanly on starting fluid (ether) every time, then idles
  and runs normally until shut off -- then needs ether again, even when
  warm. This is a textbook signature for high-pressure oil (ICP) bleed
  during cranking that the HPOP can outrun at running RPM.
- Updated working hypothesis to focus on STC fitting / oil rail O-rings /
  HPOP / IPR. Compression, FICM, CMP/CKP, fuel supply all confirmed good
  by virtue of the engine running cleanly once started.
- Reordered open items to put visual inspection of valve covers + STC
  fitting first.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-29 21:51:58 -04:00
..

2026-06-29 — 6.0 Power Stroke no-start session

In-cab diagnostic session using the ford-obd tool on the truck. Charger on "12V Hi" was attached for most of the session.

Symptoms

  • Cranks fast (starter spins the engine normally)
  • Zero combustion event — no sputter, no cough, no kickback
  • HFCM lift pump heard priming on key-RUN and shutting off normally
  • Battery at OBD port: 11.2 12.7V key-RUN (varied with charger state)

Codes pulled (multiple reads, slight variation between reads)

Mode Code Description
Stored (03) C0300 (chassis — not engine, not in our DB)
Pending (07) C0700 / C0701 (chassis — alternated between reads)
Pending (07) P0113 IAT circuit HIGH — sensor wiring, not a no-start
Permanent (0A) C3F0A (chassis — not engine)

No engine P-codes, no FICM codes, no injector codes, no CMP/CKP codes.

What we ruled out

  • Batteries as primary cause — cranks fast and voltage held adequately (see watch-cranking.log). Bus sagged to 10.811.2V during ~11s crank, borderline-low but not catastrophic. Healthy starter spin means batteries have current to give.
  • Fuel supply (low-pressure) — HFCM lift pump audibly primes and shuts off correctly on key-RUN. And the truck runs fine once started, so the whole fuel-supply chain delivers under load.
  • Compression / mechanical — fast even cranking, would feel different with a low-compression cylinder. Ether ignition (see below) confirms good compression and valve timing.
  • FICM — meter showed >48V on cranking AND key-ON. FICM is healthy.
  • Injector electrical / CMP / CKP — truck runs fine once started, so injector drive, cam/crank sync, and the FICM-to-injector path are all good when the engine is turning at running RPM.

Key diagnostic finding: ether starts it every time

Spraying starting fluid (ether) into the intake gets the truck to fire, catch, and run normally — and it then idles and runs fine until shut off. Then it needs ether again to restart, even when warm.

This is a near-textbook signature on a 6.0:

  • Ether ignites at much lower temperature and pressure than diesel. If the engine fires and runs on ether, compression, timing, and valves are fine.
  • If it runs cleanly once started, injectors are firing correctly at running ICP and the high-pressure oil system is making enough pressure at running RPM to drive the injectors.
  • Needing ether every time — even after warm-up — means the failure is in the starting-pressure window, not a cold-soak / temperature issue.

Mechanism: at cranking RPM the HPOP can only generate ICP so fast. Anything that bleeds high-pressure oil at cranking speeds will starve ICP below the ~500 psi firing threshold. Once the engine catches (on ether) and gets to idle RPM, the HPOP can outpace the leak and ICP holds normal — so it runs fine. Shut it off, oil pressure drops to zero, the leak path is still there next crank.

Working hypothesis (in order of suspicion)

The new symptom set narrows the field hard. It is almost certainly in the high-pressure oil (ICP) path that feeds the injectors:

  1. STC fitting — the high-pressure oil branch tube where it joins the oil rails. Classic 6.0 wear item. Cracks at the fitting let oil bleed off during cranking when the HPOP can't keep up; pressure recovers at running RPM. Ford TSB exists. #1 suspect.
  2. High-pressure oil rail O-rings (under the valve covers) — same failure mode: leak at cranking pressure, mask at running pressure.
  3. HPOP discharge tube / O-rings — same family.
  4. IPR valve seat/seal worn or stuck — bleeds oil back to sump during cranking.
  5. HPOP itself worn — gears can't pressurize fast enough at cranking RPM. Less common than STC/rails.
  6. Sticky injector spool valves — some 6.0 injectors won't open at marginal ICP but work fine once pressure is up. Less likely if it needs ether every time, more likely if it's "some cold starts."

What this is NOT (given runs-fine-once-started + needs-ether-even-warm):

  • FICM (measured >48V; also injectors fire fine when running)
  • CMP/CKP (sync is good when running)
  • Glow plugs / glow plug control (needing ether when warm rules this out — warm engine doesn't need glow assist)
  • Fuel filters / HFCM / lift pump (runs fine = fuel delivery works)
  • Compression / valve seal (ether fires and engine runs cleanly)

What we did with the tool this session

  • Pulled DTCs across all 3 modes (multiple times).
  • Captured cranking voltage with --watch 30 (see watch-cranking.log):
    • Pre-crank: bus 11.7→12.1V, VPCM 12.39→12.71V
    • Cranking (~11s): bus 10.811.2V, VPCM 11.3211.70V
    • Recovery: bus 11.812.2V, VPCM stopped responding (?) — possible PCM brief recovery state after the dip.
  • Ran first attempt at Mode-22 probes (--ford) with community-sourced PIDs (ICP=1209, FICM=1228/1229/122A, IPR=120B, etc.). All returned "no response." Either the PCM uses different PID numbers, or these values live on Ford's SCP bus and aren't gatewayed to OBD-CAN.
  • Brute-force scanned PIDs 0x1000-0x14FF (1280 PIDs, ~6 min, 46 hits). See mode22-scan-hits.txt. Data is noisy because multiple modules on the bus answer the same query — positive responses from PCM mixed with negative-response bytes (7F 22 12, 7F 22 31) from other modules.

Interesting PIDs from the scan to verify next session

Cleanest-looking PCM-side responses worth re-probing individually (with normal timing, python obd_reader.py --pid XXXX):

1310  2  1C 92         (was 1C 69 earlier — value changes; maybe a counter?)
1440  2  01 89  =  393
1442  2  01 88  =  392     ← three closely-spaced ~390 values
1445  2  01 8F  =  399        suggests a related sensor cluster
1446  2  00 16  =  22
1447  2  00 34  =  52
1448  2  00 11  =  17
11B3  1  02
11B4  2  00 00
11BA  2  FF 5C

Likely scaling guesses:

  • raw / 100 → fits if these are voltage-tenths or pressure-tenths
  • raw / 1000 → if mV (0.393V plausible for sensor outputs)
  • raw - some offset → temperature

To know what each one is, compare against a known measurement:

  • Run --pid 1440 with engine off, write down value.
  • Get engine running (eventually), write down value.
  • Change condition, watch which PIDs move.

Open items / what's next

Order is now: confirm the ICP-side leak source, then fix.

  1. Visual inspection under valve covers / around STC fitting. Pull both valve covers and look for oil flooding, weeping at the STC fitting (high-pressure oil branch tube), and the condition of the high-pressure oil rail O-rings on each head.
  2. Crank and watch ICP build (once we have a verified ICP PID, or with FORScan / IDS). A healthy 6.0 builds ~500+ psi in 12 seconds of cranking. If ours stalls below 500 psi or builds very slowly, that confirms the high-pressure leak.
  3. Verify scan-hit PIDs. Re-probe the cleanest hits with --pid XXXX (1310, 1440-1451, 11Bx cluster) for uncontaminated readings. The cluster around 1440-1451 looks like a related sensor group — could include ICP_V / IPR / ICP_DES if we're lucky.
  4. FORScan via CyanLabs mirror when it's back, on the same CH340. With ICP and IPR live data in front of us, the leak source is much easier to nail down (e.g., IPR commanded high but ICP stays low = leak; IPR low and ICP low = control side).
  5. Optional cheap check: pull the IPR valve and inspect the seat for wear / debris / a stuck pintle. ~$0, takes 15 minutes.
  6. Address other modules with ATSH — particularly trying the FICM on its CAN address if it has one (uncertain on 6.0 — FICM likely on SCP, not directly reachable from OBD-CAN). Lower priority now that FICM is confirmed healthy by meter.

Tool state at end of session

obd_reader.py now has:

  • --ford — try the (tentative) Ford 6.0 Mode-22 PID table
  • --pid XXXX — one-shot probe of any 16-bit Mode-22 PID
  • --watch [N] — stream ATRV + VPCM for N seconds (default 20)
  • --scan AAAA-BBBB + --scan-log PATH — brute-force scan a PID range

All work on the CH340 ELM327 v1.5 clone at 38400 baud, HS-CAN switch.