Projects / LinCAN


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.

Operating Systems

Recent releases

  •  09 Oct 2011 22:50

    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.

    •  01 Mar 2009 16:02

      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.

      •  29 May 2006 04:54

        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.

        •  14 Feb 2006 13:05

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

          •  13 Jul 2005 23:26

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

            Recent comments

            17 Sep 2009 23:56 pisa

            VCA and CANping SocketCAN support added with compile-time or runtime CAN API selection added. This allowed to prepare Linux kernel and LinCAN/SocketCAN latency testing. Results can be found there


            More CTU CAN related links are collected on next page


            01 Mar 2009 11:54 pisa

            CTU 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 ( booth (no. 306, hall 11).


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.