NDCTL-UPDATE-FIRMWARE(1) ndctl Manual NDCTL-UPDATE-FIRMWARE(1)

ndctl-update-firmware - به‌روزرسانی سفت‌افزار دستگاه مشخص‌شده

ndctl update-firmware <dimm> [<options>]

یک رابط عمومی برای به‌روزرسانی سفت‌افزار NVDIMM ارائه می‌دهد. استفاده از این دستور به پشتیبانی از "خانواده" NVDIMM در libndctl بستگی دارد؛ هسته باید آن مجموعه دستورات را فعال کرده باشد و خود دستگاه نیز باید دستور را پیاده‌سازی کرده باشد. برای بررسی فعال بودن امکان به‌روزرسانی سفت‌افزار، از "ndctl list -DF" استفاده کنید. به عنوان مثال:

ndctl list -DFu -d nmem1
{
  "dev":"nmem1",
  "id":"cdab-0a-07e0-ffffffff",
  "handle":"0",
  "phys_id":"0",
  "security":"disabled",
  "firmware":{
    "current_version":"0",
    "can_update":true
  }
}

<dimm>

یک نام دستگاه nmemX یا شماره شناسه dimm. عملیات را به dimm(های) مشخص‌شده محدود می‌کند. کلیدواژه all می‌تواند برای نشان دادن عدم وجود محدودیت مشخص شود، هرچند این کار معادل عدم ارائه گزینه --dimm است.

-b, --bus=

شماره شناسه گذرگاه، یا یک رشته ارائه‌دهنده (مانند "ACPI.NFIT"). عملیات را به گذرگاه(های) مشخص‌شده محدود می‌کند. کلیدواژه all می‌تواند برای نشان دادن عدم وجود هرگونه محدودیت مشخص شود، هرچند این کار معادل عدم ارائه گزینه --bus است.

-f, --firmware

فایل سفت‌افزار مورد استفاده برای انجام به‌روزرسانی.

-i, --force

نادیده گرفتن عملیات در حال انجام Address Range Scrub و تلاش برای ثبت به‌روزرسانی سفت‌افزار، یا نادیده گرفتن سرریزهای مسلح‌سازی فعال‌سازی سفت‌افزار و مسلح‌سازی اجباری دستگاه‌ها.

-A, --arm

مسلح کردن (آماده‌باش) یک دستگاه برای فعال‌سازی سفت‌افزار. هنگامی که یک ایمیج سفت‌افزار مشخص شده باشد، این گزینه به صورت پیش‌فرض فعال است. برای غیرفعال کردن این حالت پیش‌فرض، --no-arm را مشخص کنید. در غیر این صورت، بدون مشخص کردن ایمیج سفت‌افزار، این گزینه می‌تواند برای مسلح کردن دستی یک دستگاه جهت فعال‌سازی سفت‌افزار استفاده شود. هنگامی که یک دستگاه از حالت غیرمسلح به مسلح تغییر وضعیت می‌دهد، پلتفرم زمان فعال‌سازی سفت‌افزار را دوباره محاسبه کرده و آن را با حداکثر زمان پشتیبانی‌شده پلتفرم مقایسه می‌کند. اگر زمان فعال‌سازی از حداکثر زمان پلتفرم فراتر رود، تلاش مسلح‌سازی لغو می‌شود:
ndctl update-firmware --arm --bus=nfit_test.0 all
  Error: update firmware: nmem4: arm aborted, tripped overflow
[
  {
    "dev":"nmem1",
    "id":"cdab-0a-07e0-ffffffff",
    "handle":"0",
    "phys_id":"0",
    "security":"disabled",
    "firmware":{
      "current_version":"0",
      "can_update":true
    }
  },
  {
    "dev":"nmem3",
    "id":"cdab-0a-07e0-fffeffff",
    "handle":"0x100",
    "phys_id":"0x2",
    "security":"disabled",
    "firmware":{
      "current_version":"0",
      "can_update":true
    }
  },
  {
    "dev":"nmem2",
    "id":"cdab-0a-07e0-feffffff",
    "handle":"0x1",
    "phys_id":"0x1",
    "security":"disabled",
    "firmware":{
      "current_version":"0",
      "can_update":true
    }
  }
]
updated 3 nmems.
نادیده گرفتن سرریزهای مهلت زمانی با گزینه --force امکان‌پذیر است اما توصیه نمی‌شود. در هر زمان برای مشاهده وضعیت 'مسلح' (armed) گذرگاه دستور زیر را اجرا کنید:
ndctl list -BF -b nfit_test.0
[
  {
    "provider":"nfit_test.0",
    "dev":"ndbus2",
    "scrub_state":"idle",
    "firmware":{
      "activate_method":"suspend",
      "activate_state":"overflow"
    }
  }
]

-D, --disarm

غیرمسلح کردن دستگاه‌ها پس از بارگذاری فایل سفت‌افزار، یا غیرمسلح کردن دستی دستگاه‌ها در صورتی که ایمیج سفت‌افزاری مشخص نشده باشد. گزینه --no-disarm پذیرفته نیست.

-v, --verbose

ارسال پیام‌های اشکال‌زدایی برای فرآیند بررسی فضای نام (namespace).

حق نشر © 2016 - 2022، شرکت اینتل (Intel Corporation). مجوز GPLv2: گنو GPL نسخه ۲ http://gnu.org/licenses/gpl.html. این یک نرم‌افزار آزاد است: شما در تغییر و بازتوزیع آن آزاد هستید. تا حد مجاز طبق قانون، هیچ ضمانتی وجود ندارد.

2026-06-30 ndctl