LinCAN is a Linux kernel module that implements a CAN driver capable of working with multiple cards, even with different chips and IO methods. Each communication object can be accessed from multiple applications concurrently. It supports RT-Linux, 2.2, 2.4, and 2.6 with fully implemented select, poll, fasync, O_NONBLOCK, and O_SYNC semantics and multithreaded read/write capabilities. It works with the common Intel i82527, Philips 82c200, and Philips SJA1000 (in standard and PeliCAN mode) CAN controllers. It is part of a set of CAN/CANopen related components developed as part of OCERA framework.
| Tags | Software Development Embedded Systems Communications Hardware |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux |
| Implementation | C |
Recent releases


Changes: This release was tested with the Kvaser PCIcan-Q card and some other targets on Linux kernels up to 2.6.28. The GPL license wording was unified and DCE FEE CTU is fully credited for department head requests. The experimental GIT version includes support for converting between USB and CAN. The firmware is included as well.


Changes: Some more fixes were made in SJA1000 bus-off recovery. The i82527 IRQ stuck problem was fixed. The module was updated and tested up to kernel version 2.6.17 (rc4). Minimal chip information was added in /proc/can. Support for NSI CAN PCI was contributed.


Changes: Improvements were made in SJA1000 error handling and reporting. i82527 support was fixed. Simple UDEV support was added. Updates were made for kernels up to 2.6.15 and fully preemptive kernel compatibility. Support for MX1_DIS1 extension board for PiMX1 ARM based BCC was added and tested successfully. Support for more third-party boards was added, but an insufficient amount of test reports was received. Only compatibility with 2.4.x and 2.6.x kernels will be taken into account for the next releases (2.2.x is too old now).


Changes: Small improvements, RTR read moved into a separate IOCTL, and initial support for some boards contributed by users.


Changes: SJA1000 chip IRQ handling was changed. VME and EMS CPC-PCI support were enhanced, and many other changes and bugfixes were made. The full OCERA CAN/CANopen framework targeted to LinCAN driver has been released as well. This framework contains a Java CAN/CANopen monitor, a highly configurable CANopen slave, and a simple master to provide access to CAN/CANopen over an Ethernet network.
- All comments
Recent commentsCTU industrial network projects presented on Embedded World 2009
If you like to meet us in person and discuss CAN/CANopen, Profibus, Profinet and other Linux, embedded and open source topics, you can find us at OSADL (http://www.osadl.org/) booth (no. 306, hall 11).