PHC_CTL(8) System Manager's Manual PHC_CTL(8)

phc_ctl - کنترل مستقیم ساعت سخت‌افزاری دستگاه PTP

phc_ctl [ گزینه‌ها ] <دستگاه> [ دستورات ]

phc_ctl برنامه‌ای است که می‌تواند برای کنترل مستقیم یک دستگاه ساعت سخت‌افزاری PTP (موسوم به PHC) استفاده شود. به طور معمول، این ابزار برای اهداف اشکال‌زدایی به کار می‌رود و کاربرد چندانی برای کنترل عمومی دستگاه ندارد. برای کنترل عمومی دستگاه‌های ساعت PHC، استفاده از phc2sys (8) توصیه می‌شود.

<دستگاه> می‌تواند CLOCK_REALTIME، هر دستگاه /dev/ptpX، یا هر دستگاه اترنت باشد که از فراخوانی get_ts_info در ابزار ethtool پشتیبانی می‌کند.

تنظیم حداکثر سطح پیام‌های syslog که باید چاپ شوند یا به ثبت‌کننده رویدادهای سیستم ارسال گردند. مقدار پیش‌فرض 6 (LOG_INFO) است.
عدم ارسال پیام‌ها به syslog. به طور پیش‌فرض پیام‌ها ارسال خواهند شد.
عدم چاپ پیام‌ها در خروجی استاندارد. به طور پیش‌فرض پیام‌ها چاپ می‌شوند.
نمایش پیام راهنما.
چاپ نسخه نرم‌افزار و خروج.

phc_ctl با دریافت دستوراتی کنترل می‌شود که پارامترهای اختیاری یا اجباری می‌گیرند. این دستورات (که در زیر شرح داده شده‌اند) جنبه‌های مختلف دستگاه ساعت PHC را کنترل می‌کنند. این دستورات برای بازرسی یا اشکال‌زدایی درایور PHC مفید هستند، اما ممکن است عوارض جانبی نامطلوبی بر نمونه‌های در حال اجرای ptp4l (8) یا phc2sys (8) داشته باشند.

تنظیم زمان ساعت PHC بر روی مقدار مشخص‌شده به ثانیه. در صورت ارائه نشدن مقدار، به طور پیش‌فرض زمان CLOCK_REALTIME خوانده می‌شود.
دریافت زمان کنونی دستگاه ساعت PHC.
تنظیم ساعت PHC به میزان ثانیه‌های ارائه‌شده. این آرگومان الزامی است.
تنظیم فرکانس ساعت PHC بر اساس بخش در میلیارد (ppb) مشخص‌شده. در صورت ارائه نشدن مقدار، تلاش می‌کند فرکانس فعلی را خوانده و گزارش دهد.
ارسال مقداری بر حسب ثانیه به کلیدواژه کنترل فاز ساعت PHC. این آرگومان الزامی است.
مقایسه دستگاه ساعت PHC با CLOCK_REALTIME با استفاده از بهترین روش موجود.
نمایش قابلیت‌های دستگاه. این دستور پیش‌فرض در صورت وارد نکردن هیچ دستوری است.
متوقف کردن فرآیند برای مدت زمان مشخص‌شده و سپس بیدار شدن و ادامه کار. این دستور برای بررسی سلامت اولیه کارکرد مورد انتظار ساعت PHC مفید است.

آرگومان‌های مشخص‌شده بر حسب ثانیه به عنوان مقادیر اعشاری با دقت مضاعف خوانده می‌شوند و تا نانوثانیه مقیاس می‌یابند. این بدان معناست که ارائه مقدار 5.5 به معنی ۵ و نیم ثانیه است و امکان تعیین مقادیر بسیار دقیق برای زمان را فراهم می‌کند.

خواندن زمان فعلی ساعت از دستگاه:

phc_ctl /dev/ptp0 get

تنظیم زمان ساعت PHC بر روی CLOCK_REALTIME:

phc_ctl /dev/ptp0 set

تنظیم زمان ساعت PHC بر روی 0 (ثانیه‌های سپری‌شده از مبدا زمانی Epoch):

phc_ctl /dev/ptp0 set 0.0

بررسی سریع سلامت تغییر فرکانس با افزایش ۱۰ درصدی فرکانس انحراف، بازنشانی ساعت به زمان 0.0، انتظار به مدت ۱۰ ثانیه، و سپس خواندن زمان. زمان بازخوانی‌شده باید (تقریباً) ۱۱ ثانیه باشد، زیرا ساعت ۱۰٪ سریع‌تر به جلو رانده شده است:

phc_ctl /dev/ptp0 freq 100000000 set 0.0 wait 10.0 get

ptp4l(8) phc2sys(8)

June 2014 linuxptp