I received this email in response to posting a link to a story about auto manufacturers keeping cars' computers' diagnostic codes secret. Its author gave me permission to post it, and I haven't changed it except for formatting.


I worked at chrysler for 6 years. I developed diagnostic tools and protocols for all of the on-board control modules (engine, transmission, etc) for all of the vehicle lines, and I was involved in the release of information to 3rd parties (diagnostic tool manfacturers, retail repair manual writers).

As usual with mainstream media attempts to present quasi-technical information, the term "codes" is rather mis-leading. Part of the software for each control module is devoted to diagnostics. These diagnostics are meant to perform various tests on a regular basis. For example, they might do an A/D conversion on a sensor, and determine that it's within an acceptable range. A control module-unique identifier is assigned to each possible failure that can be detected by the on-board diagnostics. These identifiers are typically referred to "in the business" as fault "codes" or diagnostic trouble "codes." These codes are stored in the module, and can be retrieved by an external device. Then the tool simply decodes the codes into human-readable stuff. By law (California Air Resource Board/EPA), all "codes" relative to emissions must be available to anyone, and in my experience, that was the case.

However, it is at the discretion of the OEM to release non-emissions related codes/diagnostics, for things like climate control, which was cited in the link.

The U.S. OEM's don't/can't own the dealerships, so there is no direct revenue flow secured by restricting repair to dealership service.

There was a movement in the mid 90's by CARB and EPA to force OEM's to make all of the emissions-related control systems diagnosable via the following "simple" tools: multi-meter (I, V, R, continuity) and wire (to create short circuits for diagnosis). This fell through; the OEM's wouldn't make it happen.

Regarding: "A calibration code is what makes that part work, and that's the part that's proprietary,"

calibration codes are used inside control modules as fudge factors for control algorithms where the input is not a measureable thing. For example, in an engine system, you can't measure piston scuff; there is no sensor for it. However, as part of your control algorithm, you might use some coefficient that adds/multiples on some term to approximate the effect of such a phenomenon.

The calibrations are hacked by driving the vehicle over and over in various conditions, in various environments (e.g. hi/lo altitude/temp). The OEM's are worried that if any one has the calibrations, and can figure out what they affect, they can seriously impact the underlying behavior of the vehicle. They care about this at the point when it impacts their level of liability. What happens when some evil k. figures out that by turning a 0xC0 into an 0xFF disables the engine govenor, and sets the engine on fire and kills 3 people?

Regarding: ""There has been no effort in the auto industry whatsoever to manufacture anything that was based on longevity or simplicity," Putman said, calling today's cars "technological terrors. Complexity is now next to godliness. The more complex you can make it the better. The engineers are designing things to impress other engineers. I think it's out of control.""

Based on my experience, I would have to disagree with this. The employees of the U.S. OEM's lack basic technical expertise and worse yet, demonstrate no sense of urgency or basic interest in doing things correctly, let alone in a "complex" way.