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.