Was this article helpful?
K-line and ISO 9141: diagnosing cars built before CAN
Vehicles from roughly 1996 to 2007 often use a single-wire protocol that many cheap adapters handle badly. Knowing which one you have avoids blaming the car.
CAN became mandatory for OBD-II compliance in the mid-2000s. Before that, several protocols were in use, and a vehicle from 1996 to 2007 could be running any of them.
That matters because many inexpensive adapters implement CAN well and the older protocols poorly.
Related: OBD-II protocols explained.
The five protocols
| Protocol | Typical users | Connector pins |
|---|---|---|
| ISO 9141-2 | European and Asian makes | 7, sometimes 15 |
| ISO 14230-4 (KWP2000) | European makes | 7, sometimes 15 |
| SAE J1850 VPW | GM | 2 |
| SAE J1850 PWM | Ford | 2 and 10 |
| ISO 15765-4 (CAN) | Everything since ~2008 | 6 and 14 |
A quick physical check: look at the OBD-II connector. Pins 6 and 14 populated means CAN. Pin 7 populated means K-line. Pin 2 means one of the J1850 variants.
That single glance tells you what you are dealing with before connecting anything.
What K-line is
A single bidirectional wire, shared between the tester and the vehicle. Slow by modern standards — a few kilobits per second against CAN’s hundreds — and half-duplex, so only one party transmits at a time.
Some vehicles add an L-line for initialisation.
The initialisation sequence is where cheap adapters fail. K-line requires either a slow 5-baud address sequence or a fast initialisation with strict timing. Get the timing wrong and the vehicle never answers.
The symptoms of a poor implementation
- Connects, then reports no data. Initialisation failed.
- Works intermittently, succeeding perhaps one attempt in three.
- Very slow response, or timeouts during logging.
- Some parameters missing that the vehicle actually supports.
- Multi-frame responses failing — the VIN, freeze frame, Mode 06.
None of these mean the vehicle has a fault. They mean the adapter cannot manage the protocol properly.
STN chipsets versus ELM327 clones and how to spot a fake ELM327 clone adapter.
Forcing the protocol
Automatic detection tries each protocol in turn and occasionally settles on the wrong one, or gives up before reaching the right one.
Setting it explicitly often fixes an unreliable connection: ATSP followed by the protocol number, or ATSP0 to return to automatic.
ATDP reports which protocol is currently in use, which is worth checking when connection is inconsistent.
What older vehicles give you
Genuinely less, and it is worth setting expectations.
Usually available: stored codes, clearing, basic live data — RPM, coolant temperature, speed, throttle position, fuel trims, oxygen sensor voltages — and freeze frame.
Often unavailable: many of the parameters taken for granted on modern vehicles. Early OBD-II required a fairly small mandatory set, and manufacturers implemented varying amounts beyond it.
Sometimes surprising: Mode 05 oxygen sensor monitoring was defined for exactly this era and is often supported on older vehicles while absent on newer ones.
Read the supported PID list first, always: supported PIDs and why parameters are missing.
Manufacturer-specific everything
Older vehicles predate much of the standardisation, so:
- P1xxx codes are common and vehicle-specific: P1xxx manufacturer specific codes.
- ABS, airbag and body systems frequently need manufacturer tools entirely.
- Some vehicles have a separate manufacturer connector alongside the OBD-II one.
Before blaming the vehicle
A checklist for an older car that will not communicate:
- Check the connector for power — pin 16 should have battery voltage: OBD port with no power.
- Check the fuse feeding the connector.
- Look at which pins are populated to identify the protocol.
- Force the protocol rather than relying on automatic detection.
- Try a different adapter before concluding anything about the car.
- Check for aftermarket wiring spliced into the diagnostic line: aftermarket accessories electrical faults.
Step five resolves more of these than any other. On an older vehicle, the adapter is the more likely fault.
Try it on the free tier of the app — pair an ELM327 adapter over Bluetooth Classic. On a pre-CAN vehicle, an adapter with a solid legacy implementation is the difference between diagnostics and frustration.
Comments …
Loading…