.TH "CEC-COMPLIANCE" "1" "August 2016" "v4l-utils 1.32.0" "User Commands" .SH "نام (NAME)" cec-compliance \- ابزاری برای بررسی و سنجش سازگاری دستگاه‌های دوردست CEC .SH "خلاصه دستور (SYNOPSIS)" .B cec-compliance [\fI-h\fR] [\fI-d \fR] [گزینه‌های دیگر] .SH "توضیحات (DESCRIPTION)" ابزار cec-compliance می‌تواند برای بررسی میزان سازگاری دستگاه‌های دوردست CEC با مشخصات استاندارد CEC به کار رود. همچنین می‌تواند برای آزمایش آداپتور محلی CEC (با گزینهٔ \fI-A\fR) استفاده شود. به‌طور پیش‌فرض، تمام آزمون‌ها اجرا خواهند شد، اما اگر یک یا چند مورد از گزینه‌های آزمون قابلیت‌ها مشخص شود، تنها همان آزمون‌ها انجام خواهند شد. مجموعه‌ای از آزمون‌های اصلی (هسته‌ای) همیشه اجرا می‌شوند. آداپتور CEC پیش از استفاده برای اجرای آزمون‌ها با \fBcec-compliance\fR باید پیکربندی شود. برای پیکربندی از \fBcec-ctl\fR استفاده کنید. اگر آداپتور CEC چندین آدرس منطقی (logical address) را ثبت کرده باشد، مجموعه آزمون‌ها به‌ترتیب از هر آدرس منطقی اجرا می‌شود. دستگاه دوردست برای این‌که بتوان آزمون‌ها را روی آن اجرا کرد، باید یک آدرس فیزیکی معتبر را گزارش کند. هنگام اجرای آزمون‌های سازگاری، \fBcec-follower\fR باید روی همان آداپتور اجرا شود. \fBcec-follower\fR به پیام‌هایی که توسط \fBcec-compliance\fR پردازش نمی‌شوند پاسخ خواهد داد. همچنین \fBcec-follower\fR رفتارهای دستگاهِ تحت آزمایش را برای مواردی که با مشخصات استاندارد ناسازگار است پایش می‌کند. پیش از هر بار اجرای آزمون، در صورتی که \fBcec-follower\fR در حال اجرا باشد باید مجدداً راه‌اندازی شود تا دستگاه شبیه‌سازی‌شده با یک وضعیت اولیهٔ تمیز و شناخته‌شده مقداردهی گردد. برخی آزمون‌ها برای تأیید قبولی نیازمند حالت تعاملی (با گزینهٔ \fI-i\fR) هستند. در حالت تعاملی، از کاربر خواسته می‌شود مواردی را روی دستگاه دوردست مشاهده کند یا کارهایی را انجام دهد. همچنین برخی آزمون‌ها هنگام اجرا در حالت تعاملی نتایج قطعی ارائه می‌دهند. هنگام بررسی سازگاری آداپتور محلی CEC با CEC API، برای آزمایش ارسال و دریافت باید دست‌کم یک دستگاه دوردست حاضر باشد. آزمون‌های سازگاری علاوه بر قبولی و رد شدن، می‌توانند چندین نتیجهٔ احتمالی دیگر نیز داشته باشند: OK آزمون با موفقیت قبول شد. OK (Unexpected) آزمون قبول شد، اما انتظار نمی‌رفت که دستگاهِ تحت آزمایش از آن پشتیبانی کند. این حالت برای نمونه ممکن است زمانی رخ دهد که یک تلویزیون به پیام‌های قابلیت Deck Control پاسخ دهد. OK (Not Supported) قابلیت آزمایش‌شده توسط دستگاهِ تحت آزمایش پشتیبانی نمی‌شود، و پشتیبانی از آن قابلیت برای قبولی دستگاه اجباری نبوده است. OK (Presumed) هیچ مشکلی در طول آزمون رخ نداد، اما آزمون نمی‌تواند به‌طور قطعی رخ دادن اثرات مورد نیاز آزمون را تأیید کند. اجراکنندهٔ آزمون باید با مشاهدهٔ دستی دستگاهِ تحت آزمایش، قبولی آزمون را تأیید کند. این وضعیت معمولاً نتیجهٔ آزمون‌هایی است که پیام‌هایی بدون دریافت پاسخ ارسال می‌کنند، اما اثرات جانبی مشخصی روی دستگاهِ تحت آزمایش می‌گذارند؛ مانند تعویض ورودی در تلویزیون یا ارسال یک دستور Remote Control. OK (Refused) دستگاه از قابلیت یا پیام در حال آزمایش پشتیبانی می‌کند، اما با ["Refused"] پاسخ داد تا نشان دهد نمی‌تواند عملیات خواسته‌شده را انجام دهد. این حالت برای نمونه ممکن است هنگام تلاش برای آزمایش قابلیت One Touch Record روی تلویزیونی با محافظت از رونوشتِ فعال (copy protection) رخ دهد. FAIL آزمون مردود شد در حالی که انتظار می‌رفت در دستگاه پذیرفته شود. OK (Expected Failure) مردود شد اما این شکست مورد انتظار بود. این مورد تنها زمانی رخ می‌دهد که از گزینهٔ \fB\-\-expect\fR استفاده شده باشد و مشخص کرده باشد که یک آزمون خاص نتیجهٔ FAIL خواهد داشت. FAIL (Expected X, got Y) آزمون نتیجه‌ای متفاوت از آنچه انتظار می‌رفت بازگرداند. این مورد تنها زمانی رخ می‌دهد که از گزینهٔ \fB\-\-expect\fR استفاده شده باشد و مشخص کرده باشد که یک آزمون خاص نتیجه‌ای معین غیر از FAIL خواهد داشت. برخی آزمون‌ها به موفقیت‌آمیز بودن آزمون‌های دیگر وابسته‌اند. اگر آزمون‌هایی که به آن‌ها وابسته هستند مردود شوند، این آزمون‌ها اجرا نخواهند شد و در فهرست آزمون‌ها نیز نمایش داده نمی‌شوند. .SH "گزینه‌ها (OPTIONS)" .TP \fB\-d\fR, \fB\-\-device\fR \fI\fR استفاده از دستگاه به عنوان دستگاه CEC. اگر یک عدد باشد، از مسیر /dev/cec استفاده می‌شود. .TP \fB\-D\fR, \fB\-\-driver\fR \fI\fR استفاده از دستگاه cec که نام درایور آن \fI\fR است، همان‌گونه که توسط ioctl فراخوانی CEC_ADAP_G_CAPS بازگردانده می‌شود. این گزینه می‌تواند با \fB\-a\fR ترکیب شود تا بدون نیاز به تکیه بر شمارهٔ گره دستگاه، دستگاه CEC را به‌طور یکتا شناسایی کند. .TP \fB\-a\fR, \fB\-\-adapter\fR \fI\fR استفاده از دستگاه cec که نام آداپتور آن \fI\fR است، همان‌گونه که توسط ioctl فراخوانی CEC_ADAP_G_CAPS بازگردانده می‌شود. این گزینه می‌تواند با \fB\-D\fR ترکیب شود تا بدون نیاز به تکیه بر شمارهٔ گره دستگاه، دستگاه CEC را به‌طور یکتا شناسایی کند. .TP \fB\-E\fR, \fB\-\-exit\-on\-fail\fR خروج از این برنامه با رخ دادن اولین شکست به جای ادامه دادن در وضعیتی احتمالاً ناسازگار. .TP \fB\-l\fR, \fB\-\-list\-tests\fR فهرست کردن تمام آزمون‌ها و نتایج احتمالی آزمون. این گزینه توسط گزینهٔ \fB\-\-expect\fR استفاده می‌شود. .TP \fB\-e\fR, \fB\-\-expect\fR \fI\fR=\fI\fR \fB\-n\fR, \fB\-\-expect-with-no-warnings\fR \fI\fR=\fI\fR اعلام شکست در صورتی که آزمون نتیجهٔ متفاوتی ارائه دهد. گزینهٔ \fB\-\-list\-tests\fR تمام آزمون‌های ممکن و مقادیر نتایجی را که می‌توان استفاده کرد فهرست می‌کند. این گزینه می‌تواند در اسکریپت‌های آزمون برای تأیید این‌که نتیجهٔ مشخصی توسط آزمون بازگردانده شده، استفاده شود. یک مورد کاربرد، بررسی این است که یک قابلیت اختیاری واقعاً پشتیبانی می‌شود، بنابراین به جای نتیجهٔ \fIOK (Not Supported)\fR، نتیجهٔ \fIOK\fR مورد انتظار است. همچنین می‌تواند برای پذیرش شکست‌های شناخته‌شده استفاده شود. در این حالت آزمون مردود نخواهد شد، بلکه نتیجهٔ \fIOK (Expected Failure)\fR را برمی‌گرداند. حالت دیگر یعنی \fB\-\-expect-with-no-warnings\fR سخت‌گیرانه‌تر است و بررسی می‌کند که آزمون هیچ هشداری نیز تولید نکرده باشد. .TP \fB\-v\fR, \fB\-\-verbose\fR فعال‌سازی گزارش‌دهی پرگو (verbose). .TP \fB\-\-version\fR نمایش اطلاعات نسخه. .TP \fB\-w\fR, \fB\-\-wall\-clock\fR نمایش برچسب‌های زمانی به صورت زمان ساعت دیواری (wall-clock time). .TP \fB\-S\fR, \fB\-\-show\-timestamp\fR نمایش برچسب زمانی آغاز آزمون برای هر یک از آزمون‌ها. .TP \fB\-T\fR, \fB\-\-trace\fR ردیابی تمام ioctlهای فراخوانی‌شده. مناسب برای اشکال‌زدایی. .TP \fB\-h\fR, \fB\-\-help\fR چاپ پیام راهنما. .TP \fB\-W\fR, \fB\-\-exit\-on\-warn\fR خروج از این برنامه با رخ دادن اولین هشدار به جای ادامه دادن. .TP \fB\-s\fR, \fB\-\-skip\-info\fR صرف‌نظر کردن از بخش خروجی Driver Info (اطلاعات درایور). .TP \fB\-C\fR, \fB\-\-color\fR \fI\fR برجسته‌سازی رشته‌های OK/warn/fail/FAIL با رنگ‌ها. در صورت فعال بودن، OK با رنگ سبز، warn به صورت پررنگ (bold)، و fail/FAIL با رنگ قرمز روشن نشان داده می‌شوند. مقدار \fI\fR می‌تواند \fIalways\fR، \fInever\fR یا \fIauto\fR (پیش‌فرض) باشد. .TP \fB\-N\fR, \fB\-\-no\-warnings\fR خاموش کردن پیام‌های هشدار. .TP \fB\-r\fR, \fB\-\-remote\fR \fI\fR به عنوان آغازگر (initiator)، آدرس منطقی دوردست را آزمایش می‌کند؛ یا در صورتی که هیچ LA مشخص نشده باشد، تمام آدرس‌های منطقی را آزمایش می‌کند. .TP \fB\-i\fR, \fB\-\-interactive\fR حالت تعاملی هنگام انجام آزمون‌های دوردست. .TP \fB\-R\fR, \fB\-\-reply\-threshold\fR \fI\fR هشدار در صورتی که دریافت پاسخ‌ها بیشتر از این آستانه طول بکشد (پیش‌فرض ۱۰۰۰ میلی‌ثانیه). .TP \fB\-t\fR, \fB\-\-timeout\fR \fI\fR تنظیم مهلت زمانی (timeout) برای standby/resume به تعداد ثانیه‌های مشخص‌شده. پیش‌فرض ۶۰ ثانیه است. .TP \fB\-A\fR, \fB\-\-test\-adapter\fR آزمایش API آداپتور CEC. .TP \fB\-F\fR, \fB\-\-test\-fuzzing\fR آزمایش آداپتور دوردست CEC با ایجاد پیام‌های تصادفی CEC (فازینگ). این آزمون تا زمان بروز خطا به‌طور بی‌پایان اجرا می‌شود. .TP \fB\-\-test\-core\fR آزمایش عملکردهای اصلی (هسته). .TP \fB\-\-test\-audio\-rate\-control\fR آزمایش قابلیت Audio Rate Control (کنترل نرخ صدا). .TP \fB\-\-test\-audio\-return\-channel\-control\fR آزمایش قابلیت Audio Return Channel Control (کنترل کانال برگشت صدا). .TP \fB\-\-test\-capability\-discovery\-and\-control\fR آزمایش قابلیت Capability Discovery and Control (کشف و کنترل توانمندی‌ها). .TP \fB\-\-test\-deck\-control\fR آزمایش قابلیت Deck Control. .TP \fB\-\-test\-device\-menu\-control\fR آزمایش قابلیت Device Menu Control (کنترل منوی دستگاه). .TP \fB\-\-test\-device\-osd\-transfer\fR آزمایش قابلیت Device OSD Transfer (انتقال منوی روی صفحهٔ دستگاه). .TP \fB\-\-test\-dynamic\-audio\-lipsync\fR آزمایش قابلیت Dynamic Audio Lipsync (همگام‌سازی پویای صدا و تصویر). .TP \fB\-\-test\-osd\-display\fR آزمایش قابلیت OSD Display (نمایش منو روی صفحه). .TP \fB\-\-test\-one\-touch\-play\fR آزمایش قابلیت One Touch Play (پخش با یک لمس). .TP \fB\-\-test\-one\-touch\-record\fR آزمایش قابلیت One Touch Record (ضبط با یک لمس). .TP \fB\-\-test\-power\-status\fR آزمایش قابلیت Power Status (وضعیت برق/انرژی). .TP \fB\-\-test\-remote\-control\-passthrough\fR آزمایش قابلیت Remote Control Passthrough (انتقال دستورهای کنترل از راه دور). .TP \fB\-\-test\-routing\-control\fR آزمایش قابلیت Routing Control (کنترل مسیریابی). .TP \fB\-\-test\-system\-audio\-control\fR آزمایش قابلیت System Audio Control (کنترل صدای سیستم). .TP \fB\-\-test\-system\-information\fR آزمایش قابلیت System Information (اطلاعات سیستم). .TP \fB\-\-test\-timer\-programming\fR آزمایش قابلیت Timer Programming (برنامه‌ریزی زمان‌سنج). .TP \fB\-\-test\-tuner\-control\fR آزمایش قابلیت Tuner Control (کنترل تیونر). .TP \fB\-\-test\-vendor\-specific\-commands\fR آزمایش قابلیت Vendor Specific Commands (دستورهای اختصاصی سازنده). .TP \fB\-\-test\-standby\-resume\fR آزمایش عملکرد حالت آماده‌به‌کار (standby) و ازسرگیری (resume). این گزینه آزمایش‌های Standby، Give Device Power Status و One Touch Play را فعال می‌کند. .SH "وضعیت خروج (EXIT STATUS)" در صورت موفقیت، مقدار 0 را برمی‌گرداند. در غیر این صورت، کد خطا برگردانده خواهد شد. .SH "مثال‌ها (EXAMPLES)" ما می‌خواهیم سازگاری یک تلویزیون را هنگام تعامل آن با یک دستگاه پخش (Playback) آزمایش کنیم. گره دستگاهِ آداپتور CEC که تلویزیون به آن متصل است /dev/cec1 است. ابتدا آداپتور محلی CEC باید به عنوان یک دستگاه پخش (Playback) پیکربندی شود، و باید یک آدرس فیزیکی مناسب داشته باشد. درست بودن آدرس فیزیکی اهمیت دارد تا دستگاهِ تحت آزمایش دچار سردرگمی نشود. برای نمونه، اگر آداپتور CEC به اولین ورودی تلویزیون متصل باشد، عموماً باید از آدرس فیزیکی 1.0.0.0 استفاده شود. cec-ctl -d1 --playback --phys-addr 1.0.0.0 بیشتر آداپتورهای CEC آدرس فیزیکی را به‌طور خودکار شناسایی می‌کنند، و برای این آداپتورها نیازی به گزینهٔ \fI--phys-addr\fR نیست. سپس، \fBcec-follower\fR نیز باید روی همان دستگاه اجرا شود: cec-follower -d1 اکنون می‌توان \fBcec-compliance\fR را با مشخص کردن گزینهٔ \fI-r\fR همراه با آدرس منطقی 0 به سمت تلویزیون اجرا کرد: cec-compliance -d1 -r0 .SH "گزارش باگ‌ها (BUGS)" این صفحهٔ راهنما هنوز در حال توسعه و تکمیل است. گزارش باگ‌ها یا پرسش‌ها دربارهٔ این ابزار باید به فهرست پستی linux-media@vger.kernel.org فرستاده شود. .SH "همچنین ببینید (SEE ALSO)" \fBcec-follower\fR(1), \fBcec-ctl\fR(1)