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.
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).