PEAK-System

Welcome to the PEAK-System LINUX Website

© 2010 PEAK-System Technik GmbH, Darmstadt, Germany - Last change: 2010-03-12
PEAK-System Website Down Driver Download Down Driver Download History

PCAN-Light for LINUX is the easy to use software interface for CAN hardware by PEAK-System.

The PCAN drivers for LINUX work with Kernel versions 2.4 up to 2.6.32. The complete package is distributed under the GPL.

If you have any questions about the drivers please contact us.

There's a single API (Application Programming Interface) for all CAN interfaces. This simplifies the software development. The drivers are designed to work with CAN hardware by PEAK-System and 100 percent compatible hardware by OEM vendors. Take care when using third-party hardware, since the drivers use special functions.

Supported Hardware

PCAN-USB USB to CAN interface - one CAN channel
PCAN-USB Hub All-in-one USB Adapter for Communication through USB, CAN, and RS-232
PCAN-PC Card PC Card to CAN interface - one or two CAN channels
PCAN-cPCI CompactPCI to CAN interface - two or four CAN channels
PCAN-miniPCI Mini PCI to CAN interface - one or two CAN channels
PCAN-PCI Express PCI Express to CAN interface - one or two CAN channels
PCAN-PCI PCI to CAN interface - one or two CAN channels
PCAN-PC/104-Plus PC/104-Plus (PCI) to CAN interface - one or two CAN channels
PCAN-PC/104 PC/104 to CAN interface - one or two CAN channels
PCAN-ISA ISA to CAN interface - one or two CAN channels
PCAN-Dongle PC Parallel Port to CAN interface - one CAN channel
PCAN-OEM All OEM boards with CAN interfaces by PEAK-System
(DigitalLogic-PC/104 CAN cards, Kontron with CAN on board, etc.)

If you need technical information about the CAN hardware by PEAK-System go to www.peak-system.com.
If you you have any questions, send an e-mail to our LINUX team: linux@peak-system.com


Interested in CANopen for LINUX?
We support the CANFestival project: http://canfestival.org. CANFestival is an open source CANopen framework (GPLv2 & LGPLv2) and works with all CAN interfaces by PEAK-System (LINUX/Xenomai/RTAI/WIN32/Cygwin). CANFestival

Credits

We'd like to thank the lead developer Klaus Hitschler for his excellent work! Also many thanks for the Socket CAN support from Oliver Hartkopp and Wolfgang Grandegger. The Xenomai implementation was done by Edouard Tisserant and Laurent Bessard - thanks for the great job.


License Information

The driver is linked inside the kernel. This doesn't matter since the driver is GPL'd. However, if you like to customize the driver and distribute it then you must publish the source code of this modification. If you only use the driver's services from your user program it is the same situation like using kernel provided services from a user program. (Note that the driver's services are only of use through kernel services). It does not matter, if your user program is open or closed source and what licence, however. To ease access to the driver's services PEAK provides a library 'libpcan.so'. This library is LGPL'd and therefore can be linked to even closed source programs without any consequences. But if you modify the library you have to give back this modification to the community if you distribute the modified library.


IMPORTANT Note on Kernel Versions 2.6.25 and Up

The CAN Network subsystem PF_CAN (aka SocketCAN) became part of the Mainline Linux Kernel starting with version 2.6.25. For this reason the PEAK driver automatically compiles with the recommended netdev support, when CONFIG_CAN is set in the Kernel configuration (see NET=AUTO_NETDEV_SUPPORT setting in driver/Makefile). The automatic detection can furthermore be changed with NET=NETDEV_SUPPORT (force netdev) or NET=NO_NETDEV_SUPPORT (force chardev). To compile the PEAK Linux driver with the former (default) PEAK chardev interface, please invoke

make clean; make NET=NO_NETDEV_SUPPORT

See the /proc/pcan print:

chardev:

Kernel 2.6.24.7-92.fc8
===========================

*------------ PEAK-Systems CAN interfaces (www.peak-system.com) -------------
*--------------------------  Release_20080220_n  ----------------------------
*---------------- [mod] [isa] [pci] [dng] [par] [usb] [pcc] -----------------
*--------------------- 1 interfaces @ major 248 found -----------------------
*n -type- ndev --base-- irq --btr- --read-- --write- --irqs-- -errors- status
32    usb -NA- ffffffff 255 0x001c 00000000 00000000 00000000 00000000 0x0000

netdev:

Kernel 2.6.25.4-10.fc8
============================

*------------ PEAK-Systems CAN interfaces (www.peak-system.com) -------------
*--------------------------  Release_20080220_n  ----------------------------
*------------- [mod] [isa] [pci] [dng] [par] [usb] [pcc] [net] --------------
*--------------------- 1 interfaces @ major 248 found -----------------------
*n -type- ndev --base-- irq --btr- --read-- --write- --irqs-- -errors- status
32    usb can0 ffffffff 255 0x001c 00000000 00000000 00000000 00000000 0x0000

Attention!
When using the netdev driver interface, the chardev driver test tools ("cat /dev/pcanXX", "receivetest", "transmittest") will not work correctly. Receiving of messages won't be possible - these tools are only for the chardev driver.



Release Version 6.15

Driver Download Version 6.15 (03.02.2010)
Update:
  • Fixes a problem with the PCAN-USB driver (Baudrate fix)
  • New manual
Download Download 6.15 tar.gz
Download Download Installation Info for Version 6.15(PDF)

UpBack to the top


The History - Drivers from the past ...

Version 6.13
Update:
  • By preventing accidental back-to-back writes to the command register of the SJA1000 chip in conjunction with multicore processors write stalls were successfully removed
  • "spin_lock..." macros had become harmonized
  • A compilations bug with the XENOMAI flavor was fixed
Download Download 6.13 tar.gz
Download Download Installation Info for Version 6.13(PDF)

Version 6.11
Update:
  • Optimized for multicore environments
  • Fixed endian problem for netdev sending SFF frames via USB
  • Removed a bug where a write could return -ENODATA even if the write was successful.
  • Renamed pcan_fifo_near_ful() to pcan_fifo_not_ful().
  • Moved the sense of pcan_fifo_empty().
    Now it returns true (!=0) if the FIFO is empty.
  • Minor bug fixes
Download Download 6.11 tar.gz
Download Download Installation Info for Version 6.11(PDF)

Version 6.9b
Update:
  • Support up to Kernel 2.6.29
  • Added udev support
  • Minor bug fixes
  • Documenation update
Download Download 6.9b tar.gz
Download Download Installation Info for Version 6.9 (PDF)

Version 6.7
Update:
  • Support up to Kernel 2.6.26
  • Automaticly compiling for Socket CAN Support if the Kernel option "CONFIG_CAN" is set (Kernel 2.6.25 or higher)
  • Big Endian Support for PCAN-USB
  • PCAN-Dongle now works again without Parport-Subsystem
  • Remove some compiling warnings while use newer Kernel Versions
  • Remove some compiling warnings while use XENOMAI support
  • Some smaller fix for RTAI-Skin support
Download Download 6.7 tar.gz
Download Download 6.7 rpm
Download Download Installation Info for Version 6.x (PDF)

Version 6.5
Update:
  • Support up to Kernel 2.6.23
  • Add new features in Error Handling
  • Change type of timestamp to support new Kernel functions
  • Splitting of Realtime and non Realtime Code
Download Download 6.5 tar.gz
Download Download 6.5 rpm
Download Download Installation Info for Version 6.x (PDF)

Version 6.4
Update:
  • Support for 4 channel CAN PCI Interface (OEM boards) added
  • Improved resource locking for PCAN-Dongle
  • Improved resource locking for read and write queues (non-RT)
Download Download 6.4 tar.gz
Download Download 6.4 rpm
Download Download Installation Info for Version 6.x (PDF)

Version 6.2
Update:
  • Fixed a bug which raised overrun messages without overruns
  • Compiles now with kernel 2.6.21
  • Added a USB startup delay to compensate long PCAN-USB startup
  • PCAN-PCCARD: removed all mutexes inside soft-Irq context
  • Reworked parts of atomic_** usage
  • PCAN-ISA: mistakable info message changed
  • Improved stability of XENOMAI integration
Download Download 6.2 tar.gz
Download Download 6.2 rpm
Download Download Installation Info for Version 6.x (PDF)

Version 6.0
Update:
  • Since V6.x the PCAN-Linux driver support the Socket-CAN Interface - look at BerliOS Socket CAN for more information.
  • Add Filters for character device driver.
  • Improved and more compatible to MS-Windows PCAN-Light API error handling.
  • Timestamps with resolution down to microseconds.
  • Totally revised manual
Download Download 6.0 tar.gz
Download Download 6.0 rpm
Download Download Installation Info for Version 6.x (PDF)

Version 5.3
Update:
  • From now on, the driver support Kernel Kernel 2.6.18.5
  • Some smaller BugFixes
Download Download 5.3 tar.gz
Download Download Installation Info for Version 5.x (PDF)

Version 5.12
Update:
  • From now on, the driver support Kernel 2.6.19
  • BugFixes:
    • Solved problems in PC CARD driver (2 channel mode, LED state etc.)
    • Some compiler problems with different Linux versions solved (2.4 and PCAN PC CARD)
Download Download 5.12 tar.gz
Download Download Installation Info for Version 5.x (PDF)

Version 5.0
Update:
  • From now on, the complete driver will be distributed under the GPL. The 'obfuscated' code for the USB Interface is removed.
  • The Xenomai RealTime Core was inegrated to the driver (at the moment the PCAN-USB and the PCAN-PCC did not support this feature).
  • A new initialisation parameter was added: "bitrate". from now on it is possible to set the default bitrate of the hardware
  • Some smaller BugFixes
Download Download 5.0 rpm
Download Download 5.0 tar.gz

Version 4.3
Update:
  • Add PCAN-PC Card (PCMCIA)
  • Fixed ISA/PC104 shared interrupt problem
  • Added LINUX_CAN_Write_Timeout()
  • Preparation for kernel 2.6.17
  • Adding support for realtime sharing interrupts tested on Dual Channel PCI card
  • Moved usage of module_param_array() to kernels greater than 2.6.13
  • Removed module_param_array() usage problems for kernel 2.6.8-24-smp
Download Download 4.3 rpm
Download Download 4.3 tar.gz

Version 3.9 to 3.10
Version 3.9 (15.09.2004) Update:
  • Correction for RPM make procedure
  • Fixed Bug for USB while have very high bus load
  • Fixed Bug in "Extended Status" function support Makefile for 2.6.0 <= Kernel Version < 2.6.5
Download Download 3.9 rpm
Download Download 3.9 tar.gz
Version 3.6 (27.07.2004) Update:
  • Fixed "Bad: Scheduling while atomic!" error
  • Add English Documentation to package
Download Download 3.6 rpm
Download Download 3.6 tar.gz
Version 3.5 (18.05.2004) Update: Linux 2.6 Kernel support Download Download 3.5 rpm
Download Download 3.5 tar.gz
Version 3.28 Update:
  • Driver work now with YellowDog-Linux (PowerPC)
  • Remove some warnings while compiling with Kernel-Version 2.4.21 (SuSE-9.0)
  • Öatencie time were reduced
  • Fixed bug in error handling
  • Changed from CVS to Subversion
Download Download 3.28 rpm
Download Download 3.28 tar.gz
Version 3.25 Update:
  • Replaced GFP_KERNEL with GFP_ATOMIC inside some blocking situations
  • Better support for X86_64 Bit Systems
  • Works now with Kernel 2.6.15
Download Download 3.25 rpm
Download Download 3.25 tar.gz
Version 3.21 (20.07.2005) Update:
  • Added option to selective compile for PCAN-PCI, PCAN-ISA, PCAN-Dongle or PCAN-USB
  • Prepared for kernels greater and equal than 2.6.12
  • Addes pci_enable_driver() for kernels greater and equal 2.6.10.
  • Removed concurrency between read_proc_mem() and USB read/write.
Download Download 3.21 rpm
Download Download 3.21 tar.gz
Version 3.17 (14.02.2005) Update:
  • Increased write buffer for hardware revision >= 7 (PCAN-USB)
  • Bug removed when CAN_ERR_QXMTFULL was raised even when no queue was filled (PCAN-USB)
Download Download 3.17 rpm
Download Download 3.17 tar.gz
Version 3.13 (10.12.2004) Update: Fix Bug while reading PCAN-USB Serial number (OEM) Download Download 3.13 rpm
Download Download 3.13 gz
Version 3.12 (06.12.2004) Update:
  • Now conform to kernel 2.6.9 (missing timeout using USB)
  • Workaround for pcan_hw_getSNR() using PCAN-USB
Download Download 3.12 rpm
Download Download 3.12 tar.gz
Version 3.10 (29.10.2004) Update: Kernel-Version 2.6.9 - Parameter 'timeout' missed in 'struct urb' Download Download 3.10 tar.gz

Version 2.8 to 2.12
Version 2.8 (28.05.2003) Update: Add rpm Package Download Download 2.8 rpm
Download Download 2.8 tar.gz
Version 2.6 (18.03.2003) Update: Add rpm Package Download Download 2.6 rpm
Download Download 2.6 tar.gz
Version 2.5 (26.02.2003) Update: Add PCAN-USB Driver - PCAN-Light Download Download 2.5 tar.gz
Version 2.15 (11.03.2004) Update: Fixed bug when using RTR Messages Download Download 2.15 rpm
Download Download 2.15 tar.gz
Version 2.14 (20.11.2003) Update: Fixed wrong handling of USB device enumeration in the shared library Download Download 2.14 rpm
Download Download 2.14 tar.gz
Version 2.13 (29.10.2003) Update: Fixed rpm Package problem with old kernels (<2.4.18) Download Download 2.13 rpm
Download Download 2.13 tar.gz
Version 2.12 (12.08.2003) Update: devfs, kernel-2.5 support, LGPL Download Download 2.12 rpm
Download Download 2.12 tar.gz

Version 1.4 to 1.37
Version 1.4 (01.10.2002) Update: Now work with SUSE 8.x LINUX - PCAN-Light Download Download 1.4 rpm
Download Download 1.4 tar.gz
Version 1.3.7 (01.03.2002) PCAN-Light Download Download 1.37 tar.gz

Up Back to the top