http://en.wikipedia.org/wiki/Controller_Area_Network
There are currently 3 CAN libraries usable with protocoltool.
Note: CAN bus messages have only 8 bytes of data, so protocoltool breaks lines into 8-byte packets.
The library can-0.7.1 is outdated and doesn't compile on Ubuntu Feisty. It's now merged with lincan.
Ocera Linux CAN driver (hosts the lincan drivers)
Get release lincan-0.3.4 or later from this site:
http://cmp.felk.cvut.cz/~pisa/can/
To compile within Ubuntu, I had to switch the experimental OMK make to
the standard one. See the lincan's README file for details.
make
make install
should install the library, the can module, and make the entries in /dev
To use this library, the module can(.ko) must be installed
modprobe can (additional parameters)
For virtual CAN
modprobe can hw=virtual io=0
if this returns "FATAL: module can not found", then
modprobe can (additional parameters)
depmod -a
should do the trick.
copy these headers from lincan-*/include into /usr/local/include/can
can.h, canmsg.h
On Slackware 10.1 (Kernel 2.4) I had to create the file /dev/can0 manually.
A GPL library for use with specific devices
http://www.peak-system.com/linux/
To compile on Ubuntu, it needs a symbolic link pointing to the latest generic headers. Newer versions of Ubuntu makes the link automatically.
linux ->
linux-headers-2.6.27-11-generic(for Ubuntu 8.10)
A library exists for Windows it can be linked with GCC. See the README file for the installation.
Another library which contains a virtualcan port, useful for software development.
A library exists for Windows, it can also be linked with GCC. See the README file for the installation.