'\" t .\" Title: ndctl-activate-firmware .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-06-30 .\" Manual: ndctl Manual .\" Source: ndctl .\" Language: English .\" .TH "NDCTL\-ACTIVATE\-FIRMWARE" "1" "2026-06-30" "ndctl" "ndctl Manual" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" ndctl-activate-firmware \- فعال‌سازی سفت‌افزار آماده‌شده روی دستگاه‌های حافظه .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIndctl activate\-firmware\fP [ .\|.\|. ] [] .fi .br .sp برخی از دستگاه‌های حافظه پایدار (persistent memory) یک سفت‌افزار (firmware) را به‌صورت محلی روی دستگاه / «DIMM» برای انجام وظایفی چون مدیریت رسانه، تدارک ظرفیت، و پایش سلامت اجرا می‌کنند. فرآیند به‌روزرسانی این سفت‌افزار معمولاً مستلزم راه‌اندازی مجدد (reboot) است، زیرا بر تراکنش‌های حافظه در حال انجام (in\-flight) اثر می‌گذارد. با این حال، راه‌اندازی‌های مجدد می‌تواند برای سامانه‌هایی که تحمل از کارافتادگی طولانی‌مدت را ندارند، پرهزینه باشد. .sp هسته پلتفرم‌هایی را که از فعال‌سازی سفت‌افزار در زمان اجرا (FWA یا runtime\-firmware\-activation) پشتیبانی می‌کنند، شناسایی می‌کند. دستور \fIndctl update\-firmware\fP باینری‌های جدید سفت‌افزار را آماده‌سازی (stage) می‌کند، اما اگر پلتفرم از FWA پشتیبانی کند، علاوه بر این دستگاه‌ها را برای فعال‌سازی آماده‌باش (arm) می‌نماید. سپس \fIndctl activate\-firmware\fP ممکن است برای فعال‌سازی زندهٔ سفت‌افزار تلاش کند. با این حال، اگر پلتفرم نشان دهد که کنترلر حافظه برای مدت به‌روزرسانی آفلاین خواهد شد ("activate_method == suspend")، سیاست پیش‌فرض برای فعال‌سازی سفت‌افزار تزریق یک چرخهٔ خواب‌زمستانی (hibernate) کوتاه‌شده برای انجماد دستگاه‌ها و برنامه‌ها پیش از اعمال خاموشی کامل (quiesce سخت‌افزاری) توسط پلتفرم و سپس ازسرگیری سامانه است. .sp \fBخطر:\fP دستور activate\-firmware شامل گزینهٔ \-\-force است تا به راه‌انداز اعلام کند از چرخهٔ خواب‌زمستانی صرف‌نظر کند و به‌روزرسانی را به‌صورت «زنده» (live) انجام دهد؛ یعنی تمهیدی می‌چیند که برنامه‌ها و دستگاه‌ها با دورهٔ quiesce اعمال‌شده توسط پلتفرم به رقابت بپردازند. از این گزینه تنها باید با آگاهی صریح از اینکه مدت‌زمان quiesce پلتفرم باعث نقض مهلت زمانی تکمیل (completion timeout) برای هیچ‌یک از دستگاه‌های سامانه نخواهد شد، استفاده شود. .SH "مثال‌ها (EXAMPLES)" .sp بررسی وجود هرگونه گذرگاهی که بدون اجرای فعال‌سازی، از فعال‌سازی پشتیبانی می‌کند: .sp .if n .RS 4 .nf .fam C # ndctl activate\-firmware all \-\-dry\-run ACPI.NFIT: ndbus1: has no devices that support firmware update. nfit_test.1: ndbus3: has no devices that support firmware update. e820: ndbus0: has no devices that support firmware update. [ { "provider":"nfit_test.0", "dev":"ndbus1", "scrub_state":"idle", "firmware":{ "activate_method":"suspend", "activate_state":"idle" }, "dimms":[ { \&... .fam .fi .if n .RE .sp بررسی اینکه آیا یک گذرگاه خاص بدون اجرای فعال‌سازی، از فعال‌سازی پشتیبانی می‌کند: .sp .if n .RS 4 .nf .fam C # ndctl activate\-firmware nfit_test.0 \-\-dry\-run \-\-force [ { "provider":"nfit_test.0", "dev":"ndbus2", "scrub_state":"idle", "firmware":{ "activate_method":"suspend", "activate_state":"idle" }, "dimms":[ \&... ] .fam .fi .if n .RE .sp نتیجه پس از فعال‌سازی موفقیت‌آمیز، معادل \fIndctl list \-BFDu\fP است. .sp دستور \fIndctl list\fP همچنین می‌تواند روش فعال‌سازی پیش‌فرض را فهرست کند: .sp .if n .RS 4 .nf .fam C # ndctl list \-b nfit_test.0 \-BF [ { "provider":"nfit_test.0", "dev":"ndbus2", "scrub_state":"idle", "firmware":{ "activate_method":"suspend", "activate_state":"idle" } } ] .fam .fi .if n .RE .SH "گزینه‌ها (OPTIONS)" .sp \-n, \-\-dry\-run .RS 4 تمام اقدامات مربوط به فعال‌سازی، از جمله رعایت \-\-idle و \-\-force را انجام می‌دهد، اما از اجرای نهایی فعال‌سازی صرف‌نظر می‌کند. جایگزینی‌ها پیش از پایان دستور لغو می‌شوند. هرگونه جایگزینی ناموفق به‌صورت پیام خطا گزارش خواهد شد. .RE .sp \-I, \-\-idle .RS 4 این گزینه که به‌طور پیش‌فرض ضمنی است، مشخص می‌کند که آیا پلتفرم تلاش کند مهلت زمانی تکمیل (completion timeout) همهٔ دستگاه‌های سامانه را افزایش دهد و بررسی کند که آیا حداکثر مهلت تکمیل، زمان مورد نیاز برای انجام فعال‌سازی را برآورده می‌سازد یا خیر. این مرحلهٔ اعتبارسنجی را می‌توان با تعیین \-\-no\-idle نادیده گرفت. .RE .sp \-f, \-\-force .RS 4 روش فعال‌سازی به‌طور پیش‌فرض به ویژگی گزارش‌شدهٔ "bus.firmware.activate_method" برمی‌گردد. هنگامی که این روش برابر با "live" باشد، گزینهٔ \-\-force نادیده گرفته می‌شود. هنگامی که روش برابر با "reset" باشد، هیچ فعال‌سازی در زمان اجرایی تلاش نخواهد شد. هنگامی که روش برابر با "suspend" باشد، این گزینه به راه‌انداز نشان می‌دهد که از چرخهٔ خواب‌زمستانی برای فعال‌سازی سفت‌افزار صرف‌نظر کند. هنگامی که "activate_method" گزارش‌شده برابر با "suspend" است، راه‌انداز هسته ممکن است از نادیده‌گرفتن الزام suspend پشتیبانی کرده و در عوض فعال‌سازی سفت‌افزار را به‌صورت live صادر نماید. \fBاحتیاط:\fP اگر مهلت‌های زمانی تکمیل دستگاه برای عملیات حافظه در حال انجام نقض شود، این امر ممکن است منجر به رفتارهای پیش‌بینی‌نشده در سامانه گردد. .RE .sp \-v, \-\-verbose .RS 4 ارسال پیام‌های اشکال‌زدایی برای فرآیند فعال‌سازی سفت‌افزار. .RE .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .sp کپی‌رایت \(co 2016 \- 2022، شرکت Intel Corporation. مجوز GPLv2: گنو GPL نسخه ۲ \c .URL "http://gnu.org/licenses/gpl.html" "" "." این نرم‌افزار آزاد است: شما مجاز به تغییر و توزیع مجدد آن هستید. هیچ‌گونه ضمانتی، تا حدی که قانون مجاز می‌داند، وجود ندارد. .SH "همچنین ببینید (SEE ALSO)" .sp ndctl\-update\-firmware(1), .URL "https://pmem.io/documents/IntelOptanePMem_DSM_Interface\-V2.0.pdf" "Intel Optane PMem DSM Interface" ""