linuxptpをUbuntuにインストールしてみた。

本サイトはアフィリエイト広告を利用しています。
産業用イーサネット

PTP通信をするために、linuxptpをUbuntuにインストールしました。

ハードウェアタイムスタンプを使って、PTP通信することが可能です。

またソフトウェアタイムスタンプにも切り替えれる旨を紹介します。

 

スポンサーリンク

linuxptpをUbuntuにインストールしてみた

Ubuntuにlinuxptpをインストールしました。下記コマンドで対応できます。

$ sudo apt install linuxptp

 

LANカード(NIC)

ハードウェアタイムスタンプが可能なLANカード(NIC)を使用しています。

LANカードを増設!Linuxで認識したか確認してみた

LANカードを増設!Linuxで認識したか確認してみた
Linux(Ubuntu)のデスクトップにLANカードを増設しました。 増設前と後でifconfigを行い、どのように認識されるのか確認しています。 PCへの取り付け方法含めて紹介します。

 

PTP Hardware Clock: 0

$ ethtool -T enp4s0
Time stamping parameters for enp4s0:
Capabilities:
	hardware-transmit     (SOF_TIMESTAMPING_TX_HARDWARE)
	software-transmit     (SOF_TIMESTAMPING_TX_SOFTWARE)
	hardware-receive      (SOF_TIMESTAMPING_RX_HARDWARE)
	software-receive      (SOF_TIMESTAMPING_RX_SOFTWARE)
	software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
	hardware-raw-clock    (SOF_TIMESTAMPING_RAW_HARDWARE)
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
	off                   (HWTSTAMP_TX_OFF)
	on                    (HWTSTAMP_TX_ON)
Hardware Receive Filter Modes:
	none                  (HWTSTAMP_FILTER_NONE)
	all                   (HWTSTAMP_FILTER_ALL)

 

ptp4lのオプション

linuxptpをインストールすることで、ptp4lが使えるようになります。

(ptp4l…PTP通信ができるコマンド)

ヘルプのタイムスタンプ(Time Stamping)みると、ハードウェアがデフォルトになっています。

-H HARDWARE (default)

-S SOFTWARE

$ ptp4l --help
ptp4l: unrecognized option '--help'

usage: ptp4l [options]

 Delay Mechanism

 -A        Auto, starting with E2E
 -E        E2E, delay request-response (default)
 -P        P2P, peer delay mechanism

 Network Transport

 -2        IEEE 802.3
 -4        UDP IPV4 (default)
 -6        UDP IPV6

 Time Stamping

 -H        HARDWARE (default)
 -S        SOFTWARE
 -L        LEGACY HW

 Other Options

 -f [file] read configuration from 'file'
 -i [dev]  interface device to use, for example 'eth0'
           (may be specified multiple times)
 -p [dev]  PTP hardware clock device to use, default auto
           (ignored for SOFTWARE/LEGACY HW time stamping)
 -s        slave only mode (overrides configuration file)
 -l [num]  set the logging level to 'num'
 -m        print messages to stdout
 -q        do not print messages to the syslog
 -v        prints the software version and exits
 -h        prints this message and exits

 

簡単なptp4lのテスト

LANカード(NIC)には何も接続していない状態です。

link down中ですが、タイムスタンプのオプションの違いを確認してみます。

 

Hardware Time Stamp

デフォルトのHardware Time Stampでのテストです。

PTPクロックが選択されていることが分かります。

ptp4l[628.972]: selected /dev/ptp0 as PTP clock

$ sudo ptp4l -m -i enp4s0
ptp4l[628.972]: selected /dev/ptp0 as PTP clock
ptp4l[628.973]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[628.973]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[628.974]: port 1: link down
ptp4l[628.974]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
ptp4l[628.974]: selected local clock 6cb311.fffe.529d82 as best master
ptp4l[628.974]: assuming the grand master role

 

Software Time Stamp

-Sのオプションを付けた、Software Time Stampでのテストです。

ハードウェアと違い、PTPクロックを選択したメッセージは無いことが分かります

$ sudo ptp4l -m -i enp4s0 -S
ptp4l[912.628]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[912.628]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[912.628]: port 1: link down
ptp4l[912.628]: port 1: LISTENING to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED)
ptp4l[912.629]: selected local clock 6cb311.fffe.529d82 as best master
ptp4l[912.629]: assuming the grand master role

 

まとめ

linuxptpをインストールして、タイムスタンプについて少し確認してみました。

 

下記記事で、PTP対応のLANカードを使用した通信テストを紹介しています。

是非皆さまもPTP通信をテストしてみて下さい。

IEEE-1588/PTP対応のLANカード(NIC)を動かしてみた

IEEE-1588/PTP対応のLANカード(NIC)を動かしてみた
IEEE-1588/PTP対応のLANカード(NIC)を購入してみました。 実際にPCにカードを取り付けて、PTPの動作確認まで実施しています LANカード(NIC)の選定から、PTP通信までの内容を紹介します。

コメント