kb:driver_software:driver_support_for_syn1588_pcie_nic_cards

Driver Support for SYN1588 PCIe NIC Cards

The Oregano Systems syn1588® PCIe NIC is a PCI Express Gbit network interface card with IEEE1588 hardware support which can be used as a replacement for the Meinberg PTP270PEX card which is no longer available.

Since Meinberg has acquired Oregano in February 2019 there are ongoing efforts to add support for the SYN1588 PCIe NIC cards to the Meinberg driver software package for Windows and the Meinberg driver software package for Linux.

Currently, there are pre-release versions of the Meinberg driver software packages available which already supports some commonly used Meinberg API calls with the SYN1588 PCIe NIC cards.


:!: Please note that these driver packages may not work with PTP stacks that have directly been shipped by Oregano. For now now, they work only with particular versions of the PTP stack shipped by Meinberg, but of course Meinberg and Oregano are working together to remove this limitation.

For version compatibility details please see the notes for the specific driver packages below.


The PTP270PEX card includes an on-board single-board computer which runs a full-featured Linux system including a PTP software stack. The network port of the card is only used by the on-board Linux system, and thus is not visible to the operating system of the host computer into which the PCI card is installed. So the PTP270PEX card can not be used as a standard NIC for the PC, but also doesn't requires any additional PTP software to be installed to adjust the time on the card.

The SYN1588 PCIe NIC is a standard network interface card that can also be used by the PC's operating system. and thus the Oregano NIC device driver needs to be installed. In addition the associated PTP software has to be installed and executed on the PC to provide the PTP functionality, and adjust the time on the SYN1588 PCIe NIC card from a PTP grandmaster. Only if this is the case, the Meinberg driver software can be used in addition to access the synchronized time on the SYN1588 card.


The SYN1588 device is currently only detected by driver software and applications that run as root/administrator. This is a limitation of the Oregano device drivers which should be removed in future versions of the Oregano software.

For now, some status information (e.g. time on the card synchronized, or not) has to be retrieved from a shared memory segment that is periodically updated by the running PTP stack.

Specifically on Windows, the shared memory has to be created in the global namespace to allow access from different user processes, or from both user processes and services that run in the background. Unfortunately the original PTP stack from Oregano doesn't support this, yet, so the PTP stack provided by Meinberg has to be used instead if the Meinberg driver package is to be used, too.


A pre-release version of the Meinberg Driver Package for Windows is available which supports all Meinberg PCI cards as usual, and in addition provides basic support for the SYN1588NIC cards, if the Oregano driver software is also installed:


This version of the Meinberg driver package works with the Meinberg PTP stack for Windows up to v2.2.5, which contains

  • ptp.exe v2.4.0
  • lsync.exe v2.1.0

It may not work with PTP stacks that have been directly shipped by Oregano.


Driver Release Notes

  • dkwin-3.09.3–2019-12-16
    Fixed a bug where the monitor program (mbgmon.exe) failed to open the SYN1588 device recursively, and thus the SYN1588 card was not included to the device selection list if it already was the selected device.
  • dkwin-3.09.2–2019-10-29
    Fixed a bug that existed in all earlier versions of the driver package for Windows, where the 64 bit versions of the DLLs were compiled with a wrong structure alignment. As a consequence, some API calls may have failed on some current Windows versions.
  • dkwin-3.09.1–2019-07-22
    Don't clear shared memory after creation, which would remove existing status information.
    Disabled some debug output in release builds.
  • dkwin-3.09–2019-07-11
    First version with basic support for SYN1588.


There is also a version of the mbgtools for Windows available which can be used with the driver package above:

An overview of the included tools can be found on this page.

Here's a list of the available ZIP files:


A pre-release version of the Meinberg Driver Package for Linux is available which supports all Meinberg PCI cards as usual, and in addition provides basic support for the SYN1588NIC cards, if the Oregano driver software is also installed:


This version of the Meinberg driver package works with the Meinberg PTP stack for Linux up to v 1.5.0. It may not work with PTP stacks that have been directly shipped by Oregano.


Driver Release Notes

  • mbgtools-lx+syn1588-4.3.1-2019-08-01
    Disabled some debug output in the release builds.
  • mbgtools-lx+syn1588-4.3.0-2019-06-03
    First driver package with SYN1588 support.


Driver software support for the SYN1588 PCIe NIC cards requires some extensions in the implementation of the existing API functions, which now also have to know how to access the SYN1588 cards.

The API calls exported by the driver package are exactly the same as those provided by earlier versions of the Meinberg driver packages which didn't support the SYN1588 PCIe NIC cards, so there's no need to change the way existing API calls have been used in applications.

General information on 3rd party application development using the Meinberg API for bus level devices can be found in the KB article Meinberg Driver And API Concepts.

For Linux, a set of shared object libraries and associated header files is installed with the driver package and can be used as mentioned in the KB article.

For Windows, the files in the mbglib directory of the mbgtools source code package provide a set of header files and import libraries, and thus can be used as a current SDK for 3rd party software. Just copy the mbglib directory to your project, update the header and library search paths appropriately, and use the API functions as explaned in the KB article referred to above.


Martin Burnicki martin.burnicki@meinberg.de 2020-01-30

  • kb/driver_software/driver_support_for_syn1588_pcie_nic_cards.txt
  • Last modified: 2020-09-21 12:45
  • by 127.0.0.1