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.
Please note that these driver packages may not work with PTP stacks that have directly been shipped by Oregano.
For 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.
Basic Differences Between the SYN1588 PCIe NIC and the PTP270PEX
PTP270PEX
The PTP270PEX card contains an integrated single-board computer running a fully functional Linux system including a PTP software stack. The card's network port is used only by the integrated Linux system and is not visible to the operating system of the host computer in which the PCI card is installed. Therefore, the PTP270PEX card cannot be used as a standard NIC for the PC, but also does not require installation of additional PTP software to adjust the time on the card.
The function of the network connector of the PTP270PEX card is similar to the function of the antenna connector of a GPS/GNSS receiver card.
Only the Meinberg driver package for Windows is required to use the card in the same way as any other Meinberg PCI card
SYN1588 PCIe NIC
The SYN1588 PCIe NIC is a standard network interface card that can also be used by the PC's operating system.
Therefore, the Oregano NIC device driver must be installed to use the card. Additionally, a compatible PTP stack (service, daemon) must be running on the host computer to synchronize the time on the PCI card with a grandmaster.
Only if these requirements are met, the synchronized time on the SYN1588 card can be accessed additionally via the Meinberg driver software.
Admin Permissions Required
The SYN1588 device is currently only detected by driver software and applications that run with root/administrator privileges. This is a limitation of the Oregano device drivers which should be removed in future versions of the Oregano software.
Driver Software for Windows
Current versions of the Meinberg driver package for Windows support all Meinberg PCI cards as usual and also offer basic support for the SYN1588NIC cards if the Oregano driver software is also installed.
The current release version of the driver package is v3.14, which works well with SYN1588 PCIe NIC hardware rev. 1.x.
However, SYN1588 PCIe NIC hardware rev. 2.3 and newer contains some changes that prevent the programs from driver package v3.14 from properly detecting the cards.
A preliminary version of the Meinberg driver package for Windows which also detects the rev 2.3 versions of the SYN1588 NIC is already available:
The change will also be included in the next release version of the Meinberg driver package for Windows.
Also the optional command line programs from the mbgtools for Windows package support the SYN1588 PCIe NIC, if executed with root/administrator privileges.
Driver Software for Linux
Current versions of the Meinberg Driver Package for Linux also optionally support the SYN1588 PCIe NICs.
Since the driver package for Linux needs to be compiled on the target system anyway, support for the SYN1588 NICs is only compiled in if the package is explicitly built with SYN1588 support, i.e.:
make clean; make SUPP_SYN1588=1
3rd Party Applications
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 therefore 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 explained in the KB article referred to above.
— Martin Burnicki martin.burnicki@meinberg.de, last updated 2024-12-19