kb:firmware_updates:firmware_update_ptp270pex

Firmware Update PTP270PEX

The PTP270PEX card has on on-board single board computer (SBC) running Linux, and after the original SBC type wasn't available anymore from its manufacturer we had to use the successor of the SBC which is basically identical to the older version, but is a little bit faster and unfortunately required some hardware changes on the carrier board (the PCI card). This in turn required some firmware changes to account for this, so there are 2 different lines of firmware images available for the 2 different hardware versions of the PTP270PEX card.

The hardware version is printed in copper on the PTP270PEX card. The old hardware version is PTP270PEX v1x and runs with a firmware v1.x, whereas the new version is PTP270PEX v2x and runs a firmware v2.x.

All v2x cards can be upgraded to the latest v2.x firmware version, and all v1x cards can be upgraded to the latest v1.x firmware version. However, care must be taken not to apply a v1.x firmware image to a PTP270PEX v2 card, or vice versa. Doing so will make a card unusable.

For PTP270PEX v2x cards the current firmware version is v2.13 and a firmware image can be downloaded using this link:
https://www.meinberg.de/download/firmware/update-ptp270pex-2.13.tgz

For PTP270PEX v1x cards the current firmware version is v1.13 which can be downloaded here:
https://www.meinberg.de/download/firmware/update-ptp270pex-1.13.tgz

Please note some very old PTP270PEX v1x cards have been shipped with a kernel version which should eventually also be updated.

The firmware upgrade procedure is the same for both versions of the card, except that the appropriate firmware image file must be used.

A firmware upgrade image can be copied to the PTP270PEX card via the network, using the scp command. At first the IP address needs to be figured out under which the PTP270PEX card is accessible over the network.

In the examples below the card's IP address is 172.29.4.181. However, in a real environment this has to be replaced by the real IP address assigned to the card, which can be seen in the monitor program mbgmon.exe under Windows, or in the output of the mbgstatus program under Linux.

For a remote login to the card via ssh/scp you can use the following parameters:

  • user name: root
  • password: timeserver
  1. Download the appropriate firmware file, e.g. update-ptp270pex-1.13.tgz or update-ptp270pex-2.13.tgz
  2. Copy the file via the card's network interface to the card to the subdirectory /update and store the file under the new name update.tgz (see below). It is important that the name of the copied file is just update.tgz, not the original file name.

To copy the firmware upgrade file from a Linux machine to the card you can use the scp command from the openssh package which is installed in most Linux distributions by default.

Under Windows you can use the pscp command line utility from the putty software suite which makes the SSH tools available for Windows:
http://www.chiark.greenend.org.uk/~sgtatham/putty/

If the PTP270PEX card's IP address is 172.29.4.181 you can run the following command to copy the new firmware to the card. Please keep in mind that in the commands below you have to replace update-ptp270pex-{*}.tgz with the real name of the downloaded file:

Under Linux:

scp update-ptp270pex-{*}.tgz root@172.29.4.181:/update/update.tgz

Under Windows:

pscp update-ptp270pex-{*}.tgz root@172.29.4.181:/update/update.tgz

Please note the only difference between the commands above is the program name (pscp under Windows vs. scp under Linux).

If you have a very old PTP270PEX v1 card you can check the Linux kernel on the card to see if it should eventually be updated, too. If required, the kernel can also be updated before the card is rebooted.

Finally please power cycle the PC to be sure the PTP270PEX card reboots with the new kernel and updated firmware.

Some very old PTP270PEX v1 cards have been shipped with a Linux kernel version which has only limited support for multicast. If the card works fine and synchronizes properly with its grandmaster then everything is fine for the specific network environment. However, if the card doesn't synchronize with its grandmaster via PTP then the missing multicast support can be the reason, and eventually the Linux kernel on the card should be updated. The Linux kernel is not included in the usual firmware images.

First you should check the version of the Linux kernel. Open an ssh session to the card, login using the user name and password mentioned above, and type the following command:

uname -a

This should print something like:

Linux ptp270pex 2.6.15-col1 #77 Thu Oct 21 15:24:38 UTC 2010 armv5tel unknown

After this you can type exit to quit the remote ssh session.

If the date reported in the output above is older than Oct 21 2010 you might consider updating the kernel.

The kernel update must be done in 3 steps:

  1. Copy the archive file with the kernel image to the card
  2. Unpack the kernel image file from the archive file
  3. Write the kernel image to the flash disk

The current version of the kernel image can be downloaded here:
https://www.meinberg.de/download/firmware/pxa270-1.2-kernel-2.6.15-col1-2010-10-21.img.tar.gz

Step 1: Copy the kernel image archive to the PTP270PEX card's root directory. In a command line window on your PC type:

scp pxa270-1.2-kernel-2.6.15-col1-2010-10-21.img.tar.gz root@172.29.4.181:/

Please use the real IP address of the PTP270PEX card instead of the address 172.29.4.181 in the example above.

Step 2: Unpack the kernel image

In an ssh session to the PTP270PEX card run the following commands:

# cd to the root directory
cd /

# unpack the kernel image archive
tar xvzf pxa270-1.2-kernel-2.6.15-col1-2010-10-21.img.tar.gz

Step 3: Install the new kernel

# install the kernel image
dd if=pxa270-1.2-kernel-2.6.15-col1-2010-10-21.img of=/dev/mtdblock2 conv=notrunc

The dd command may take 10 seconds or so without printing anything. This is normal.

The output of the commands should look similar to:

root@ptp270pex:~# cd /
root@ptp270pex:/# tar xvzf
pxa270-1.2-kernel-2.6.15-col1-2010-10-21.img.tar.gz
pxa270-1.2-kernel-2.6.15-col1-2010-10-21.img
root@ptp270pex:/# dd if=pxa270-1.2-kernel-2.6.15-col1-2010-10-21.img
of=/dev/mtdblock2 conv=notrunc
2374+1 records in
2374+1 records out
root@ptp270pex:/#

After this the new kernel image (pxa270*.img) and its archive (pxa270*.tar.gz) can be deleted to free some space in the file system:

rm /pxa270*.img /pxa270*.tar.gz

Finally reboot the computer and the PTP270PEX card.

After reboot, the version reported by “uname -a” in an ssh session should be:

Linux ptp270pex 2.6.15-col1 #77 Thu Oct 21 15:24:38 UTC 2010 armv5tel unknown

After the firmware update and/or a kernel update have been installed on the card the computer needs to be power cycled. Be sure really to power cycle the computer, not only reboot it, to make sure the Linux system on the PTP270PEX card also reboots.

The firmware image is unpacked and installed when the card starts up again after it has been power cycled.


Martin Burnicki 2017-07-05 12:41

  • kb/firmware_updates/firmware_update_ptp270pex.txt
  • Last modified: 2020-09-21 12:44
  • by 127.0.0.1