LinCAN is a Linux kernel module which 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. The driver supports Linux 2.4.x, 2.6.x, and 3.x kernels and implements 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 one of the OrtCAN project components.
|Tags||Software Development Embedded Systems Communications Hardware CAN CANopen Drivers|
|Operating Systems||POSIX Linux|
Release Notes: The LinCAN driver has been updated to build with 3.x Linux kernels. The build checked even with 2.6.x and 2.4.x kernels.
Release Notes: 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.
Release Notes: 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.
Release Notes: 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).
Release Notes: Small improvements, RTR read moved into a separate IOCTL, and initial support for some boards contributed by users.