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:
- On Windows, stop the Meinberg time adjustment service using the monitor program
mbgmon.exe
, then also terminate the monitor program. Now open the device manager, look up the PCI card in groupRadio Clock
, right-click on the device name and selectdisable
ordeactivate
.
- Under Linux, stop processes like
mbgsvcd
orntpd
which may be accessing the device, then unload the kernel module with the commandrmmod mbgclock
(run as root).
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:
- For older PCI cards there's a boot button behind a hole in the slot cover, which needs to be pressed using a pencil or so
- On some 19 inch cards with display the
MENU
button in the front panel needs to be pressed during power-up
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 Windows, open the device manager, look up the PCI card in section
Radio Clock
, right-click on the device name and selectenable
oractivate
, then run the monitor programmbgmon.exe
to restart the time adjustment service via its menu.
- On Linux, load the kernel module with the command
modprobe mbgclock
, then restart services likembgsvcd
orntpd
.
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:
GNS181PEX
GPS180PEX
GLN180PEX
PZF180PEX
TCR180PEX
External modules with SAM3U microcontroller:
GNS181
GRC181
GRC180
GPS180
GPS180HS
PZF180
TCR180
— Martin Burnicki martin.burnicki@meinberg.de 2019-06-20