Table of Contents

Firmware Updates for Meinberg Modules

Here are some instructions how to upgrade the firmware of some Meinberg standalone modules and bus level devices, e.g. PCI cards.

:!: This information is not applicable to LANTIME servers or similar appliances.

The PTP270PEX isn't based on a single microcontroller like most other PCI cards. Instead, it includes a complete single board computer running a Linux system. Thus the update procedure is completely different than for other PCI cards described here. For details see Firmware Update PTP270PEX.

A firmware upgrade will temporarily disable the usual operation of the device, so the upgrade should be installed only at times when no dependent services are affected, and for example a computer with a PCI card to be updated can be rebooted.

Prerequisites

The Firmware Image File

:!: A firmware image is created for a particular microprocessor type assembled on a specific hardware only.

If a wrong firmware image is installed on a device then the device may stop working!. You should have received a download link for an appropriate firmware image file for your device.

Usually the download file is a .zip archive file which has to be unpacked first. For example, a downloaded firmware image archive file is named gps180pex-2.04.zip, and the file pex180.204 unpacked from this .zip file has to be used with the 'mbgflash' program.

Together with the firmware download link you should have received information on the appropriate processor type to be selected for the update.


The 'mbgflash' Program

The 'mbgflash' program is used to install a new firmware on a specific device. The current version can be downloaded here:

Unfortunately the program is only available for Windows, but a serial connection to the device is required anyway, so this program can even be run e.g. on a Windows laptop to upgrade a PCI card that is installed in a different Windows or Linux machine.


The Serial Connection

A serial connection is required between the machine that runs the the 'mbgflash' program.

If a device provides several serial ports then only the device's port COM0 can be used to upgrade the firmware.

For PCI cards this is usually the 9 pin D-type connector assembled in the card's slot cover, and a standard cross-over/null modem cable with female connectors at both ends has to be used to connect the card to the machine running the 'mbgflash' program.

A simple female to female gender changer is not suitable. It makes the connectors fit physically, but unlike a crossover cable it doesn't connect the output from one side to the input of the other side, and vice versa, so this doesn't work.

For other external devices the type of connector and thus the required cable may depend on the exact device type.

If the Windows machine to be used for the firmware update doesn't provide a native serial port then a standard USB-to-serial adapter can be used.

Before proceeding with the firmware upgrade, the gpsmon32 program can optionally be used to check the serial connection. If the program displays any device information, the serial connection is OK, and the mbgflash program should also work immediately.


Stop Services and Unload Drivers

If you are upgrading a bus-level device (e.g. a PCI card) then make sure no program is accessing the device via the kernel driver during the update:

Installing the Firmware Upgrade

Preparing the 'mbgflash' Program

Start the mbgflash program and select the appropriate Processor type for your device from the associated selection box. You should have received the correct processor type name together with the firmware image file.

Then open the Comport menu to select the computer's serial port to which the device has been connected. Don't change the baud rate setting which has been preselected depending on the selected processor type.

Finally open the File –> Open menu (or press F2) to open and load the unpacked firmware image file.


Bootstrap Mode

Usually the microcontroller built into the device has to be put into a specific bootstrap mode before the built-in flash memory can be updated.

Most current devices are based on the SAM3U (ARM) microcontroller where the bootstrap loader is simply activated by the 'mbgflash' program.

However, some older devices have to be manually put into bootstrap mode by pressing a specific button or key at the device:


Start the Firmware Update

Once all steps above have been completed, click on on the FLASH button in the right part of the flash program window to start the update.

Normally the update should finish after a couple of seconds. See the progress bar. If unexpectedly an error should occur then don't worry: the bootstrap loader is hardcoded into the microcontoller and can not be deleted, not even intentionally.

So you can just go back to check for the correct settings, re-enable bootstrap mode, if required, and try once more.

After the Firmware Update

After the firmware update has finished successfully the device should be reset and start working with the new firmware.


Load Drivers and Start Services

If a bus level device has been updated then the driver has to be loaded again, so programs can access the device again, and affected services have to be started:

On some machines this may not work as expected because the PCI device was inaccessible during the update. In this case you should simply reboot the machine.

Current Devices with SAM3U (ARM) Microcontroller

PCI Express cards with SAM3U microcontroller:

External modules with SAM3U microcontroller:


Martin Burnicki martin.burnicki@meinberg.de 2019-06-20