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