Freediag is an experimental suite of vehicle diagnostic protocols and an OBD II (mostly) compliant ScanTool, currently for Linux platforms. Only a command-line interface is provided at the moment.
OBD II is a standard for vehicle diagnostics relating to emissions implemented on all US vehicles since the mid 1990s. Europe has just introduced a standard called EOBD which is basically the same.
The idea is that any garage/workshop will have a scantool and can diagnose vehicles with emissions problems - these are brought to the attention of the driver by a "Check Engine" light.
This suite also contains protocol suites for some manufacturer specific protocols such as the protocol used on some Mercedes Benz gearbox controllers. It is intended to add the VW diagnostic protocol shortly.
It is intended that this grow into a full blown diagnostic suite for configuring and checking faults on many vehicles.
There are 4 physical interfaces specified for vehicles, ISO9141 (K-Line), ISO14230 (effectively the same as ISO9141), SAE-J1850 VPW and SAE-J1850 PWM. A 5th interface type (CANbus) is specified but not used for standardised OBDII diagnostics.
Of important note is that no part of CANbus / ISO 15765 is supported by freediag at the moment.
The bulk of the original code and design was written by Richard Almeida, the code was then checked and made more portable as the first stage of a project to make it portable to Windows by Andy Whittaker. Much work has been done by Bjorn Helgaas on enhancing the usability of the scantool, sanitising the comments in the code and adding functionality to the scantool.
As of 2014, the project has been in a prolonged coma for the past years, with only a few commits now and then. Some changes in >2.6 linux kernels caused some timing problems which are possibly not entirely solved yet. However some progress has been made towards supporting ELMxxx based interfaces which are popular, relatively inexpensive and simple(r) to work with.
Steve Baker is the current 'owner' of the package, although fenugrec is the most recent "active" maintainer.
Current Release: 1.00c
The 0.3 release was the last one made by the original team. Currently the most recent code should be taken from the CVS repository, as the source packages can be a few commits out of date. Any prospective user should be prepared to spend some time getting the package to work for their current setup. All bug reports and patches are welcome and should be submitted to the sourceforge project page.
Vehicle Protocol Support: