1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
'\" t
.\" Title: nvme-fw-commit
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 11/04/2025
.\" Manual: NVMe Manual
.\" Source: NVMe
.\" Language: English
.\"
.TH "NVME\-FW\-COMMIT" "1" "11/04/2025" "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-commit \- Used to verify and commit a firmware image\&.
.SH "SYNOPSIS"
.sp
.nf
\fInvme fw\-commit\fR <device> [\-\-slot=<slot> | \-s <slot>]
[\-\-action=<action> | \-a <action>]
[\-\-bpid=<boot\-partid> | \-b <boot\-partid>]
[\-\-output\-format=<fmt> | \-o <fmt>] [\-\-verbose | \-v]
[\-\-timeout=<timeout> | \-t <timeout>]
.fi
.SH "DESCRIPTION"
.sp
For the NVMe device given, send an nvme Firmware Commit admin command and provides the results\&.
.sp
The Firmware Commit command is used to verify that a valid firmware image has been downloaded and to commit that revision to a specific firmware slot\&. The host may select the firmware image to commit on the next controller reset (CC\&.EN transitions from \(oq1\(cq to \(oq0\(cq, a PCI function level reset, and/or other Controller or NVM Subsystem Reset) as part of this command\&. The currently executing firmware revision may be determined from the Firmware Revision field of the Identify Controller data structure as indicated in the Firmware Slot Information log page\&.
.sp
No further action is automatically taken to reset the device, which is usually required to complete the activation process\&. If your kernel and driver are recent enough, you can commit the firmware by issuing a reset through Linux sysfs, for example:
.sp
.if n \{\
.RS 4
.\}
.nf
# echo 1 > /sys/class/nvme/nvme0/device/reset
.fi
.if n \{\
.RE
.\}
.sp
If your kernel is not recent enough, you will need to remove and add the device some other way\&.
.SH "OPTIONS"
.PP
\-a <action>, \-\-action=<action>
.RS 4
Commit Action: This field specifies the action that is taken on the image downloaded with the Firmware Image Download command or on a previously downloaded and placed image\&.
.TS
allbox tab(:);
lt lt
lt lt
lt lt
lt lt
lt lt
lt lt
lt lt.
T{
Value
T}:T{
Definition
T}
T{
0
T}:T{
Downloaded image replaces the image indicated by the Firmware Slot field\&. This image is not activated\&.
T}
T{
1
T}:T{
Downloaded image replaces the image indicated by the Firmware Slot field\&. This image is activated at the next reset\&.
T}
T{
2
T}:T{
The image indicated by the Firmware Slot field is activated at the next reset\&.
T}
T{
3
T}:T{
The image specified by the Firmware Slot field is requested to be activated immediately without reset\&.
T}
T{
6
T}:T{
Downloaded image replaces the Boot Partition specified by the Boot Partition ID field\&.
T}
T{
7
T}:T{
Mark the Boot Partition specified in the BPID field as active and update BPINFO\&.ABPID\&.
T}
.TE
.sp 1
.RE
.PP
\-s <slot>, \-\-slot=<slot>
.RS 4
Firmware Slot: Specifies the firmware slot that shall be used for the Commit Action, if applicable\&. If the value specified is 0h, then the controller shall choose the firmware slot (slot 1 \(en 7) to use for the operation\&.
.RE
.PP
\-\-bpid=<boot\-partid>, \-b <boot\-partid>
.RS 4
Specifies the Boot partition that shall be used for the Commit Action, if applicable (default: 0)
.RE
.PP
\-o <fmt>, \-\-output\-format=<fmt>
.RS 4
Set the reporting format to
\fInormal\fR,
\fIjson\fR
or
\fIbinary\fR\&. Only one output format can be used at a time\&.
.RE
.PP
\-v, \-\-verbose
.RS 4
Increase the information detail in the output\&.
.RE
.PP
\-t <timeout>, \-\-timeout=<timeout>
.RS 4
Override default timeout value\&. In milliseconds\&.
.RE
.SH "EXAMPLES"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
commit the last downloaded fw to slot 1\&.
.sp
.if n \{\
.RS 4
.\}
.nf
# nvme fw\-commit /dev/nvme0 \-\-slot=1 \-\-action=2
.fi
.if n \{\
.RE
.\}
.RE
.SH "ALIAS"
.sp
fw\-activate
.SH "NVME"
.sp
Part of the nvme\-user suite
|