1NDCTL-UPDATE-FIRMW(1)                                    NDCTL-UPDATE-FIRMW(1)
2
3
4

NAME

6       ndctl-update-firmware - update the firmware the given device
7

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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)
Impressum