'\" t .\" Title: nvme-fw-download .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 02/16/2026 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: Persian .\" .TH "NVME\-FW\-DOWNLOAD" "1" "02/16/2026" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" nvme\-fw\-download \- بارگیری میان‌افزار (Firmware) جدید در دستگاه NVMe .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fInvme fw\-download\fR [\-\-fw= | \-f ] [\-\-xfer= | \-x ] [\-\-offset= | \-O ] [\-\-output\-format= | \-o ] [\-\-verbose | \-v] [\-\-timeout= | \-t ] .fi .SH "توضیحات (DESCRIPTION)" .sp دستور Firmware Image Download برای بارگیری تمام یا بخشی از ایمیج میان‌افزار به‌منظور به‌روزرسانی کنترلر در آینده استفاده می‌شود\&. این دستور می‌تواند زمانی که سایر دستورها در صف ارسال مدیریت (Admin Submission Queue) یا صف‌های ارسال ورودی/خروجی (I/O Submission Queues) در انتظار اجرا هستند نیز ارسال شود\&. دستور Firmware Image Download، ایمیج جدید میان‌افزار را (به‌صورت کامل یا بخشی از آن) در کنترلر رونوشت می‌کند\&. .sp ایمیج میان‌افزار می‌تواند از چندین بخش تشکیل شده باشد که هر کدام با دستورهای جداگانهٔ Firmware Image Download به‌طور جداگانه بارگیری شوند\&. هر دستور Firmware Image Download شامل یک آفست بر مبنای Dword و تعداد Dword است که محدودهٔ Dword را مشخص می‌کند\&. نرم‌افزار میزبان باید اطمینان حاصل کند که بخش‌های میان‌افزار دارای محدوده‌های Dword هم‌پوشان نباشند\&. بخش‌های میان‌افزار می‌توانند بدون ترتیب مشخصی به کنترلر ارسال شوند\&. .sp ایمیج جدید میان‌افزار به عنوان بخشی از دستور Firmware Image Download اعمال نمی‌شود\&. اعمال آن پس از یک راه‌اندازی مجدد (reset) انجام می‌گیرد، که در آن ایمیج مورد نظر برای اعمال و شیار میان‌افزاری که باید در آن تثبیت شود با دستور Firmware Commit (به‌صورت nvme fw\-commit ) تعیین می‌شود\&. .sp نکته: ابزار nvme\-cli باید یک بافر حافظه پیوسته (خطی) اختصاص داده و باینری میان‌افزار را در آن نگاشت کند\&. برای این کار، nvme\-cli ابتدا تلاش می‌کند بافر را با استفاده از صفحه‌های بزرگ تی‌ال‌بی (huge TLB pages) تخصیص دهد\&. اگر تخصیص با استفاده از huge pages با شکست مواجه شود، به استفاده از posix_memalign()‎ همراه با madvise()‎ بازمی‌گردد، هرچند که این کار نیز احتمالاً با شکست روبرو خواهد شد\&. .sp برای افزایش احتمال موفقیت، ممکن است بخواهید پیش از شروع بارگیری میان‌افزار، تعدادی صفحهٔ بزرگ (huge pages) را از پیش تخصیص دهید: .sp .if n \{\ .RS 4 .\} .nf echo 20 > /proc/sys/vm/nr_hugepages .fi .if n \{\ .RE .\} .sp برای جزئیات بیشتر به این نشانی مراجعه کنید: \m[blue]\fBhttps://www\&.kernel\&.org/doc/Documentation/vm/hugetlbpage\&.txt\fR\m[] .SH "گزینه‌ها (OPTIONS)" .PP \-f , \-\-fw= .RS 4 شناسهٔ الزامی\&. این گزینه مسیر فایل میان‌افزار دستگاه را روی سیستم شما مشخص می‌کند که توسط برنامه خوانده شده و به دستگاه ارسال خواهد شد\&. .RE .PP \-x , \-\-xfer= .RS 4 اندازهٔ تقطیع هر بخش انتقال را مشخص می‌کند\&. این گزینه زمانی کاربرد دارد که دستگاه برای میان‌افزار نیازمند حداکثر اندازهٔ انتقال مشخصی باشد\&. مقدار پیش‌فرض آن 4k است\&. .RE .PP \-O , \-\-offset= .RS 4 آفست شروع را بر حسب dword مشخص می‌کند\&. این گزینه در واقع تنها زمانی کاربرد دارد که میان‌افزار شما به چندین فایل تقسیم شده باشد؛ در غیر این صورت آفست از صفر شروع شده و بر اساس اندازهٔ \fIxfer\fR داده‌شده به‌طور خودکار تنظیم می‌شود\&. .RE .PP \-o , \-\-output\-format= .RS 4 تنظیم قالب گزارش‌دهی روی \fInormal\fR، \fIjson\fR یا \fIbinary\fR\&. در هر زمان تنها یک قالب خروجی می‌تواند استفاده شود\&. .RE .PP \-v, \-\-verbose .RS 4 افزایش میزان جزئیات اطلاعات در خروجی\&. .RE .PP \-t , \-\-timeout= .RS 4 جایگزینی مقدار زمان انتظار پیش‌فرض (تایم‌اوت)، بر حسب میلی‌ثانیه\&. .RE .SH "مثال‌ها (EXAMPLES)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} انتقال میان‌افزار با اندازهٔ ۱۲۸ کیلوبایت (128KiB) در هر نوبت: .sp .if n \{\ .RS 4 .\} .nf # nvme fw\-download /dev/nvme0 \-\-fw=/path/to/nvme\&.fw \-\-xfer=0x20000 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp بخشی از مجموعهٔ nvme\-user