CEC-CTL(1) User Commands CEC-CTL(1)

cec-ctl - ابزاری برای کنترل دستگاه‌های cec

cec-ctl [-h] [-d <dev>] [بسیاری از گزینه‌های دیگر]

ابزار cec-ctl برای کنترل دستگاه‌های cec به کار می‌رود. این ابزار قادر است تقریباً هر جنبه‌ای از این دستگاه‌ها را در برگیرنده کامل API مربوط به CEC کنترل کند.

ساده‌ترین روش برای آزمایش سریع یک آداپتور CEC متعلق به یک خروجی HDMI به این صورت است:

cec-ctl -d/dev/cecX --playback -S

اگر خروجی HDMI دستگاه شما از CEC پشتیبانی کند، از این دستور استفاده خواهید کرد: دستگاه شما ویدیو پخش خواهد کرد، بنابراین یک دستگاه CEC Playback است.

و برای یک ورودی HDMI:

cec-ctl -d/dev/cecX --tv -S

اگر دستگاه شما ورودی HDMI دارد، یعنی مانند یک TV عمل می‌کند، از این دستور استفاده خواهید کرد.

هر دو دستور آداپتور CEC را پیکربندی کرده و توپولوژی CEC را نمایش می‌دهند. گزینه‌های '--playback' و '--tv' دستگاه شما را پیکربندی می‌کنند، و مشخص‌کننده دستگاهی که با آن ارتباط برقرار می‌کنید نیستند.

برای قرار دادن یک نمایشگر در حالت آماده‌به‌کار (standby) از دستور زیر استفاده کنید:

cec-ctl -d/dev/cecX --to 0 --standby

برای بیدار کردن نمایشگر:

cec-ctl -d/dev/cecX --to 0 --image-view-on

برای تغییر ورودی TV به خروجی HDMI ما (نشانی فیزیکی را با آنچه دستور cec-ctl -d/dev/cecX گزارش داده جایگزین کنید):

cec-ctl -d/dev/cecX --to 0 --active-source phys-addr=1.0.0.0

به جای '-d/dev/cecX' می‌توانید آن را به صورت '-dX' نیز بنویسید. و به جای '--to 0' نیز می‌توانید آن را به صورت '-t0' بنویسید.

فهرست کردن تمام دستگاه‌های cec.
استفاده از دستگاه <dev> به عنوان دستگاه CEC. اگر <dev> یک عدد باشد، از /dev/cec<dev> استفاده می‌شود.
استفاده از یک دستگاه cec با نام درایور <drv>، همان‌طور که توسط ioctl با نام CEC_ADAP_G_CAPS بازگردانده می‌شود. این گزینه می‌تواند با -a ترکیب شود تا یک دستگاه CEC را بدون نیاز به اتکا بر شماره نود دستگاه به‌طور یکتا شناسایی کند.
استفاده از یک دستگاه cec با نام آداپتور <adap-name>، همان‌طور که توسط ioctl با نام CEC_ADAP_G_CAPS بازگردانده می‌شود. این گزینه می‌تواند با -D ترکیب شود تا یک دستگاه CEC را بدون نیاز به اتکا بر شماره نود دستگاه به‌طور یکتا شناسایی کند.
فعال کردن گزارش‌دهی پرجزئیات (verbose).
نمایش اطلاعات نسخه.
نمایش برچسب‌های زمانی بر اساس زمان واقعی (wall-clock). این گزینه همچنین گزارش‌دهی پرجزئیات را فعال می‌کند.
چاپ پیام راهنما.
استفاده از این نشانی فیزیکی. این نشانی می‌تواند یک عدد (مانند 0 یا 0x11b1) باشد یا در قالب a.b.c.d مشخص شود که در آن هر مؤلفه یک مقدار هگزادسیمال بین 0-f است (مانند 0.0.0.0 یا 1.1.b.1).
تجزیه فایل EDID داده‌شده (در قالب باینری خام) و استخراج نشانی فیزیکی. اگر فایل EDID وجود نداشته باشد یا شامل نشانی فیزیکی نباشد، نشانی فیزیکی را بی‌اعتبار می‌کند.
تجزیه فایل EDID داده‌شده (در قالب باینری خام) و استخراج نشانی فیزیکی. اگر فایل EDID وجود نداشته باشد یا شامل نشانی فیزیکی نباشد، نشانی فیزیکی را بی‌اعتبار می‌کند. هر ۱۰۰ میلی‌ثانیه یک‌بار تغییرات این فایل EDID را به صورت دوره‌ای بررسی کرده (poll) و در صورت تغییر، نشانی فیزیکی را به‌روزرسانی می‌کند.

این قابلیت روشی فراهم می‌کند تا دانگل‌های USB CEC از نوع Pulse-Eight (یا موارد مشابه) از رویدادهای قطع و وصل مجدد HDMI مطلع شوند.

بررسی دوره‌ای در پس‌زمینه انجام می‌شود در حالی که cec-ctl سایر اقدامات درخواستی (مانند ارسال پیام‌ها، انتظار برای پاسخ‌ها و غیره) را پردازش می‌کند و زمانی که همه آن‌ها انجام شد، cec-ctl تا زمانی که کاربر آن را متوقف کند (Ctrl-C) به بررسی دوره‌ای ادامه خواهد داد.

استفاده از این نام OSD. حداکثر طول ۱۴ نویسه است.
استفاده از این شناسه سازنده (vendor ID). شناسه سازنده عددی از 0x0 تا 0xffffff است.
نمایش نشانی فیزیکی. در صورت نامعتبر بودن، نشانی فیزیکی به عنوان f.f.f.f گزارش خواهد شد. برای اسکریپت‌ها مفید است، مانند: la=`cec-ctl -s -x`
نمایش اولین نشانی منطقی پیکربندی‌شده یا هیچ در صورتی که دستگاه پیکربندی نشده باشد. برای اسکریپت‌ها مفید است، مانند: la=`cec-ctl -s -l`
نمایش تمام نشانی‌های منطقی پیکربندی‌شده یا هیچ در صورتی که دستگاه پیکربندی نشده باشد. برای اسکریپت‌ها مفید است، مانند: las=`cec-ctl -s -L`
پاک کردن تمام نشانی‌های منطقی، و رها کردن دستگاه CEC به صورت پیکربندی‌نشده.
به‌طور پیش‌فرض، هنگام ارسال یک پیام CEC که انتظار دریافت پاسخ دارد، این ابزار منتظر آن پاسخ می‌ماند. با استفاده از این گزینه، پیام بدون انتظار برای پاسخ ارسال خواهد شد. این گزینه بر روی پیام‌های پس از آن اعمال می‌شود. مانند یک کلید دومنظوره (toggle) عمل می‌کند، بنابراین پس از آن‌که برای بار دوم آن را مشخص کنید، پیام‌های بعدی دوباره منتظر پاسخ خواهند ماند.
ارسال پیام‌ها در حالت غیرمسدودکننده (non-blocking).
ارسال پیام به نشانی منطقی مشخص‌شده (0-15).
ارسال پیام از نشانی منطقی مشخص‌شده. استفاده از این گزینه تنها در صورتی لازم است که چندین نشانی منطقی تصاحب شده باشند. به‌طور پیش‌فرض از اولین نشانی منطقی اختصاص‌یافته استفاده خواهد شد.
نمایش پیام خام CEC در قالب مبنای شانزده (hex).
نادیده گرفتن بخش خروجی Driver Info.
نمایش توپولوژی CEC، و شناسایی اینکه کدام دستگاه‌های CEC دیگر روی گذرگاه CEC حضور دارند.
ارسال یک پیام poll.
ردیابی (trace) تمام ioctlهای فراخوانی‌شده. برای اشکال‌زدایی مفید است.
استفاده از CEC نسخه 1.4 به جای 2.0 (پیش‌فرض).
اجازه بازگشت به حالت Unregistered در صورتی که تمام نشانی‌های منطقی تصاحب شده باشند. به‌طور پیش‌فرض، آداپتور به صورت پیکربندی‌نشده باقی خواهد ماند.
غیرفعال کردن عبور سیگنال‌های RC. به‌طور پیش‌فرض پیام‌های کنترل از راه دور CEC به صورت فشرده شدن کلیدهای ورودی منتقل می‌شوند (هنگام فراخوانی ioctl با نام CEC_ADAP_S_LOG_ADDRS، پرچم CEC_LOG_ADDRS_FL_ALLOW_RC_PASSTHRU تنظیم می‌شود)، اما می‌توان با استفاده از این گزینه جلوی این کار را گرفت.
پاسخ برای پیروان (followers) نیز ارسال خواهد شد. به‌طور پیش‌فرض، پاسخ تنها به دنبال‌کننده‌ای که پیام CEC را آغاز کرده فرستاده می‌شود. اما اگر پیروان دیگری نیز در حال اجرا باشند، با ارائه این گزینه آن‌ها نیز پاسخ را دریافت خواهند کرد.
تنظیم زمان مهلت انتظار پاسخ به میلی‌ثانیه (پیش‌فرض 1000 میلی‌ثانیه است).
پیکربندی آداپتور CEC به عنوان یک TV.
پیکربندی آداپتور CEC به عنوان یک دستگاه ضبط و پخش.
پیکربندی آداپتور CEC به عنوان یک دستگاه دریافت‌کننده (tuner).
پیکربندی آداپتور CEC به عنوان یک دستگاه پخش (playback).
پیکربندی آداپتور CEC به عنوان یک دستگاه سیستم صوتی.
پیکربندی آداپتور CEC به عنوان یک دستگاه پردازنده (processor).
پیکربندی آداپتور CEC به عنوان یک سوئیچ خالص CEC.
پیکربندی آداپتور CEC به عنوان یک دستگاه فقط CDC.
پیکربندی آداپتور CEC به عنوان یک دستگاه ثبت‌نشده (unregistered).
اعلام قابلیت ضبط صفحه تلویزیون (Record TV Screen)..TP --feat-set-osd-string اعلام قابلیت Set OSD String.
اعلام قابلیت Deck Control.
اعلام قابلیت Set Audio Rate.
اعلام قابلیت ARC Tx برای مقصد (sink).
اعلام قابلیت ARC Rx برای مبدأ (source).
اعلام RC TV Profile 1.
اعلام RC TV Profile 2.
اعلام RC TV Profile 3.
اعلام RC TV Profile 4.
اعلام اینکه مبدأ RC دارای Dev Root Menu است.
اعلام اینکه مبدأ RC دارای Dev Setup Menu است.
اعلام اینکه مبدأ RC دارای Contents Menu است.
اعلام اینکه مبدأ RC دارای Media Top Menu است.
اعلام اینکه مبدأ RC دارای Media Context Menu است.
آغاز پایش ترافیک CEC. این گزینه پیام‌های همگانی (broadcast)، پیام‌های هدایت‌شده به این آداپتور CEC و پیام‌های ارسال‌شده توسط این آداپتور CEC را پایش می‌کند. پیام‌های مستقیم میان سایر دستگاه‌های CEC پایش نمی‌شوند. این گزینه به دسترسی ریشه (root) نیاز دارد.
آغاز پایش تمامی ترافیک CEC. این گزینه تمام پیام‌های CEC، از جمله پیام‌های مستقیم میان سایر دستگاه‌های CEC را پایش می‌کند. این گزینه به دسترسی ریشه (root) نیاز دارد. همهٔ دستگاه‌های CEC از این حالت پایش پشتیبانی نمی‌کنند؛ در صورت عدم پشتیبانی، به حالت پایش عادی بازگردانی می‌شود.
آغاز پایش و تحلیل تغییرات سطح‌پایین پایهٔ (pin) سیگنال CEC. این عمل تنها زمانی امکان‌پذیر است که دستگاه دارای قابلیت CEC_CAP_MONITOR_PIN باشد. این گزینه به دسترسی ریشه (root) نیاز دارد. در حالت پایش پین، تمامی تغییرات 0->1 و 1->0 پین CEC پایش و تحلیل می‌شوند. این ویژگی در عمل یک تحلیل‌گر ارزان‌قیمت گذرگاه CEC است.
پایش به مدت تعداد ثانیه‌های مشخص‌شده و سپس خروج. مقدار پیش‌فرض (0) پایش به صورت نامحدود است.
نادیده گرفتن پیام‌ها از نشانی منطقی <la> و کد دستوری <opcode> هنگام پایش. می‌توان از "all" برای <la> یا <opcode> جهت مطابقت با تمام آدرس‌های منطقی یا opcodeها استفاده کرد. برای نادیده گرفتن پیام‌های نظرسنجی (poll) از "poll" به عنوان <opcode> استفاده کنید.
ذخیرهٔ رویدادهای پین CEC در فایل مشخص‌شده. این رویدادها را می‌توان بعداً از طریق گزینهٔ --analyze-pin خواند و تحلیل کرد. برای نوشتن در stdout به جای فایل، از - استفاده کنید.
خواندن و تحلیل رویدادهای پین CEC از فایل مشخص‌شده. برای خواندن از stdin به جای فایل، از - استفاده کنید.
این گزینه قابلیت اطمینان CEC را با ارسال دستور <Give Physical Addr> تا سقف <secs> ثانیه (یا به صورت نامحدود اگر <secs> برابر 0 باشد) و بررسی یکسان بودن همیشگی پاسخ می‌آزماید. از آنجا که پاسخ یک پیام همگانی (broadcast) است، در عمل هرگز Nack نمی‌شود و بنابراین هرگونه خطای بیتی ناشی از کیفیت ضعیف سیگنال CEC به وضوح نمایان خواهد شد. پیام به نشانی منطقی مشخص‌شده توسط --to ارسال خواهد شد.
این گزینه رفتار چرخهٔ آماده‌به‌کار-بیداری نمایشگر را می‌آزماید. این گزینه تا سقف <n> بار (پیش‌فرض 15) به انتظار تغییر وضعیت نظرسنجی (poll) می‌کند. در صورت عدم موفقیت، پیش از تلاش مجدد به مدت <secs> ثانیه (پیش‌فرض 10) درنگ می‌کند. اگر مقدار <hpd-may-be-low> برابر 1 باشد، سیگنال HPD می‌تواند در وضعیت آماده‌به‌کار سطح پایین (low) باشد.
این گزینه یک آزمون تنش (stress test) را برای نمایشگر اجرا می‌کند: با استفاده از دستورات CEC یعنی Standby و Image View On، نمایشگر را <count> بار وارد حالت آماده‌به‌کار کرده و از آن خارج می‌کند. اگر مقدار <count> برابر 0 باشد، هرگز متوقف نخواهد شد. این گزینه تا سقف <n> بار (پیش‌فرض 30) به انتظار تغییر وضعیت نظرسنجی می‌کند. اگر مقدار <maxsecs> غیرصفر باشد (پیش‌فرض 0 است)، قبل از ارسال هر پیام <Standby> یا <Image View On> به مدت زمان تصادفی بین <minsecs> (پیش‌فرض 0) و <maxsecs> ثانیه درنگ می‌کند. اگر <seed> تعیین شده باشد، مقدار اولیهٔ تصادفی‌ساز (seed) به جای استفاده از زمان فعلی، روی آن مقدار تنظیم می‌شود. اگر <reps> تعیین شده باشد، دستورات <Image View On> و <Standby> را تا سقف <reps> بار تکرار می‌کند. توجه داشته باشید که این آزمون باید بدون هیچ‌گونه تکراری به درستی عمل کند. در صورتی که برای گذراندن این آزمون به مقدار غیرصفر برای <reps> نیاز باشد، نشان‌دهندهٔ وجود یک مشکل است. اگر <secs1> مشخص شده باشد، پیش از ارسال <Image View On> به مدت <secs1> ثانیه درنگ می‌کند. اگر <secs2> مشخص شده باشد، پیش از ارسال <Standby> به مدت <secs2> ثانیه درنگ می‌کند. اگر مقدار <hpd-may-be-low> برابر 1 باشد، سیگنال HPD می‌تواند در وضعیت آماده‌به‌کار سطح پایین (low) باشد.
این گزینه یک آزمون تنش را برای نمایشگر اجرا می‌کند: با استفاده از دستورات CEC یعنی Standby و Image View On، نمایشگر را <count> بار وارد حالت آماده‌به‌کار کرده و از آن خارج می‌کند. پس از هر دستور بین <minsecs> (پیش‌فرض 0) و <maxsecs> (پیش‌فرض 10) ثانیه درنگ می‌کند. این آزمون رسیدن نمایشگر به وضعیت جدید را بررسی نمی‌کند؛ هدف این آزمون ارزیابی این است که آیا نمایشگر می‌تواند در حین گذار به وضعیتی جدید، دستورات تغییر وضعیت را مدیریت کند یا خیر. پس از هر 10 چرخه، تلاش می‌کند نمایشگر را به درستی بیدار کرده و صحت عملکرد آن را بررسی کند. در صورت عدم موفقیت، آزمون مردود می‌شود. اگر مقدار <count> برابر 0 باشد، هرگز متوقف نخواهد شد. اگر <seed> تعیین شده باشد، مقدار اولیهٔ تصادفی‌ساز (seed) به جای زمان فعلی روی آن مقدار تنظیم می‌شود. اگر مقدار <hpd-may-be-low> برابر 1 باشد، سیگنال HPD می‌تواند در وضعیت آماده‌به‌کار سطح پایین (low) باشد.
چاپ پیام راهنما برای تمام گزینه‌ها.
نمایش راهنما برای قابلیت Audio Rate Control.
نمایش راهنما برای قابلیت Audio Return Channel Control.
نمایش راهنما برای قابلیت Capability Discovery and Control.
نمایش راهنما برای قابلیت Deck Control.
نمایش راهنما برای قابلیت Device Menu Control.
نمایش راهنما برای قابلیت Device OSD Transfer.
نمایش راهنما برای قابلیت Dynamic Audio Lipsync.
نمایش راهنما برای قابلیت Hospitality Profile Next Generation. این یک افزونهٔ اختیاری CEC ویژهٔ نمایشگرهای هتل است و به طور عمومی برای نمایشگرهای معمولی در دسترس نیست. برای کسب اطلاعات بیشتر به http://www.htng.org مراجعه کنید.
نمایش راهنما برای قابلیت OSD Display.
نمایش راهنما برای قابلیت One Touch Play.
نمایش راهنما برای قابلیت One Touch Record.
نمایش راهنما برای قابلیت Power Status.
نمایش راهنما برای قابلیت Remote Control Passthrough.
نمایش راهنما برای قابلیت Routing Control.
نمایش راهنما برای قابلیت Standby.
نمایش راهنما برای قابلیت System Audio Control.
نمایش راهنما برای قابلیت System Information.
نمایش راهنما برای قابلیت Timer Programming.
نمایش راهنما برای قابلیت Tuner Control.
نمایش راهنما برای قابلیت Vendor Specific Commands..SH "وضعیت خروج (EXIT STATUS)" در صورت موفقیت، 0 بازگردانده می‌شود. در غیر این صورت، کد خطا برگردانده خواهد شد.

این صفحه راهنما در حال توسعه و تکمیل است.

گزارش‌های باگ یا پرسش‌های مربوط به این ابزار باید به فهرست پستی linux-media@vger.kernel.org ارسال شوند.

August 2016 v4l-utils 1.32.0