1NDCTL-UPDATE-FIRMW(1) NDCTL-UPDATE-FIRMW(1)
2
3
4
6 ndctl-update-firmware - update the firmware the given device
7
9 ndctl update-firmware <dimm> [<options>]
10
12 Provide a generic interface for updating NVDIMM firmware. The use of
13 this depends on support for the NVDIMM "family" in libndctl, the kernel
14 needs to enable that command set, and the device itself needs to
15 implement the command. Use "ndctl list -DF" to interrogate if firmware
16 update is enabled. For example:
17
18 ndctl list -DFu -d nmem1
19 {
20 "dev":"nmem1",
21 "id":"cdab-0a-07e0-ffffffff",
22 "handle":"0",
23 "phys_id":"0",
24 "security":"disabled",
25 "firmware":{
26 "current_version":"0",
27 "can_update":true
28 }
29 }
30
32 <dimm>
33 A nmemX device name, or a dimm id number. Restrict the operation to
34 the specified dimm(s). The keyword all can be specified to indicate
35 the lack of any restriction, however this is the same as not
36 supplying a --dimm option at all.
37
38 -b, --bus=
39 A bus id number, or a provider string (e.g. "ACPI.NFIT"). Restrict
40 the operation to the specified bus(es). The keyword all can be
41 specified to indicate the lack of any restriction, however this is
42 the same as not supplying a --bus option at all.
43
44 -f, --firmware
45 firmware file used to perform the update
46
47 -i, --force
48 Ignore in-progress Address Range Scrub and try to submit the
49 firmware update, or ignore firmware activate arm overflows and
50 force-arm devices.
51
52 -A, --arm
53 Arm a device for firmware activation. This is enabled by default
54 when a firmware image is specified. Specify --no-arm to disable
55 this default. Otherwise, without a firmware image, this option can
56 be used to manually arm a device for firmware activate. When a
57 device transitions from unarmed to armed the platform recalculates
58 the firmware activation time and compares it against the maximum
59 platform supported time. If the activation time would exceed the
60 platform maximum the arm attempt is aborted:
61
62 ndctl update-firmware --arm --bus=nfit_test.0 all
63 Error: update firmware: nmem4: arm aborted, tripped overflow
64 [
65 {
66 "dev":"nmem1",
67 "id":"cdab-0a-07e0-ffffffff",
68 "handle":"0",
69 "phys_id":"0",
70 "security":"disabled",
71 "firmware":{
72 "current_version":"0",
73 "can_update":true
74 }
75 },
76 {
77 "dev":"nmem3",
78 "id":"cdab-0a-07e0-fffeffff",
79 "handle":"0x100",
80 "phys_id":"0x2",
81 "security":"disabled",
82 "firmware":{
83 "current_version":"0",
84 "can_update":true
85 }
86 },
87 {
88 "dev":"nmem2",
89 "id":"cdab-0a-07e0-feffffff",
90 "handle":"0x1",
91 "phys_id":"0x1",
92 "security":"disabled",
93 "firmware":{
94 "current_version":"0",
95 "can_update":true
96 }
97 }
98 ]
99 updated 3 nmems.
100
101 It is possible, but not recommended, to ignore timeout overflows
102 with the --force option. At any point to view the 'armed' state of the
103 bus do:
104
105 ndctl list -BF -b nfit_test.0
106 [
107 {
108 "provider":"nfit_test.0",
109 "dev":"ndbus2",
110 "scrub_state":"idle",
111 "firmware":{
112 "activate_method":"suspend",
113 "activate_state":"overflow"
114 }
115 }
116 ]
117
118 -D, --disarm
119 Disarm devices after uploading the firmware file, or manually
120 disarm devices when a firmware image is not specified. --no-disarm
121 is not accepted.
122
123 -v, --verbose
124 Emit debug messages for the namespace check process.
125
127 Copyright © 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL
128 version 2 http://gnu.org/licenses/gpl.html. This is free software: you
129 are free to change and redistribute it. There is NO WARRANTY, to the
130 extent permitted by law.
131
132
133
134 08/03/2023 NDCTL-UPDATE-FIRMW(1)