Welcome to the PEAK-System LINUX Website

© 2018 PEAK-System Technik GmbH, Darmstadt, Germany - Last change: 2018-07-24
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 4.x 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 CAN interface for USB
PCAN-USB FD CAN FD interface for High-Speed USB 2.0
PCAN-USB Pro High-speed USB 2.0 interface with galvanic isolation for connecting up to 2 CAN and 2 LIN busses. Please note: Only the CAN device driver is available for Linux.
PCAN-USB Pro FD CAN FD and LIN interface for High-Speed USB 2.0 with galvanic isolation for connecting up to 2 CAN FD and 2 LIN busses. Please note: Only the CAN device driver is available for Linux.
PCAN-USB X6 6-Channel CAN FD Interface for High-Speed USB 2.0
PCAN-USB Hub All-in-one USB Adapter for Communication through USB, CAN, and RS-232
PCAN-ExpressCard 34 CAN interface for the ExpressCard/34 slot (34 mm slot)
PCAN-ExpressCard CAN interface for the ExpressCard/54 slot (54 mm slot)
PCAN-PC Card CAN interface for the PC Card slot
PCAN-PCI Express CAN interface for PCI Express
PCAN-PCI Express FD CAN FD interface for PCI Express
PCAN-PCI CAN interface for PCI
PCAN-cPCI CAN interface for CompactPCI
PCAN-miniPCI CAN interface for Mini PCI
PCAN-miniPCIe CAN interface for PCI Express Mini (PCIe)
PCAN-miniPCIe FD CAN FD Interface for PCI Express Mini (PCIe)
PCAN-M.2 CAN FD Interface for M.2 (PCIe)
PCAN-PCI/104-Express CAN interface for PCI/104-Express
PCAN-PCI/104-Express FD CAN interface for PCI/104-Express
PCAN-PC/104-Plus CAN interface for PC/104-Plus
PCAN-PC/104-Plus Quad Four-Channel CAN interface for PC/104-Plus with galvanic isolation
PCAN-PC/104 CAN interface for PC/104
PCAN-ISA CAN interface for ISA
PCAN-Dongle CAN interface for the Parallel Port
PCAN-Chip USB Stamp Module for the Implementation of CAN FD to USB Connections
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
If you you have any questions, send an e-mail to our LINUX team:

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


We would like to thank our main developers Klaus Hitschler and Stéphane Grosjean for their excellent work! Also many thanks for the Socket CAN support and the feedback from Oliver Hartkopp and Wolfgang Grandegger. The Xenomai implementation (support only driver up to Version 6.2) 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 ''. 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.

Note to "pcan" users (versions >= 7.5) who want to migrate to mainline linux-can drivers

If you are using "pcan" Linux driver versions >= 7.5 and if you want to migrate to a new Linux system to take advantages of the new linux-can drivers that are part of Kernels >= 3.4, you MUST first uninstall the "pcan" driver (you'll need to be root):

$ cd peak-linux-driver-7.x
$ make uninstall

Uninstalling the "pcan" driver can be made before or after the system upgrade. You'll need to reboot your system, to have the linux-can drivers automatically loaded by the next system start.

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:



*------------ PEAK-Systems CAN interfaces ( -------------
*--------------------------  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



*------------ PEAK-Systems CAN interfaces ( -------------
*--------------------------  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

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 8.6.0

Driver Download Version 8.6.0 (24.07.2018)
  • driver: removed trailing \0 in characters strings adapter_name and adapter_version sysfs nodes
  • pci/pcifd: redesign MSI management (useless msi_step removed)
  • PCAN-PCI Express FD: defined new parameters fdirqtl and fdirqcl that allow to set different values than the default IRQ Time and Count Limit
  • PCAN-PCI Express FD: MSI: used pci_irq_vector() for Kernels 4.8+ except if MSI sharing is set
  • pcan-settings: fixd -d option value as LONG instead of INT
  • PCAN-PCIe *: renamed PCAN_PCIE_OEM (FD) to PCAN_Chip_PCIe (FD)
  • PCAN-USB-*: restored lost parent (real) device symlink in sysfs
  • pcanfdtst.c: fixed warnings from RTAI compilation
  • driver rt: fixed compilation issues
  • driver/Makefile: do test include/can/dev.h content only when Kernel is lower than 4.8
  • driver: added missing rx and tx error counters to BUS_LOAD periodic notification
  • driver: added some #ifdef NETDEV_SUPPORT around useless code and data when it is built in netdev mode to save memory
  • PCAN-USB FD*: enforced error processing when sending chained cmds: no need to continue sending cmds if one has failed
  • PCAN-USB FD*: fixed potential NULL pointer access in UCAN_USB_MSG_CALIBRATION handler
  • driver/API: added PCANFD_FEATURE_ECHO and PCANFD_MSG_ECHO new msg bit to explicitly request echo of the tx frame
  • pcanfdtst: added "—echo". New option to send CAN frames with local echo:
    $ pcanfdtst tx -b 500k --echo -i 0x001 -n 100 -I 4  /dev/pcanpcifd6
    1529485528~681375 /dev/pcanpcifd6 <      001 ..h..  4 - 5e 00 00 00
    1529485528.680472 /dev/pcanpcifd6 >      001 ..h..  4 - 5d 00 00 00
    1529485528~682451 /dev/pcanpcifd6 <      001 ..h..  4 - 5f 00 00 00
    1529485528.681548 /dev/pcanpcifd6 >      001 ..h..  4 - 5e 00 00 00
    1529485528~683528 /dev/pcanpcifd6 <      001 ..h..  4 - 60 00 00 00
    1529485528.682628 /dev/pcanpcifd6 >      001 ..h..  4 - 5f 00 00 00
    1529485528~684606 /dev/pcanpcifd6 <      001 ..h..  4 - 61 00 00 00
    1529485528.683706 /dev/pcanpcifd6 >      001 ..h..  4 - 60 00 00 00
    1529485528~685684 /dev/pcanpcifd6 <      001 ..h..  4 - 62 00 00 00
    1529485528.684784 /dev/pcanpcifd6 >      001 ..h..  4 - 61 00 00 00
    1529485528~686760 /dev/pcanpcifd6 <      001 ..h..  4 - 63 00 00 00
    /dev/pcanpcifd6 < [packets=100 calls=100 bytes=400 eagain=0]
    sent frames: 100
  • PCAN-PCIe FD: added FW version checking for DMA issue handling:
    Driver checks against FW < 3.3.0 to detect whether the DMA logic includes issue with the mix of 32-bit and 64-bit logical addresses
  • PCAN-PCIe FD: wait of end of PCIe transaction when resources are being cleared in the board, before releasing their corresponding part in the host
  • netdev: fixed memory leak and free of wMsgs and rMsgs msgs queues in case of alloc failure
  • driver: used device_destroy() instead of device_del() (see: source/drivers/base/core.c: "device_destroy - removes a device that was created with device_create()")
  • sysfs: fixed usage of dev->adapter when removing sysfs nodes: dev->adapter might be released before deleting the sysfs adapter related nodes
  • driver: added debug as a new target in Makefile and fix netdev build
  • PCAN-USB *: fixed plugging/unplugging of USB adapters while there is CAN traffic
  • PCAN-PCI/PCIe: introduced devs list in pcan_pci.c to correctly free resources in case of errors in _probe() function
  • driver: removed old and useless #idef/#endif: consider as if:
    • PCAN_USES_OLD_TX_ENGINE_STATE won't never be defined anymore
    • PCAN_USB_PCAN_SYSFS is always defined
  • driver: fixed delta_us computing in pcan_sync_timestamp() to prevent from event timestamp older than sync timestamps
  • driver: fixed timeval_add_us() to correctly handle the negative values of µs to add
  • driver: timestamp cooking is now done in user context rather than in interrupt context to save CPU time
  • PCAN-USB: fixed regression issue with PCAN-USB at 1Mbps, as well as timestamp 8-bit wrapping issue and improve rx management
  • driver CONFIG_COMPAT mode: fixed copy_to_msg32()
  • driver/API: added support for SET and GET_OPTION in CONFIG_COMPAT mode
  • driver: added SPDX identifiers to headers and C files
  • driver: Included last linux-can header files rather (very) old ones. This also enables to include last GLPv2 license
  • PCAN-PCIe *: included MSI workaround around can0 IRQ: now can0 IRQ is always the last IRQ freed:
    • If PCAN_PCI_MSI_WORKAROUND is not defined, then IRQ are requested (resp. freed) at _open() (resp. _close()) time, as before.
    • If PCAN_PCI_MSI_WORKAROUND is defined, then:
      • . if usemsi (fdusemsi) equals 0, then IRQ are requested (resp. freed) at _open() (resp. _close()) time.
      • . otherwise, IRQ are requested (resp. freed) at _probe() (resp. _exit()) time.
    Since this issue has been seen on x86, then PCAN_PCI_MSI_WORKAROUND is defined ONLY when CONFIG_X86 is defined
  • driver: included support of new Timer API since Kernel 4.15 (Ubuntu 18.04 LTS)
  • driver/API: changed the way STATUS[PCANFD_BUS_LOAD] is notified:
    Now the driver setup its own timer to push the STATUS[PCANFD_BUS_LOAD] msg by itself. This msg is no more pushed by the device ISR
    This enables to limit Rx queue flooding and ensure that the msg will always be pushed. The timer is stopped when the device is closed
    The timer is setup and started if flag PCAN_DEV_BUSLOAD_RDY is set only
  • driver: fixed bus_load: value should be 100x greater
  • PCAN-USB *: force GFP_DMA bit for URB data buffer allocation
  • PCAN-USB: reworked completely timestamps handling to handle clocks drift through the driver global timestamp system
  • PCAN-* FD: fixed 32-bit aligned parsing of incoming uCAN buffers
  • driver/API: initialize with default settings when no bitrate nor brp is given by user
  • PCAN-USB *: fixed usage of read_buffer_len in rx USB buffer (some buffers could not been read entirely)
  • driver: useed power of 2 value for clock_drift scale to save CPU time in timestamp management during ISR
  • driver/Makefile: used "modprobe", "udevadm" and "depmod" instead of the absolute path of the executable files
  • pcanfdtst: dsample_pt default value forced to sample_pt if dsample_pt was not given on cmd line
  • driver: improved the way init settings are checked and handled before opening a channel: now, any wrong value generates -EINVAL
  • lib/pcanfd_open(): process SAMPLEPT flags only when BITRATE values are given (processing any user sample point makes no sense when using BRP,TSEGx and SJW arguments)
  • driver: restore default settings on last close instead of keeping current ones
  • driver/API: fixed potential bug: user sample_point MUST not be greater than PCAN_SAMPT_SCALE
  • driver: fixed some DEBUG string format in 32-bit compilation
  • PCAN-USB *: improved the way timestamps are handled to be VM compatible
  • PCAN-USB *: request calibration msgs at _init() rather than at _open() time so that clocks are stabilized an clocks drifts are fixed when the channel is open
  • PCAN-USB *: fixed potential Kernel Oops in pcan_poll when application uses select() and USB device is unplugged
  • driver: changed mdelay() into msleep_interruptible() to save CPU time while in non-interrupt contexts
  • PCAN-USB *: fixed URB buffer address by using the heap instead of the stack
  • PCAN-USB *: added up to 2 retries when writing an URB, in case of time out. This fix should be enough for PCAN-USB Pro to run in VM
  • driver/API: fixed a bug that could lead to send a CAN FD msg with data_len > 8 and/or BRS while the channel was not opened in CAN FD mode
  • pcanfdtst.c: Added --play-forever option: while --play reads once a file and stops at the end of it, --play-forever loops reading it from the beginning
  • SJA1000 *: fixed potential bug for all internal SJA1000 based devices: no other choices than "software" timestamps for these devices
  • pcanfdtst.c: added a way to ctrl output line format (see % date --help)
  • pcanfdtst.c: added --filler option and "rec" mode to define the way DATA are filled and to record data into a file that could be played next
  • pcanfdtsts.c: now frames can be sent AND checked with incremented CAN ID and DLC
  • driver/API: removed useless PCANFD_TX_OVERFLOW notification when in blocking mode
  • pcandfdtst.c: added "getopt" and "setopt" new modes to get/set OPTIONS value from the driver
    Usage is:
    $ pcanfdtst getopt --opt-name x /dev/pcan
    $ pcanfdtst setopt --opt-name x --opt-value yyyy /dev/pcan
  • PCAN-Chip USB: Fixed PCAN-Chip name
  • PCAN-Chip FW 3.3.0: included digital/analog I/O full management
    (see also PCANFD_IO_xxx options in pcanfd.h)
  • driver: changed the way ENOSPC is handled in options processing: when user provides a too small buffer, -ENOSPC is returned and the "size" field of the opt pointer is updated with the needed value. Libpcanfd has been changed too. Now, user application knows what size should be allocated
  • driver/API: added 2 options to read FW and DRV versions
  • driver: fixed sjw usage in SJA1000 bittiming conversions
  • driver: fixed sample_point conversion between pcan and linux-can: pcan sample-point uses 3 decimals while linux-can uses 2
  • driver: fixed bitrate conversion issue: added sjw as a parameter to convert some BTR0BTR1 specs. Previous releases were considering a default sjw (=1) for the display
  • pcanfdtst.c: added -E --esi option to set ESI bit in tx frames
  • netdev: use jiffies only for Kernel > 4.7 (remove support of old kernels, for something that is not used anywhere else...)
  • driver/Makefile: removed the leading comment in var setting that could lead to compilation error
  • PCAN-USB *: fixed usb device ID reading and setting by looping on sending the request in case of ETIMEDOUT
  • PCAN-USB *: useed more modern way to dialog with USB devices by the mean of usb_bulk_msg()
  • pcan-settings: didn't return "errno" anymore but 0
  • pcanfdtst.c: don't fail in case of timeout if not waiting for a given number of frames (that is, when -n is not used on cmd line)
  • PCAN-USB X6: fixed comment for in its corresponding Udev rule
  • sysfs: "devid" entry only exists if devid makes sense for the device
  • pcanfdtst.c: useed alarm() and signal(SIGALRM) to setup a maximum time of running
  • pcanfdtst.c: changed the meaning of the "- n xxx" option: now this defines the count of CAN frames instead of the count of loops
  • driver: changed the good old enum scheme. Now devices ranges are:
    0    31      PCI/PCIe
    32   63      USB
    64   71      PC-CARD
    72   79      ISA/PC104
    80   87      DNG SP
    88   95      DNG EPP
    To restore the old one, build pcan with:
    0    7       PCI/PCIe
    8    15      ISA/PC104
    16   23      DNG SP
    24   31      DNG EPP
    32   39      USB
    40   47      PC-CARD
  • driver/API: addd PCANFD_FEATURE_SELFRECEIVE bit that says that the device is capable of self-sending CAN frames
  • driver/API: renamed HW_PCI_FD into HW_PCIE_FD which is closer to reality (pcan.h always defines HW_PCI_FD as HW_PCIE_FD, for compatibility reasons)
  • pcanfdtst.c: added -M | --max-duration option that enables user to set the maximum count of s. the application should run.
    If this duration is reached before the end of the test, the application returns 1
  • lib: fixed pcanfd_open() now unconditionally calls ioctl(SET_INIT) next to open() system call
  • netdev: fixed usage of CTRLMODE_LISTEN_ONLY and _FD_NON_ISO socket-CAN flags

Download Download v8.6.0 (tar.gz)
Download Download Manual (PDF)

UpBack to the top

The History - Drivers from the past ...

Driver Download Version 8.5.1 (27.10.2017)
  • Driver and library include 2 new functions/ioctls that enable to get/set options values to an opened channel:
    • Set a delay between each frame written on the CAN bus (CAN FD controllers only)
    • Set a new hardware timestamp mode that enables applications to get the raw timestamp values from the device
    • Get the features of a channel (CAN FD capable, device number can be set,...)
    • Set the acceptance code and mask for 11-bit and 29-bit CAN IDs (standard or extended modes)
    • Define what kinds of message the application wants to receive: CAN, RTR, STATUS, ERROR, ...
  • The driver can be built with Kernels more recent than 4.10 in which pci_enable_msi_range() has been removed
  • Fixed BTR0BTR1 bit rate conversion with CAN adapters equipped with a clock > 8 MHz
  • Library's Makefile automatically builds the 32-bit version when running a 64-bit system if it is capable to
  • Tx and Rx error counters are now read from SJA1000 devices too
  • Added ERROR_MSG handling (SJA1000 + CAN FD controllers): the driver now forwards any error message it gets from the controller to the application. Application is notified of these errors, if the feature is enabled
  • The warning message "Compiling for __LP64__" displayed by the "make" command, has been removed
  • The Bootloader version is also given when any CAN USB adapters like the PCAN-USB FD is connected (dmesg)
  • The "CAN 2.0 A/B" mode is forced when a CAN FD controller is not initialized in CAN FD mode
  • Included the patch from "Benad, Friedrich [DE]" that enables to compile the driver in netdev mode with Kernel 3.0
  • udev/45-pcan.rules: Fixed a typo in a comment
  • Add "peak_pciefd" (the mainline driver since 4.12) to the blacklist when PCAN is installed
  • Fixed RTR flag usage in outgoing CAN FD messages (unused) as well as an endianness issue in outgoing CAN messages (only big endian architectures)
  • Fixed issues around timestamping: now PCANFD_INIT_TS_DRV_REL is correctly handled
  • Fixed a compilation error with Kernel 4.11+ in netdev mode (last_rx field has been removed from struct net_device from v4.11)
  • Added "deftsmode" module parameter that enables to define the default timestamp mode used for all of the channels. This is useful for netdev mode
  • Fixed DMA usage in control URB with Kernel 4.13 for all PCAN-USB FD interfaces as well as for the PCAN-USB Pro. Kernel 4.13 is the Kernel of Ubuntu 17.10
  • Fixed lonely "(le)" (or "be") message in dmesg

Download Download v8.5.1 (tar.gz)
Download Download Manual (PDF)

Driver Download Version 8.4.0 (14.06.2017)
  • make: fixed usage of "device_lock" only if HANDLE_HOTPLUG is defined, to avoid compilation errors when USB and PCC support not included
  • make: fixed pr_warn() definition with kernels older than 2.6.35
  • make: added new option: COMPAT_SUPPORT=NO that disables CONFIG_COMPAT (32b application running 64b driver)
  • make: better handle cross-compilation when building test applications, installing driver and libs
  • make: fixed usage of 64b string format according to CONFIG_ARCH_DMA_ADDR_T_64BIT
  • make: fixed wrong and useless comparison (a == a) of interface number for USB FD devices
  • make: fixed sysfs attr type when CONFIG_DEBUG_LOCK_ALLOC is y
  • make: added support of OpenSuse -like systems, where headers aren't stored like in Debian's
  • make install: fixed depmod usage in cross-compilation environment
  • make install: added DESTDIR_DEV to be able to install headers files somewhere else than the running rootfs (default is DESTDIR)
  • PCAN-FD: map PCANFD_INIT_BUS_LOAD_INFO user API flag to the CANFD BUSLOAD option, to limit hardware interrupts rate if "bus load" is not a useful info
  • PCAN-FD: fixed some "Unknown adapters" display by adding some missing supported FD adapter names
  • PCAN-PCIe FD: added specific sysfs properties to get read access to rx/tx dma areas logical/virtual addresses
  • PCAN-PCIe FD: added dmamask module parameter
  • PCAN-PCIe FD: fixed "non-working" bug on very 1st open() + read() sequence
  • PCAN-USB FD: fixed bug in timeval_add_us() when count of µs value was exactly 1M and "ts_high" wrapped
  • PCAN-Chip USB: added support
  • libpcanfd: fixed usage of (both) "sample_pt" args in call of pcanfd_open()
  • libpcanfd: fixed sample point computation when OFD_BTR0BTR1 or OFD_BRPTSEGSJW is used in pcanfd_open()
  • driver: fixed display of usemsi/fdusemsi default values (modinfo)
  • driver: fixed computing of btr0btr1 by taking into account sample_point value. Now, sysfs btr0btr1 property displays the right value according to the selected sample_pt
  • driver: normalized clock drift handling for 32b and 64b archs
  • pcanfdtst: added -T option so that received timestamps are tested if they don't come from the future, or if they aren't too different from 'now'

Download Download v8.4.0 (tar.gz)
Download Download Manual (PDF)

Driver Download Version 8.3.1 (15.02.2017)
  • netdev/pcanfd_pci: handle restart from BUSOFF
  • netdev: fixed a compilation issue with some 4.4.0-x kernels including Linux 4.8 changes of can/dev.h
  • pcanfd_usb: handle non-root USB controllers (PCAN-USB X6 support with non EHCI USB controllers)

Download Download v8.3.1 (tar.gz)
Download Download Manual (PDF)

Driver Download Version 8.3 (10.01.2017)
  • Support of the new PCAN-USB X6 USB to CAN adapter
  • 64-bit driver supports now 32-bit applications built with 32-bit libpcan ($ make -C lib all32)
  • Better netdev support with handling (auto-)restart mechanism in case of Bus Off
  • Dynamic allocation of Tx and Rx msgs fifos on open(). Release on close().
  • Set fdusemsi module option back to default 1 (MSI used only if not shared) (writing onto a not-connected channel caused loosing MSI for the the other connected channel)
  • Fixed that Tx/Rx fifo status bits were reset in the exported CAN status
  • pcanfdtst: improved Xenomai RT by fixing usleep() usage
  • Support of the OEM PCI/PCIe device ID 0x0019
  • Removed some spurious DEBUG msgs
  • uCAN (CAN FD) cmds unused bits are set to 0

Download Download v8.3 (tar.gz)
Download Download Manual (PDF)

Driver Download Version 8.2 (08.11.2016)
  • Fixed netdev lock/unlock around device_write()
  • Added information read from linux-can into /sys/class/pcan
  • Increased Tx fifo up to 500 entries
  • Fixed typo in Udev script: ctrl_number is actually ctrlr_number
  • Added two new ioctl to get bit timing ranges as well as available clocks from the driver (pcanfd.h, libpcanfd.h, and libpcanfd.c impacted)
  • Sample_point ratio is taken into account now, when computing bit timings specs
  • Added rtai and xeno as new Makefile targets
  • Removed OFD_DSAMPLEPT bits (pcanfd_open() only): if sample_point is given then it must be given for both nominal and data bit rates
  • The driver now considers the bit rate value only if BRP is not 0
  • Fixed handling of some errors cases from CAN-FD adapters
  • pcanfdtst(RTAI): creates a better unique task ID
  • Removed forgotten DEBUG logs for PCAN-PCI Express FD
  • Usage of RX_BARRIER mechanism in PCAN-PCI Express FD to prevent from any spurious interrupts
  • Added some control on channel index received from PCAN-PCI Express FD
  • Added PCANFD_BUS_ERROR as a new STATUS message to give SJA1000 applications BUS_ERROR interrupt notifications Added the STATUS message software ACTIVE for SJA1000 based devices. It occurs as soon as the bus is set up
  • Added support of MSI for the PCAN-PCI Express FD (see also new "fdusemsi" module parameter)
  • The SJA1000 interrupt handler is not entirely locked anymory. Only write access is locked
  • The global init of PCAN-PCI-like boards was moved to _probe() function
  • Fixed usage of "irqmaxloop" and "irqmaxrxmsg" when they're 0 on cmd line
  • Speed up of the way Rx frames are read and saved from the SJA1000 Rx buffer
  • Fixed a bug concerning the limitation of STATUS messages, which could cause that further status changes of the bus were not notified
  • Added the new module parameters "usemsi" and "fdusemsi" to ctrl if MSI should be enabled (0=INTA mode only, 1=MSI mode tested, 2=shared MSI mode tested). "usemsi" default = 1 and "fdusemsi" default = 2
  • Makefile: Added KBUILD_EXTRA_SYMBOLS def to remove 'undefined symbols' messages when building the driver with RTAI
  • libpcan.c: Added const qualifier to each pointer that cannot be modified
  • Posted a soft STATUS msgs when the driver exits from any error cases, to notfiy user application of the end of the error status
  • Fixed how DMA is handled in PCAN-PCI Express FD: now Rx DMA is set once for all while Tx DMA is setup each time the device is opened
  • Fixed the netdev way of copying clocks from pcan (no more intern_prescaler usage)
  • Enlarged bit timing ranges of any CAN-FD PC interface to their max
  • Fixed computation of bitrate_real field when setting bit rate using BRP

Download Download v8.2 (tar.gz)
Download Download Manual (PDF)

Driver Download Version 8.1 (10.06.2016)
  • First release of PCAN v8 handling CAN-FD and new CAN-FD API
  • pcanfd_pci: fixed 64-bits version
  • Upgraded user documentation

17.05.2016 - Beta Version 8.0.25 - Updates:
WARNING: using this version over any 8.0.x-beta needs rebuilding and reinstalling everything!
  • pcan_parse.c: fixed timestamp display
  • Added SingleShot feature for SJA1000 (-like) controllers (see PCANFD_MSG_SNG bit in pcanfd.h)
  • Fixed clock drift handling with PCAN-USB (Pro) FD in timestamps
  • Added "host_time_ns" and "hw_time_ns" new fieds in "struct pcanfd_state" to inform the user of the current timestamps basis
  • pcanfd-pci: forced fallback into INTA mode if MSI did not give the exact count of requested msgs, since experiments show that MSI are not sharable
  • Fixed clock drift to lower integer rounded effects

01.04.2016 - Beta Version 8.0.20 - Updates:
  • CAN 2.0 PCAN-USB devices: usage of dynamic mem alloc instead of static one for sent commands (required for other arch and/or usb controller drivers, like RPi3 + dwc_otg)
  • Read/write access: fixed usage of msg type for input CAN frames
  • Read/write access: set default init flag PCANFD_INIT_FD for uCAN devices so that default open is CAN-FD
  • Driver/Makefile: included remarks made by Mr. Udo Sprute (thx!) to build things cleaner
  • Open: fixed bug around mutex that could be released twice
  • Changed the way of locking access to the Tx engine vs. ISR and multi-tasking access

08.03.2016 - Beta Version 8.0.17 - Updates:
  • Fixed compilation issues with 2.6.32 LTE
  • Fixed typo in sysfs "nom_tsegx"
  • Checked status of class_create_file() to fix __must_check attribute
  • Fixed missing ending ; and removed DEBUG define
  • Fixed compilation of the driver when USB is not included nor supported
  • Fixed dma_addr_t usage against 32/64-bits arch dma addr type
  • Fixed RT compilation against Xenomai 2.6 kernels

26.02.2016 - Beta Version 8.0.16 - Updates:
  • CAN FD support for all PEAK-System CAN FD PC interfaces
  • Improved memory copies and signaling mechanism to accelerate the processing of messages
  • New modern and message oriented CAN FD API offering multi-messages read/write, enhanced status information, several bit-timing specifications for both nominal and data bitrates, clock selection, ... (new "pcanfd.h" include file and new "libpcanfd" library)
  • Bus load, rx and tx CAN errors counters available in messages received by the application (when supported by the hardware)
  • Extensive use of "/sysfs" to export lots of the properties and statistics for each CAN/CAN FD device node to user space
  • New free "pcanfdtst" test application enables to test CAN 2.0 as well as CAN FD transfer
  • 100% compatible with the old CAN API (old "pcan.h" include file and "libpcan" library are included by the new ones)
  • Enhanced support of real time (enhanced support of RTDM in the driver and Xenomai 2.0 and RTAI in the test applications)
  • New "lspcan" tool that displays information as well as statistics for CAN/CAN FD nodes ("/proc/pcan" always present but should be considered for CAN 2.0 usage only)
  • All pcan nodes are moved under "/sys/class/pcan" ("usbmisc" no more needed)
  • New device nodes and new tree representation (board oriented) under "/dev" (the Udev rules heavily make use of the new exported "/sysfs")
Download Download v8.1 (tar.gz)
Download Download Manual (PDF)

Driver Download Version 7.15.2 (29.07.2015)
  • Included Self-Receive facility for all USB adapters
  • PCAN-Driver_for_Linux_eng_7.x.pdf describes how to use new self-receive options in the write/read chardev API
  • $ cat /proc/pcan displays now "[pec]" if the PCIEC_SUPPORT option has been defined
  • Fixed the way the PCI driver handled a channel device probing failure (double deregistration could result to a some Kernel Ooops)
  • Removed the usage of obsolete function check_mem_region() for Kernels >= 4.0
  • Driver/Makefile: fixed Kernel version checking to be able to compile the driver against 4.x Kernels
  • Driver/Makefile: handle GCC v4.9 (date-time warning has become an error)
  • Driver/Makefile: fixed version checking of the gcc compiler
  • All Makefile (RT): handle newer versions of xeno_config and the way the "skin" is being set on command line
  • netdev interface: uses now alloc_can_skb() instead of dev_alloc_skb() for Kernels >= 3.9, to workaround the linux-can o-o-o frames issue
  • netdev interface: handles a special case of Kernels 4.1 & 4.1.1 to workaround the linux-can o-o-o frames issue
  • Added definition of get_can_dlc() for some old Kernels
  • Added the reset of the error counters of the PCAN-USB FD adapters before going to bus on
  • Minimal_xenomai and test: did some coding style cleaning
  • transmitest: rewrote the complete help displayed and enabled user to use hex numbers for -p, -i, -r and -n options on cmd line
  • bitratetest.c: now can correctly be built under Xenomai
  • test/minimal_xenomai: renamed xenomai_transmitt_test to xenomai_transmit_test
Download Download 7.15.2 tar.gz
Download Download Installation Info (PDF)

Driver Download Version 7.14 (07.01.2015)
  • Added support for the new PCAN-USB FD and PCAN-USB Pro FD USB adapters for use with the CAN 2.0b bus standard
Download Download 7.14 tar.gz
Download Download Installation Info (PDF)

Driver Download Version 7.13 (20.10.2014)
  • Added a new feature that exports the "Device ID" which might be written into some PCAN devices (such as the PCAN-USB family devices) to sysfs so that it can be read by Udev system and used for creating /dev nodes names. See the new 45-pcan.rules file which now gives examples on how to use it. This "Device ID" may also be used in the "canx" name of the "netdev" (socketCAN) interfaces, by the mean of the "assign=devid" module parameter
  • Please note: the "Device ID" value is ONLY used if its value is not the default value (-1). It can be changed with: "pcan-settings /dev/pcanusbX -d new_value"
  • Please note: column "ndev" of cat /proc/pcan has been enlarged to display canXYZ strings
  • Fixed udev rules for correct naming of /dev/pcanxx symlinks to USB CAN devices: USB CAN devices /dev/pcanxx names start from xx=32, what ever CONFIG_USB_DYNAMIC_MINORS Kernel configuration is
  • Fixed pcan-settings tool to be able to handle 32-bits Device IDs
  • Added support for Kernel 3.17
  • Added support of the new PCAN-ExpressCard 34
  • Minor changes in the user manual
Download Download 7.13 tar.gz
Download Download Installation Info (PDF)

Driver Download Version 7.12 (23.07.2014)
  • Moved physically installed processing out of the USB interrupt context
  • Fixed "Kernel NULL pointer dereference" occuring with netdev under high busload
  • chardev applications tasks are now unblocked when waiting for an event on a device that has been unplugged (errno = ENODEV)
  • Reworked a few things to detect the spurious interrupt problem with RT patches kernels in PCI code
  • Added two new module parameters ("irqmaxloop" and "irqmaxrmsg") for a better control how much time should pcan pass in each SJA1000 IRQ handler and how many CAN messages it can read from each rx queue (default values are 1 and 8 resp.)
  • Reworked SJA1000 ISR to save time in case of an error condition
  • Fixed in-tree (cross-)compilation issue by using EXTRA_CFLAGS in driver's Makefile instead of _CFLAGS
  • Fixed an old link in the user manual
Download Download 7.12 tar.gz
Download Download Installation Info (PDF)

Driver Download Version 7.11 (05.05.2014)
  • Fix reading of Kernel version in driver's Makefile, especially when the version number doesn't match x.y.z strict formats. Now, versions like x.y, x.0y, x.y-name, x.y.0z, x.y.z-name are correctly handled
  • Fix errno handling in pcan-settings.c
  • Update documentation with info about linux-can PEAK-System mainline drivers and fix typos and (old) references
Download Download 7.11 tar.gz
Download Download Installation Info (PDF)

Driver Download Version 7.10 (23.01.2014)
  • Added support for PCAN-PCI Express OEM board
  • Handle USB error like BUSOFF to force application to restart
  • Handle usb core error in read callback (interrupt context) by properly closing the device instead of ignoring the error
  • Remove "PEAK-Systems" ending "s" to MODULE_DESCRIPTION string
  • Tested with 3.10 kernel
Download Download 7.10 tar.gz
Download Download Installation Info (PDF)

Driver Download Version 7.9 (15.08.2013)
This version ...
  • fixes CAN messages with a faulty DLC value greater than 8, and allows them to be processed correctly
  • fixes devices list management (use of mutex lock)
  • fixes display bug of usb can channel number (read /proc/pcan)
  • improves the way diagnostics are returned
  • includes changes concerning the function "create_proc_read_entry" that is deprecated from Kernel v3.9
  • has been tested with Kernel 3.10
Download Download 7.9 tar.gz
Download Download Installation Info (PDF)

Version 7.8 (31.01.2013)
  • Support of future Kernel 3.9 linux-can
  • Include support of Kernel 3.7+ in driver/Makefile (version.h moved)
  • All Makefiles now support the DESTDIR variable
  • Driver "make install" doesn't remove vanilla linux-can driver "peak_pci" from memory anymore on Kernels < 3.4 (bug in "peak_pci" leads to Kernel crash); a request to reboot is shown instead
  • Build date and time added in /proc/pcan display
  • Added forgotten HW_ISA_SJA type when creating and removing nodes (udev didn't see device creation/removing)
  • Always force usb_clear_halt() on CAN BUSOFF for USB CAN interfaces (certain small frames could not be transmitted on the bus)
Download Download 7.8 tar.gz
Download Download Installation Info (PDF)

Version 7.7 (27.07.2012)
  • Fixed compilation issues with Linux Kernel versions up to 3.5 (Thanks to Oliver Hartkopp)
  • PCAN-USB/USB Pro: Fixed an "undefined symbol" compilation issue (pr_err()) with (very) old Linux Kernels (2.6.22)
Download Download 7.7 tar.gz
Download Download Installation Info (PDF)

Version 7.6 (24.05.2012)
  • Added support for PCAN-miniPCI, PCAN-miniPCIe, PCAN-PCI/104-Express, PCAN-PC/104-Plus, and PCAN-cPCI
  • Removed unused MPCIE_SUPPORT compilation option from Makefile
  • Fixed some compilation issues due to net_ratelimit() usage with old kernels
Download Download 7.6 tar.gz
Download Download Installation Info (PDF)

Version 7.5 (21.03.2012)
  • Added support for Kernel v3.x
  • Added support for miniPCIe
  • Fixed wrong usage of /dev/NULL, replaced by /dev/null in driver/Makefile
  • Blacklisted the peak_xxx mainline drivers
  • Adapted usb_reset_endpoint() call to individual kernel versions
  • Fixed potential system crash by changing led timer mechanism to delayed work (PCAN-ExpressCard)
  • Improved endian handling
  • Improved can error handling
  • Handle possible fragmentation of rx messages (PCAN-USB/PCAN-USB Pro)
  • Added support for PCAN-miniPCIe (devid=8) and PCAN-PCI nextgen (devid=3)
  • Fixed potential crash if PCAN-ExpressCard (PCIeC) support is not defined and troubles occur when detecting the SJA1000 controller
  • Fixed potential issue when probing for SJA1000 in PELICAN mode
  • Fixed potential infinite loop waiting for an urb command to be submitted (PCAN-USB/PCAN-USB Pro)
  • Use more accurate time in ms
  • Fixed PCAN-USB FW 2.8 blocking issue
  • Removed cases of potential double BUSOFF transmission (PCAN-USB/PCAN-USB Pro), removed some unuseful delays
  • Added "uninstall" target to Makefiles to properly remove driver from the system
Download Download 7.5 tar.gz
Download Download Installation Info (PDF)

Version 7.4 (13.09.2011)
  • Removed any references to selecttest in test/Makefile (fixed 7.3 make error)
  • Fixed PCAN-USB Pro frame lost, when odd number of frames sent in between insmod/rmmod cycle (no problem occurs when the driver was not removed)
  • Added cancellation of calibration message on device/driver removing
  • Changed "CAN OFF" messages handling to channel closing rather than on device removing
Download Download 7.4 tar.gz
Download Download Installation Info (PDF)

Version 7.3
  • Better support of some older kernels (2.6.18 for example).
  • Fix - non - support of pc-card even if PCCARD_SUPPORT is defined on command line but kernel is not configured for
  • Fix PCAN-USB adapters minor regression issue (device number display now back in /proc/pcan irq column)
  • Add support for next Linux kernel 3.0
  • Enforce kernel config checking against I2C_ALGO option at compilation time
Download Download 7.3 tar.gz
Download Download Installation Info (PDF)

Version 7.2
  • Fixed typo in src/pcan_dongle.c (v7.1) to be able to use the PCAN-Dongle
  • Fixed SJA1000 mutual exclusion in write() functions in certain Low-Speed CPU conditions
  • Support of Linux kernel up to
  • Added a new KERNEL_LOCATION detection based on /lib/modules//build for homebrew kernels
Download Download 7.2 tar.gz
Download Download Installation Info (PDF)

Version 7.1
  • Support of the PCAN-USB and PCAN-USB Pro adapters
  • The message timestamps of the PCAN-USB and PCAN-USB Pro CAN interfaces are used to setup the time of incoming CAN frames up to user applications
  • The driver version is now displayed when /proc/pcan is read
  • Support of Kernel 2.6.37
  • Fixed a problem concerning the PCMCIA adapter support
  • Clearing the message filter list is now available
  • Support of dynamic usb minors allocation (kernel config option)
Download Download 7.1 tar.gz
Download Download Installation Info (PDF)
Driver Patch 7.1.1
  • Correct typo in pcan_dongle.c (Minor instead of Major) which prevented PCAN-Dongle devices to be opened from application
Download Download 7.1.1 Patch

Use the right mouse button and save as ... to download this patch file.

Version 6.24
  • PCAN-ExpressCards are now supported. On some systems hot plug support will not work correctly (kernel depending). You have to plug the PCAN-ExpressCard card before the boot-up of your computer and you can unplug the card only if power is down or the PCAN driver was unloaded
  • A bug was removed which prevents to use a fixed major number
  • Support for kernel 2.6.35
  • Fixed a problem with PCAN-PC Cards and kernel 2.6.35
  • Added the missing "()" around KERNEL_LOCATION in driver/makefile
Download Download 6.24 tar.gz
Download Download Installation Info (PDF)
Driver Patch
Patch to use the peak-linux driver-6.24 with kernel up to 2.6.37

Copy the patch into the peak-linux-driver-6.24 directory

$ cd peak-linux-driver-6.24
$ patch –p0 < peak-linux-driver-6.24.3.patch

Download Download Patch

Use the right mouse button and save as ... to download this patch file.

Version 6.20
  • Re-inserted a startup waiting time of 10 ms for PCAN-USB, to prevent a blocking of the PCAN-USB device during initialization
  • Added a compiler switch to prevent Makefile preprocessor macros to write unwanted temporary files
Download Download 6.20 tar.gz
Download Download Installation Info (PDF)

Version 6.19
  • Compiles up to kernel 2.6.34 with support for PCAN-PC Card
  • Searches for the default kernel headers for installed (k)ubuntu, OpenSuSE, and plain vanilla kernels
  • Performance improvement for PCAN-USB with netdev usage
  • Removed a bug in the Makefile which forces a reboot to use udev changes
  • Documentation update, list additional used libraries and how to blacklist the alternative peak-pci driver
  • Added a tool to set a individual device number for PCAN-USB devices
  • Removed the initial delay when starting PCAN-USB
Download Download 6.19 tar.gz
Download Download Installation Info for Version 6.19 (PDF)

Version 6.15
  • 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)

Version 6.13
  • 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
  • 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
  • Support up to Kernel 2.6.29
  • Added udev support
  • Minor bug fixes
  • Documentation update
Download Download 6.9b tar.gz
Download Download Installation Info for Version 6.9 (PDF)

Version 6.7
  • 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
  • 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
  • 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
  • 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
  • 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
  • From now on, the driver support Kernel Kernel
  • Some smaller BugFixes
Download Download 5.3 tar.gz
Download Download Installation Info for Version 5.x (PDF)

Version 5.12
  • 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
  • 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
  • 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