Device Driver Linux (NXDRV-LINUX)

Device Driver Linux (NXDRV-LINUX)

The Linux driver is now available under https://github.com/HilscherAutomation/nxdrvlinux/

To get the latest changes, please download the driver hosted on github.

Releases

Current release:

For previous versions see version history.

Supported Operating Systems


The driver should support all architectures provided by the linux kernel. The following table shows the tested architectures only

General Information

Features

  • Based on the cifX Toolkit source
  • x86 / x64 and Armv7 / aarch64 since kernel version 4.x
  • Unlimited number of cifX boards supported
  • Support for NXSB-PCA or NX-PCA-PCI, netPLC, netJACK boards included

  • Interrupt notification for applications
  • Support of 2nd Memory Window for PCI based device offering MRAM support

  • Setting the device time during start-up if time handling is supported by the device

  • DMA data transfer for I/O data (only PCI based cifX PC cards)
  • (red star) Support for netX90 based devices
  • (red star) Support for CIFX M.2 cards added

Limitations

  • No Interrupt support for NXSB-PCA and NX-PCA-PCI boards
  • On Big Endian machines the user is responsible for converting send/receive packets from/to Little Endian. This is NOT automatically done inside the driver / toolkit.
  • Interrupt support only available for devices handled through uio_netx kernel module
  • Only one application can access a card simultaneously. For multi-application access to a single card, a special application needs to be implemented by user.
  • Online diagnostics access via SYCON.net needs a TCP/IP Server functionality integrated into the user application. An example stand alone server is offered with the linux driver

For more details click here.

Description

The cifX Device Driver for linux, is splitted in a kernel module and a user space library. The kernel module is based on the generic uio module and is responsible for cifX hardware detection and preparation to allow mapping the device memory (DPM) to user space. The User space driver libcifX is an user mode driver providing the whole device specific functionality. The user space library offers the same API as the cifX driver API for Windows.

For more details click here.

Road map

For more details click here.

Starting with V1.2.0.0 the support of autotools build method is to be discontinued. Future releases of the cifX Device Driver for Linux will not longer support the autotools build method. Starting with this release of the cifX Device Driver for Linux, CMake is supported instead.

Documentation