13d9b1a2aSHans Rosenfeld.\" 23d9b1a2aSHans Rosenfeld.\" This file and its contents are supplied under the terms of the 33d9b1a2aSHans Rosenfeld.\" Common Development and Distribution License ("CDDL"), version 1.0. 43d9b1a2aSHans Rosenfeld.\" You may only use this file in accordance with the terms of version 53d9b1a2aSHans Rosenfeld.\" 1.0 of the CDDL. 63d9b1a2aSHans Rosenfeld.\" 73d9b1a2aSHans Rosenfeld.\" A full copy of the text of the CDDL should have accompanied this 83d9b1a2aSHans Rosenfeld.\" source. A copy of the CDDL is also available via the Internet at 93d9b1a2aSHans Rosenfeld.\" http://www.illumos.org/license/CDDL. 103d9b1a2aSHans Rosenfeld.\" 113d9b1a2aSHans Rosenfeld.\" 12533affcbSRobert Mustacchi.\" Copyright 2024 Oxide Computer Company 138466ab88SHans Rosenfeld.\" Copyright 2022 Tintri by DDN, Inc. All rights reserved. 143d9b1a2aSHans Rosenfeld.\" 15627ade2aSRobert Mustacchi.Dd March 26, 2024 16bbf21555SRichard Lowe.Dt NVMEADM 8 173d9b1a2aSHans Rosenfeld.Os 183d9b1a2aSHans Rosenfeld.Sh NAME 193d9b1a2aSHans Rosenfeld.Nm nvmeadm 203d9b1a2aSHans Rosenfeld.Nd NVMe administration utility 213d9b1a2aSHans Rosenfeld.Sh SYNOPSIS 223d9b1a2aSHans Rosenfeld.Nm 233d9b1a2aSHans Rosenfeld.Fl h 243d9b1a2aSHans Rosenfeld.Op Ar command 253d9b1a2aSHans Rosenfeld.Nm 263d9b1a2aSHans Rosenfeld.Op Fl dv 273d9b1a2aSHans Rosenfeld.Cm list 28e4cc4004SRobert Mustacchi.Oo 29b3266bebSHans Rosenfeld.Fl c 30b3266bebSHans Rosenfeld.Oc 31b3266bebSHans Rosenfeld.Oo 32b3266bebSHans Rosenfeld.Fl p o Ar field Ns [,...] 33e4cc4004SRobert Mustacchi.Oc 34e4cc4004SRobert Mustacchi.Op Ar ctl[/ns] Ns [,...] 353d9b1a2aSHans Rosenfeld.Nm 363d9b1a2aSHans Rosenfeld.Op Fl dv 373d9b1a2aSHans Rosenfeld.Cm identify 38153f3212SHans Rosenfeld.Op Fl C | c | d | Oo Fl a Oc Fl n 39e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...] 403d9b1a2aSHans Rosenfeld.Nm 413d9b1a2aSHans Rosenfeld.Op Fl dv 42153f3212SHans Rosenfeld.Cm identify-controller 43153f3212SHans Rosenfeld.Op Fl C | c | Oo Fl a Oc Fl n 44153f3212SHans Rosenfeld.Ar ctl Ns [,...] 45153f3212SHans Rosenfeld.Nm 46153f3212SHans Rosenfeld.Op Fl dv 47153f3212SHans Rosenfeld.Cm identify-namespace 48153f3212SHans Rosenfeld.Op Fl c | d 49153f3212SHans Rosenfeld.Ar ctl/ns Ns [,...] 50153f3212SHans Rosenfeld.Nm 51153f3212SHans Rosenfeld.Op Fl dv 52533affcbSRobert Mustacchi.Cm list-logpages 53533affcbSRobert Mustacchi.Op Fl a 54533affcbSRobert Mustacchi.Op Fl H 55533affcbSRobert Mustacchi.Op Fl o Ar field Ns [,...] Op Fl p 56533affcbSRobert Mustacchi.Op Fl s Ar scope Ns [,...] 57533affcbSRobert Mustacchi.Ar ctl[/ns] Ns [,...] 58533affcbSRobert Mustacchi.Op Ar logpage... 59533affcbSRobert Mustacchi.Nm 60533affcbSRobert Mustacchi.Op Fl dv 613d9b1a2aSHans Rosenfeld.Cm get-logpage 62f9fceaa5SRobert Mustacchi.Op Fl O Ar output-file 63e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...] 643d9b1a2aSHans Rosenfeld.Ar logpage 653d9b1a2aSHans Rosenfeld.Nm 663d9b1a2aSHans Rosenfeld.Op Fl dv 67533affcbSRobert Mustacchi.Cm list-features 68533affcbSRobert Mustacchi.Op Fl a 69533affcbSRobert Mustacchi.Op Fl H 70533affcbSRobert Mustacchi.Op Fl o Ar field Ns [,...] Op Fl p 71533affcbSRobert Mustacchi.Ar ctl[/ns] Ns [,...] 72533affcbSRobert Mustacchi.Op Ar feature... 73533affcbSRobert Mustacchi.Nm 74533affcbSRobert Mustacchi.Op Fl dv 753d9b1a2aSHans Rosenfeld.Cm get-features 76e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...] 773d9b1a2aSHans Rosenfeld.Op Ar feature-list 783d9b1a2aSHans Rosenfeld.Nm 793d9b1a2aSHans Rosenfeld.Op Fl dv 803d9b1a2aSHans Rosenfeld.Cm format 813d9b1a2aSHans Rosenfeld.Ar ctl[/ns] 823d9b1a2aSHans Rosenfeld.Op Ar lba-format 833d9b1a2aSHans Rosenfeld.Nm 843d9b1a2aSHans Rosenfeld.Op Fl dv 853d9b1a2aSHans Rosenfeld.Cm secure-erase 863d9b1a2aSHans Rosenfeld.Op Fl c 87a3bac573SHans Rosenfeld.Ar ctl[/ns] 883d9b1a2aSHans Rosenfeld.Nm 893d9b1a2aSHans Rosenfeld.Op Fl dv 903d9b1a2aSHans Rosenfeld.Cm detach 913d9b1a2aSHans Rosenfeld.Ar ctl[/ns] 923d9b1a2aSHans Rosenfeld.Nm 933d9b1a2aSHans Rosenfeld.Op Fl dv 943d9b1a2aSHans Rosenfeld.Cm attach 953d9b1a2aSHans Rosenfeld.Ar ctl[/ns] 96cf840871SPaul Winder.Nm 97cf840871SPaul Winder.Op Fl dv 9868df0c4fSGuy Morrogh.Cm list-firmware 9968df0c4fSGuy Morrogh.Ar ctl 10068df0c4fSGuy Morrogh.Nm 10168df0c4fSGuy Morrogh.Op Fl dv 102cf840871SPaul Winder.Cm load-firmware 103cf840871SPaul Winder.Ar ctl 104cf840871SPaul Winder.Ar firmware-file 105cf840871SPaul Winder.Op Ar offset 106cf840871SPaul Winder.Nm 107cf840871SPaul Winder.Op Fl dv 108cf840871SPaul Winder.Cm commit-firmware 109cf840871SPaul Winder.Ar ctl 110cf840871SPaul Winder.Ar slot 111cf840871SPaul Winder.Nm 112cf840871SPaul Winder.Op Fl dv 113cf840871SPaul Winder.Cm activate-firmware 114cf840871SPaul Winder.Ar ctl 115cf840871SPaul Winder.Ar slot 116533affcbSRobert Mustacchi.Nm 117533affcbSRobert Mustacchi.Op Fl dv 118533affcbSRobert Mustacchi.Cm wdc/e6dump 119533affcbSRobert Mustacchi.Fl o Ar output 120533affcbSRobert Mustacchi.Ar ctl 121533affcbSRobert Mustacchi.Nm 122533affcbSRobert Mustacchi.Op Fl dv 123533affcbSRobert Mustacchi.Cm wdc/resize 124533affcbSRobert Mustacchi.Fl s Ar size | Fl g 125533affcbSRobert Mustacchi.Ar ctl 1267a27a99aSRobert Mustacchi.Nm 1277a27a99aSRobert Mustacchi.Op Fl dv 1287a27a99aSRobert Mustacchi.Cm wdc/clear-assert 1297a27a99aSRobert Mustacchi.Ar ctl 1307a27a99aSRobert Mustacchi.Nm 1317a27a99aSRobert Mustacchi.Op Fl dv 1327a27a99aSRobert Mustacchi.Cm wdc/inject-assert 1337a27a99aSRobert Mustacchi.Ar ctl 1343d9b1a2aSHans Rosenfeld.Sh DESCRIPTION 1353d9b1a2aSHans RosenfeldThe 1363d9b1a2aSHans Rosenfeld.Nm 1373d9b1a2aSHans Rosenfeldutility can be used to enumerate the NVMe controllers and their 1383d9b1a2aSHans Rosenfeldnamespaces, query hardware information from a NVMe controller or 1393d9b1a2aSHans Rosenfeldnamespace, and to format or secure-erase a NVMe controller or 1403d9b1a2aSHans Rosenfeldnamespace. 1413d9b1a2aSHans Rosenfeld.Pp 1423d9b1a2aSHans RosenfeldThe information returned by the hardware is printed by 1433d9b1a2aSHans Rosenfeld.Nm 1443d9b1a2aSHans Rosenfeldin a human-readable form were applicable. 1453d9b1a2aSHans RosenfeldGenerally all 0-based counts are normalized and values may be 1463d9b1a2aSHans Rosenfeldconverted to human-readable units such as MB (megabytes), W (watts), 1473d9b1a2aSHans Rosenfeldor C (degrees Celsius). 1483d9b1a2aSHans Rosenfeld.Sh OPTIONS 1493d9b1a2aSHans RosenfeldThe following options are supported: 1503d9b1a2aSHans Rosenfeld.Bl -tag -width Ds 1513d9b1a2aSHans Rosenfeld.It Fl h 1523d9b1a2aSHans RosenfeldPrint a short help text for 1533d9b1a2aSHans Rosenfeld.Nm , 1543d9b1a2aSHans Rosenfeldor for an optionally specified 1553d9b1a2aSHans Rosenfeld.Nm 1563d9b1a2aSHans Rosenfeldcommand. 1573d9b1a2aSHans Rosenfeld.It Fl d 1583d9b1a2aSHans RosenfeldEnable debugging output. 1593d9b1a2aSHans Rosenfeld.It Fl v 1603d9b1a2aSHans RosenfeldEnable verbose output. 1613d9b1a2aSHans Rosenfeld.El 1623d9b1a2aSHans Rosenfeld.Sh ARGUMENTS 1633d9b1a2aSHans Rosenfeld.Nm 1643d9b1a2aSHans Rosenfeldexpects the following kinds of arguments: 165b2d85592SMarcel Telka.Bl -tag -width "ctl[/ns]" 1663d9b1a2aSHans Rosenfeld.It Ar command 1673d9b1a2aSHans RosenfeldAny command 1683d9b1a2aSHans Rosenfeld.Nm 1693d9b1a2aSHans Rosenfeldunderstands. 1703d9b1a2aSHans RosenfeldSee section 1713d9b1a2aSHans Rosenfeld.Sx COMMANDS . 172b2d85592SMarcel Telka.It Ar ctl[/ns] 1733d9b1a2aSHans RosenfeldSpecifies a NVMe controller and optionally a namespace within that 1743d9b1a2aSHans Rosenfeldcontroller. 1753d9b1a2aSHans RosenfeldThe controller name consists of the driver name 1763d9b1a2aSHans Rosenfeld.Qq nvme 1773d9b1a2aSHans Rosenfeldfollowed by an instance number. 1783d9b1a2aSHans RosenfeldA namespace is specified by appending a single 1793d9b1a2aSHans Rosenfeld.Qq / 180670f080bSHans Rosenfeldto the controller name, followed by either the namespace ID or the namespace 181670f080bSHans RosenfeldEUI64 or NGUID as reported by the 182670f080bSHans Rosenfeld.Cm identify 183670f080bSHans Rosenfeldcommand. 184670f080bSHans RosenfeldThe namespace ID is a positive non-zero decimal number. 1853d9b1a2aSHans RosenfeldFor commands that don't change the device state multiple controllers 1863d9b1a2aSHans Rosenfeldand namespaces can be specified as a comma-separated list. 1873d9b1a2aSHans Rosenfeld.Pp 1883d9b1a2aSHans RosenfeldThe list of controllers and namespaces present in the system can be 1893d9b1a2aSHans Rosenfeldqueried with the 1903d9b1a2aSHans Rosenfeld.Cm list 1913d9b1a2aSHans Rosenfeldcommand without any arguments. 1923d9b1a2aSHans Rosenfeld.It Ar logpage 1933d9b1a2aSHans RosenfeldSpecifies the log page name for the 1943d9b1a2aSHans Rosenfeld.Cm get-logpage 1953d9b1a2aSHans Rosenfeldcommand. 1963d9b1a2aSHans Rosenfeld.It Ar feature-list 1973d9b1a2aSHans RosenfeldA comma-separated list of feature names for the 1983d9b1a2aSHans Rosenfeld.Cm get-features 1993d9b1a2aSHans Rosenfeldcommand. 200533affcbSRobert MustacchiFeature names can be specified in upper or lower case. 201533affcbSRobert MustacchiAll features can be specified either by a short name listed below or by 202533affcbSRobert Mustacchithe full name that the specification uses. 2033d9b1a2aSHans Rosenfeld.It Ar lba-format 2043d9b1a2aSHans RosenfeldA non-zero integer specifying the LBA format for the 2053d9b1a2aSHans Rosenfeld.Cm format 2063d9b1a2aSHans Rosenfeldcommand. 2073d9b1a2aSHans RosenfeldThe list of supported LBA formats on a namespace can be retrieved 2083d9b1a2aSHans Rosenfeldwith the 2093d9b1a2aSHans Rosenfeld.Nm 2103d9b1a2aSHans Rosenfeld.Cm identify 2113d9b1a2aSHans Rosenfeldcommand. 212cf840871SPaul Winder.It Ar firmware-file 213cf840871SPaul WinderSpecifies the name of a firmware file to be loaded into the controller 214cf840871SPaul Winderusing the 215cf840871SPaul Winder.Cm load-firmware 216cf840871SPaul Windercommand. 217cf840871SPaul Winder.It Ar offset 218cf840871SPaul WinderSpecifies the byte offset at which to load 219f9fceaa5SRobert Mustacchi.It Ar output-file 220f9fceaa5SRobert MustacchiSpecifies a file system location to write raw binary data out to. 221cf840871SPaul Winder.Ar firmware-file 222cf840871SPaul Winderwithin the controller's upload buffer. 223cf840871SPaul WinderVendors may require multiple images to be loaded at different offsets 224cf840871SPaul Winderbefore a firmware set is committed to a 225cf840871SPaul Winder.Ar slot . 226533affcbSRobert Mustacchi.It Ar scope 227533affcbSRobert MustacchiSpecifies the scope of a given type of thing to look at, such as a log 228533affcbSRobert Mustacchipage. 229533affcbSRobert MustacchiScopes can either be specified by their full name or a shortened form. 230533affcbSRobert MustacchiFor log pages, the following scopes are supported: 231533affcbSRobert Mustacchi.Bl -tag -width Ds 232533affcbSRobert Mustacchi.It Sy controller 233533affcbSRobert MustacchiIndicates that the log is scoped to the controller. 234533affcbSRobert MustacchiThe short form is 235533affcbSRobert Mustacchi.Dq ctrl . 236533affcbSRobert Mustacchi.It Sy nvm 237533affcbSRobert MustacchiIndicates that the log is scoped to the NVM subsystem. 238533affcbSRobert MustacchiThere is no short form. 239533affcbSRobert Mustacchi.It Sy namespace 240533affcbSRobert MustacchiIndicates that the log is scoped to the namespace. 241533affcbSRobert MustacchiThe short form is 242533affcbSRobert Mustacchi.Dq ns . 243533affcbSRobert Mustacchi.El 244533affcbSRobert Mustacchi.Pp 245533affcbSRobert MustacchiFor more information on the differences between these, please see the 246533affcbSRobert MustacchiNVMe specification. 247cf840871SPaul Winder.It Ar slot 248cf840871SPaul WinderSpecifies the firmware slot into which a firmware set is committed 249cf840871SPaul Winderusing the 250cf840871SPaul Winder.Cm commit-firmware 251cf840871SPaul Windercommand, and subsequently activated with the 252cf840871SPaul Winder.Cm activate-firmware 253cf840871SPaul Windercommand. 25468df0c4fSGuy MorroghSlots and their contents can be printed using the 25568df0c4fSGuy Morrogh.Nm 25668df0c4fSGuy Morrogh.Cm list-firmware 25768df0c4fSGuy Morroghcommand. 2583d9b1a2aSHans Rosenfeld.El 2593d9b1a2aSHans Rosenfeld.Sh COMMANDS 2603d9b1a2aSHans Rosenfeld.Bl -tag -width "" 2613d9b1a2aSHans Rosenfeld.It Xo 2623d9b1a2aSHans Rosenfeld.Nm 2633d9b1a2aSHans Rosenfeld.Cm list 264e4cc4004SRobert Mustacchi.Oo 265b3266bebSHans Rosenfeld.Fl c 266b3266bebSHans Rosenfeld.Oc 267b3266bebSHans Rosenfeld.Oo 268b3266bebSHans Rosenfeld.Fl p o Ar field Ns [,...] 269e4cc4004SRobert Mustacchi.Oc 270e4cc4004SRobert Mustacchi.Op Ar ctl[/ns] Ns [,...] 2713d9b1a2aSHans Rosenfeld.Xc 272b3266bebSHans RosenfeldLists the NVMe controllers and by default also their active 273b3266bebSHans Rosenfeldnamespaces, printing a 1-line summary of their basic properties for each. 2743d9b1a2aSHans RosenfeldIf a list of controllers and/or namespaces is given then the listing 2753d9b1a2aSHans Rosenfeldis limited to those devices. 276b3266bebSHans RosenfeldIf no controllers or namespaces are given as arguments, then all controllers 277b3266bebSHans Rosenfeldin the system and their respective active namespaces are listed. 278b3266bebSHans RosenfeldWhen using the 279b3266bebSHans Rosenfeld.Fl v 280b3266bebSHans Rosenfeldoption 281b3266bebSHans Rosenfeldto 282b3266bebSHans Rosenfeld.Nm , 283b3266bebSHans Rosenfeldall possible namespaces of the controllers will be listed. 284b3266bebSHans Rosenfeld.Pp 285b3266bebSHans RosenfeldThe 286b3266bebSHans Rosenfeld.Nm 287b3266bebSHans Rosenfeld.Cm list 288b3266bebSHans Rosenfeldcommand supports the following options: 289e4cc4004SRobert Mustacchi.Bl -tag -width Fl 290b3266bebSHans Rosenfeld.It Fl c 291b3266bebSHans RosenfeldList controllers only and not their namespaces. 292e4cc4004SRobert Mustacchi.It Fl p 293b3266bebSHans RosenfeldProduce parsable output rather than human-readable output. 294e4cc4004SRobert MustacchiThis option requires that output fields be selected with the 295e4cc4004SRobert Mustacchi.Fl o 296e4cc4004SRobert Mustacchioption. 297e4cc4004SRobert Mustacchi.It Fl o Ar field Ns [,...] 298e4cc4004SRobert MustacchiA comma-separated list of one or more output fields to be used. 299e4cc4004SRobert MustacchiFields are listed below and the name is case insensitive. 300e4cc4004SRobert Mustacchi.El 301e4cc4004SRobert Mustacchi.Pp 302e4cc4004SRobert MustacchiThe following fields can be specified when using the parsable form: 303b3266bebSHans Rosenfeld.Bl -tag -width UNALLOCATED 304e4cc4004SRobert Mustacchi.It Sy MODEL 305e4cc4004SRobert MustacchiThe model number of the device, generally containing information about 306e4cc4004SRobert Mustacchiboth the manufacturer and the product. 307e4cc4004SRobert Mustacchi.It Sy SERIAL 308e4cc4004SRobert MustacchiThe NVMe controller's serial number. 309e4cc4004SRobert Mustacchi.It Sy FWREV 310e4cc4004SRobert MustacchiThe controller's firmware revision. 311e4cc4004SRobert Mustacchi.It Sy VERSION 312e4cc4004SRobert MustacchiThe version of the NVMe specification the controller supports. 313b3266bebSHans Rosenfeld.It Sy INSTANCE 314b3266bebSHans RosenfeldThe name of the device node and instance of it. 315b3266bebSHans Rosenfeld.El 316b3266bebSHans Rosenfeld.Pp 317b3266bebSHans RosenfeldIn addition, the following fields can be specified when listing namespaces, not 318b3266bebSHans Rosenfeldusing the 319b3266bebSHans Rosenfeld.Fl c 320b3266bebSHans Rosenfeldoption: 321b3266bebSHans Rosenfeld.Bl -tag -width UNALLOCATED 322e4cc4004SRobert Mustacchi.It Sy CAPACITY 323e4cc4004SRobert MustacchiThe amount of logical bytes that the namespace may actually have allocated at 324e4cc4004SRobert Mustacchiany time. 325e4cc4004SRobert MustacchiThis may be different than size due to the use of thin provisioning or due to 326e4cc4004SRobert Mustacchiadministrative action. 327b3266bebSHans Rosenfeld.It Sy SIZE 328b3266bebSHans RosenfeldThe logical size in bytes of the namespace. 329e4cc4004SRobert Mustacchi.It Sy USED 330e4cc4004SRobert MustacchiThe number of bytes used in the namespace. 331e4cc4004SRobert Mustacchi.It Sy NAMESPACE 332e4cc4004SRobert MustacchiThe numerical value of the namespace which can be used as part of other 333e4cc4004SRobert Mustacchi.Nm 334e4cc4004SRobert Mustacchioperations. 335e4cc4004SRobert Mustacchi.It Sy DISK 336e4cc4004SRobert MustacchiThe name of the disk device that corresponds to the namespace, if any. 337e4cc4004SRobert Mustacchi.El 338b3266bebSHans Rosenfeld.Pp 339b3266bebSHans RosenfeldWhen using the 340b3266bebSHans Rosenfeld.Fl c 341b3266bebSHans Rosenfeldoption to list controllers, the following additional fields are supported: 342b3266bebSHans Rosenfeld.Bl -tag -width UNALLOCATED 343b3266bebSHans Rosenfeld.It Sy CAPACITY 344b3266bebSHans RosenfeldThe total raw capacity of the NVMe controller in bytes. 345b3266bebSHans Rosenfeld.It Sy UNALLOCATED 346b3266bebSHans RosenfeldThe number of bytes not currently assigned to any namespace in the controller. 347b3266bebSHans Rosenfeld.El 3483d9b1a2aSHans Rosenfeld.It Xo 3493d9b1a2aSHans Rosenfeld.Nm 350153f3212SHans Rosenfeld.Cm identify-controller 351153f3212SHans Rosenfeld.Op Fl C | c | Oo Fl a Oc Fl n 352153f3212SHans Rosenfeld.Ar ctl Ns [,...] 3533d9b1a2aSHans Rosenfeld.Xc 354153f3212SHans RosenfeldPrint detailed information about the specified controllers. 355153f3212SHans RosenfeldFor an explanation of the data printed by this command refer to the description 356153f3212SHans Rosenfeldof the 3573d9b1a2aSHans Rosenfeld.Qq IDENTIFY 3583d9b1a2aSHans Rosenfeldadmin command in the NVMe specification. 359153f3212SHans Rosenfeld.Pp 360153f3212SHans RosenfeldBy default, a relevant subset of the 361153f3212SHans Rosenfeld.Qq IDENTIFY CONTROLLER 362153f3212SHans Rosenfelddata structure is printed. 363153f3212SHans RosenfeldThe full data structure is only printed when verbose output is requested. 364153f3212SHans Rosenfeld.Pp 365153f3212SHans RosenfeldThe following options can be used to print other 366153f3212SHans Rosenfeld.Qq IDENTIFY 367153f3212SHans Rosenfeldinformation: 368153f3212SHans Rosenfeld.Bl -tag -width Fl 369153f3212SHans Rosenfeld.It Fl C 370153f3212SHans RosenfeldPrint the Common Namespace Identification of the controller. 371153f3212SHans Rosenfeld.It Fl a 372153f3212SHans RosenfeldAlter the output of the 373153f3212SHans Rosenfeld.Fl n 374153f3212SHans Rosenfeldoption to print the list allocated namespace identifiers. 375153f3212SHans RosenfeldCan only be specified together with the 376153f3212SHans Rosenfeld.Fl n 377153f3212SHans Rosenfeldoption. 378153f3212SHans Rosenfeld.It Fl c 379153f3212SHans RosenfeldPrint the list of all unique controller identifiers in the NVMe subsystem the 380153f3212SHans Rosenfeldspecified controller belongs to. 381153f3212SHans Rosenfeld.It Fl n 382153f3212SHans RosenfeldPrint the list of active namespace identifiers of the controller. 383153f3212SHans Rosenfeld.El 384153f3212SHans Rosenfeld.It Xo 385153f3212SHans Rosenfeld.Nm 386153f3212SHans Rosenfeld.Cm identify-namespace 387153f3212SHans Rosenfeld.Op Fl c | d 388153f3212SHans Rosenfeld.Ar ctl/ns Ns [,...] 389153f3212SHans Rosenfeld.Xc 390153f3212SHans RosenfeldPrint detailed information about the specified namespace. 391153f3212SHans RosenfeldFor an explanation of the data printed by this command refer to the description 392153f3212SHans Rosenfeldof the 393153f3212SHans Rosenfeld.Qq IDENTIFY 394153f3212SHans Rosenfeldadmin command in the NVMe specification. 395153f3212SHans Rosenfeld.Pp 396153f3212SHans RosenfeldBy default, a relevant subset of the 397153f3212SHans Rosenfeld.Qq IDENTIFY NAMESPACE 398153f3212SHans Rosenfelddata structure is printed. 399153f3212SHans RosenfeldThe full data structure is only printed when verbose output is requested. 400153f3212SHans Rosenfeld.Pp 401153f3212SHans RosenfeldThe following options can be used to print other 402153f3212SHans Rosenfeld.Qq IDENTIFY 403153f3212SHans Rosenfeldinformation: 404153f3212SHans Rosenfeld.Bl -tag -width Fl 405153f3212SHans Rosenfeld.It Fl c 406153f3212SHans RosenfeldPrint the list of all unique controller identifiers in the NVMe subsystem the 407153f3212SHans Rosenfeldspecified namespace belongs to and which are currently attached to this 408153f3212SHans Rosenfeldnamespace. 409153f3212SHans Rosenfeld.It Fl d 410153f3212SHans RosenfeldPrint the list of namespace identification descriptors of the namespace. 411153f3212SHans Rosenfeld.El 412153f3212SHans Rosenfeld.It Xo 413153f3212SHans Rosenfeld.Nm 414153f3212SHans Rosenfeld.Cm identify 415153f3212SHans Rosenfeld.Op Fl C | c | d | Oo Fl a Oc Fl n 416153f3212SHans Rosenfeld.Ar ctl[/ns] Ns [,...] 417153f3212SHans Rosenfeld.Xc 418153f3212SHans RosenfeldShort-hand for the 419153f3212SHans Rosenfeld.Cm identify-controller 420153f3212SHans Rosenfeldand 421153f3212SHans Rosenfeld.Cm identify-namespace 422153f3212SHans Rosenfeldcommands, prints the same information about the specified controllers and/or 423153f3212SHans Rosenfeldnamespaces, depending on whether a controller or a namespace was specified. 424153f3212SHans Rosenfeld.Pp 425153f3212SHans RosenfeldFor a description of the various optional flags refer to the above description 426153f3212SHans Rosenfeldof the 427153f3212SHans Rosenfeld.Cm identify-controller 428153f3212SHans Rosenfeldand 429153f3212SHans Rosenfeld.Cm identify-namespace 430153f3212SHans Rosenfeldcommands. 4313d9b1a2aSHans Rosenfeld.It Xo 4323d9b1a2aSHans Rosenfeld.Nm 433533affcbSRobert Mustacchi.Op Fl dv 434533affcbSRobert Mustacchi.Cm list-logpages 435533affcbSRobert Mustacchi.Op Fl a 436533affcbSRobert Mustacchi.Op Fl H 437533affcbSRobert Mustacchi.Op Fl o Ar field Ns [,...] Op Fl p 438533affcbSRobert Mustacchi.Op Fl s Ar scope Ns [,...] 439533affcbSRobert Mustacchi.Ar ctl[/ns] Ns [,...] 440533affcbSRobert Mustacchi.Op Ar logpage... 441533affcbSRobert Mustacchi.Xc 442533affcbSRobert MustacchiPrints the list of log pages and information about them specific to the 443533affcbSRobert Mustacchigiven controller or namespace. 444533affcbSRobert MustacchiThis is intended as a discovery mechanism and will print information 445533affcbSRobert Mustacchiabout mandatory, optional, and vendor-specific log pages as well as all 446533affcbSRobert Mustacchithe information that is useful for retrieving information about them. 447533affcbSRobert Mustacchi.Pp 448533affcbSRobert MustacchiThe 449533affcbSRobert Mustacchi.Nm 450533affcbSRobert Mustacchi.Cm list-logpages 451533affcbSRobert Mustacchicommand supports the following options: 452533affcbSRobert Mustacchi.Bl -tag -width Fl 453533affcbSRobert Mustacchi.It Fl a 454533affcbSRobert MustacchiPrint all log pages. 455533affcbSRobert MustacchiBy default, only logs that are implemented are printed. 456533affcbSRobert Mustacchi.It Fl H 457533affcbSRobert MustacchiOmit the output header columns. 458533affcbSRobert Mustacchi.It Fl o Ar field Ns [,...] 459533affcbSRobert MustacchiA comma-separated list of one or more output fields to be used. 460533affcbSRobert MustacchiFields are listed below and the name is case insensitive. 461533affcbSRobert Mustacchi.It Fl p 462533affcbSRobert MustacchiProduce parsable output rather than human-readable output. 463533affcbSRobert MustacchiThis option requires that output fields be selected with the 464533affcbSRobert Mustacchi.Fl o 465533affcbSRobert Mustacchioption. 466533affcbSRobert Mustacchi.It Fl s Ar scope Ns [,...] 467533affcbSRobert MustacchiPrint log pages that match the specified scope. 468533affcbSRobert MustacchiIf no 469533affcbSRobert Mustacchi.Ar scope 470533affcbSRobert Mustacchiarguments are specified, then the scope will be set to 471533affcbSRobert Mustacchi.Dq ctrl,nvm 472533affcbSRobert Mustacchiwhen the device is a controller and 473533affcbSRobert Mustacchi.Dq ns 474533affcbSRobert Mustacchiwhen the device refers to a namespace. 475533affcbSRobert Mustacchi.El 476533affcbSRobert Mustacchi.Pp 477533affcbSRobert MustacchiThe following fields are supported: 478533affcbSRobert Mustacchi.Bl -tag -width MINSIZE 479533affcbSRobert Mustacchi.It Sy DEVICE 480533affcbSRobert MustacchiPrints the name of the controller or namespace. 481533affcbSRobert Mustacchi.It Sy NAME 482533affcbSRobert MustacchiPrints the name of the log page. 483533affcbSRobert MustacchiThis is the name that can be used to get the log page with the 484533affcbSRobert Mustacchi.Cm get-logpage 485533affcbSRobert Mustacchicommand. 486533affcbSRobert MustacchiThis is a shortened form from the NVMe or vendor-specific documentation. 487533affcbSRobert Mustacchi.It Sy DESC 488533affcbSRobert MustacchiThis is a description of the log page and generally corresponds to 489533affcbSRobert Mustacchiinformation from the specification the log page is drawn from. 490533affcbSRobert Mustacchi.It Sy SCOPE 491533affcbSRobert MustacchiThis is the set of scopes that the log page is applicable to. 492533affcbSRobert MustacchiAs described earlier in the manual, valid scopes include 493533affcbSRobert Mustacchi.Dq ctrl , 494533affcbSRobert Mustacchi.Dq nvm , 495533affcbSRobert Mustacchiand 496533affcbSRobert Mustacchi.Dq ns . 497533affcbSRobert MustacchiThis indicates whether a controller 498533affcbSRobert Mustacchi.Po 499533affcbSRobert Mustacchi.Dq ctrl 500533affcbSRobert Mustacchiand 501533affcbSRobert Mustacchi.Dq nvm 502533affcbSRobert Mustacchi.Pc 503533affcbSRobert Mustacchior a namespace 504533affcbSRobert Mustacchi.Po 505533affcbSRobert Mustacchi.Dq ns 506533affcbSRobert Mustacchi.Pc 507533affcbSRobert Mustacchiwill work for this log page when running the 508533affcbSRobert Mustacchi.Cm get-logpage 509533affcbSRobert Mustacchicommand to get the log. 510533affcbSRobert Mustacchi.It Sy FIELDS 511533affcbSRobert MustacchiThis indicates the command fields that are accepted when retrieving the 512533affcbSRobert Mustacchilog page from the controller. 513533affcbSRobert MustacchiThe fields include: 514533affcbSRobert Mustacchi.Bl -tag -width lsp 515533affcbSRobert Mustacchi.It Sy lsp 516533affcbSRobert MustacchiIndicates that a log specific parameter is accepted for this page. 517533affcbSRobert Mustacchi.It Sy lsi 518533affcbSRobert MustacchiIndicates that a log specific identifier is accepted for this page. 519533affcbSRobert Mustacchi.It Sy rae 520533affcbSRobert MustacchiIndicates that one can control whether or not an asynchronous event is 521533affcbSRobert Mustacchiretained when retrieving the log page. 522533affcbSRobert MustacchiBy default, asynchronous events are cleared when certain log pages are 523533affcbSRobert Mustacchifetched such as the health log page. 524533affcbSRobert Mustacchi.El 525533affcbSRobert MustacchiFor more information on these fields, please see the NVMe specification. 526533affcbSRobert Mustacchi.It Sy CSI 527533affcbSRobert MustacchiIndicates the log page's command set interface. 528533affcbSRobert Mustacchi.It Sy LID 529533affcbSRobert MustacchiIndicates the log page's numeric ID. 530533affcbSRobert MustacchiThis when combined with the log page's CSI is the unique identifier that 531533affcbSRobert Mustacchiidentifies the log page to the controller. 532533affcbSRobert Mustacchi.It Sy IMPL 533533affcbSRobert MustacchiIndicates whether or not the system believes that the log page is 534533affcbSRobert Mustacchiimplemented. 535533affcbSRobert Mustacchi.It Sy SIZE 536533affcbSRobert MustacchiIndicates the size of the log page. 537533affcbSRobert MustacchiNot all log pages have a fixed size and in such cases this field will 538533affcbSRobert Mustacchinot contain a value. 539533affcbSRobert Mustacchi.It Sy MINSIZE 540533affcbSRobert MustacchiWhen a log page is known to have a variable size, this indicates the 541533affcbSRobert Mustacchiminimum amount of the log page to read to determine the full size of the 542533affcbSRobert Mustacchilog page. 543533affcbSRobert Mustacchi.It Sy SOURCES 544533affcbSRobert MustacchiThis is a comma separated list of values that indicates where 545533affcbSRobert Mustacchiinformation about this log page and its support came from primarily. 546533affcbSRobert MustacchiThese include the following: 547533affcbSRobert Mustacchi.Bl -tag -width identify-controller 548533affcbSRobert Mustacchi.It Dq spec 549533affcbSRobert MustacchiThis comes from the NVMe specification. 550533affcbSRobert MustacchiGenerally this refers to mandatory log pages that are not dependent on 551533affcbSRobert Mustacchiany information in the identify controller data structure. 552533affcbSRobert Mustacchi.It Dq identify-controller 553533affcbSRobert MustacchiInformation about this log page comes from the identify controller data 554533affcbSRobert Mustacchistructure. 555533affcbSRobert MustacchiMany log pages are described by the standard but are optional and their 556533affcbSRobert Mustacchisupport is indicated through that. 557533affcbSRobert Mustacchi.It Dq internal-db 558533affcbSRobert MustacchiThis indicates that information about this log page comes from our 559533affcbSRobert Mustacchiinternal databases in libnvme. 560533affcbSRobert MustacchiMost vendor-specific logs are described in datasheets whose information 561533affcbSRobert Mustacchiis encoded into the library and system and there is not always a way to 562533affcbSRobert Mustacchidiscover that it is supported or not. 563533affcbSRobert Mustacchi.It Dq command 564533affcbSRobert MustacchiThis indicates that information about this log page came from another 565533affcbSRobert Mustacchicommand that was issued to the controller which indicates what was 566533affcbSRobert Mustacchiimplemented and present. 567533affcbSRobert Mustacchi.El 568533affcbSRobert Mustacchi.It Sy KIND 569533affcbSRobert MustacchiThis indicates the kind of log page that this is. 570533affcbSRobert MustacchiValid options are: 571533affcbSRobert Mustacchi.Bl -tag -width vendor-specific 572533affcbSRobert Mustacchi.It Dq mandatory 573533affcbSRobert MustacchiIndicates that the NVMe specification considers this mandatory for all 574533affcbSRobert Mustacchicontrollers of a given version. 575533affcbSRobert Mustacchi.It Dq optional 576533affcbSRobert MustacchiIndicates that the NVMe specification considers this log page optional. 577533affcbSRobert MustacchiSome items may be mandatory if a device implements an optional feature 578533affcbSRobert Mustacchilike namespace management, but they will still be considered optional as 579533affcbSRobert Mustacchithe underlying feature is. 580533affcbSRobert Mustacchi.It Dq vendor-specific 581533affcbSRobert MustacchiIndicates that this log is a vendor-specific log page. 582533affcbSRobert MustacchiThese log pages are not part of the NVMe standard and are generally 583533affcbSRobert Mustacchidescribed in their own device's datasheets or a separate standard such 584533affcbSRobert Mustacchias the 585533affcbSRobert Mustacchi.%T OCP Datacenter NVMe SSD Specification . 586533affcbSRobert Mustacchi.El 587533affcbSRobert Mustacchi.El 588533affcbSRobert Mustacchi.Pp 589533affcbSRobert MustacchiThe 590533affcbSRobert Mustacchi.Cm list-logpages 591533affcbSRobert Mustacchicommand supports a series of operands which can be used to filter the 592533affcbSRobert Mustacchilist of log pages that information is printed out about. 593533affcbSRobert MustacchiEach 594533affcbSRobert Mustacchi.Ar logpage 595533affcbSRobert Mustacchioperand is the name of a log page. 596533affcbSRobert MustacchiOnly matching log pages will be printed and if no log pages match a 597533affcbSRobert Mustacchigiven operand argument or not log pages are printed at all 598533affcbSRobert Mustacchi.Pq which can happen due to a log being unsupported 599533affcbSRobert Mustacchithen the command will generate an error. 600533affcbSRobert Mustacchi.It Xo 601533affcbSRobert Mustacchi.Nm 6023d9b1a2aSHans Rosenfeld.Cm get-logpage 603f9fceaa5SRobert Mustacchi.Op Fl O Ar output-file 604e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...] 6053d9b1a2aSHans Rosenfeld.Ar logpage 6063d9b1a2aSHans Rosenfeld.Xc 6073d9b1a2aSHans RosenfeldPrint the specified log page of the specified controllers and/or namespaces. 608f9fceaa5SRobert MustacchiIf 609f9fceaa5SRobert Mustacchi.Fl O 610f9fceaa5SRobert Mustacchiis specified, rather than print the contents of the log, the raw binary payload 611f9fceaa5SRobert Mustacchiof the log will be written to 612f9fceaa5SRobert Mustacchi.Ar output-file . 6133d9b1a2aSHans RosenfeldMost log pages are only available on a per-controller basis. 6143d9b1a2aSHans RosenfeldKnown log pages are: 6153d9b1a2aSHans Rosenfeld.Bl -tag -width "firmware" 616*046911ebSRobert Mustacchi.It suplog 617*046911ebSRobert MustacchiSupported Log Pages. 618*046911ebSRobert MustacchiLists information about log pages that the device supports. 619*046911ebSRobert MustacchiAvailable starting in NVMe 2.0 devices. 6203d9b1a2aSHans Rosenfeld.It error 6213d9b1a2aSHans RosenfeldError Information 6223d9b1a2aSHans Rosenfeld.It health 6233d9b1a2aSHans RosenfeldSMART/Health Information. 6243d9b1a2aSHans RosenfeldA controller may support this log page on a per-namespace basis. 6253d9b1a2aSHans Rosenfeld.It firmware 6263d9b1a2aSHans RosenfeldFirmware Slot Information 627533affcbSRobert Mustacchi.It changens 628533affcbSRobert MustacchiChanged Namespaces. 629*046911ebSRobert Mustacchi.It cmdeff 630*046911ebSRobert MustacchiCommands Supported and Effects. 631*046911ebSRobert MustacchiAn optional log page beginning in NVMe 1.2 that indicates what commands 632*046911ebSRobert Mustacchithe controller itself actually supports. 633533affcbSRobert Mustacchi.El 634533affcbSRobert Mustacchi.Pp 635533affcbSRobert MustacchiThe following vendor-specific log pages are supported. 636533affcbSRobert MustacchiNot all devices from a vendor support every log page. 637533affcbSRobert MustacchiUse the 638533affcbSRobert Mustacchi.Cm list-logpages 639533affcbSRobert Mustacchicommand to determine which are supported for a given device and whether 640533affcbSRobert Mustacchithey operate on a controller or namespace. 641533affcbSRobert Mustacchi.Bl -tag -width "wdc/devmgm" 6426a5dded7SRobert Mustacchi.It micron/smart 6436a5dded7SRobert MustacchiMicron Vendor Unique SMART. 6446a5dded7SRobert Mustacchi.It micron/extsmart 6456a5dded7SRobert MustacchiMicron Extended SMART. 646627ade2aSRobert Mustacchi.It ocp/smart 647627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification SMART / Health information. 648627ade2aSRobert Mustacchi.It ocp/errrec 649627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification error recovery log. 650627ade2aSRobert Mustacchi.It ocp/fwact 651627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification firmware activation log. 652627ade2aSRobert Mustacchi.It ocp/latency 653627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification latency monitor. 654627ade2aSRobert Mustacchi.It ocp/devcap 655627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification device capabilities. 656627ade2aSRobert Mustacchi.It ocp/unsup 657627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification unsupported requirements. 658533affcbSRobert Mustacchi.It wdc/eol 659533affcbSRobert MustacchiWestern Digital end-of-life. 660533affcbSRobert Mustacchi.It wdc/devmgmt 661533affcbSRobert MustacchiWestern Digital device manageability. 662533affcbSRobert Mustacchi.It wdc/pciesi 663533affcbSRobert MustacchiWestern Digital PCIe signal integrity. 664533affcbSRobert Mustacchi.It wdc/power 665533affcbSRobert MustacchiWestern Digital power samples. 666533affcbSRobert Mustacchi.It wdc/temp 667533affcbSRobert MustacchiWestern Digital temperature samples. 668533affcbSRobert Mustacchi.It wdc/fwact 669533affcbSRobert MustacchiWestern Digital firmware activation history. 670533affcbSRobert Mustacchi.It wdc/ccds 671533affcbSRobert MustacchiWestern Digital CCDS build information. 672533affcbSRobert Mustacchi.It wdc/cusmart 673533affcbSRobert MustacchiWestern Digital customer unique SMART data. 6743d9b1a2aSHans Rosenfeld.El 6753d9b1a2aSHans Rosenfeld.Pp 6763d9b1a2aSHans RosenfeldFor an explanation of the contents of the log pages refer to the 6773d9b1a2aSHans Rosenfelddescription of the 6783d9b1a2aSHans Rosenfeld.Qq GET LOGPAGE 6793d9b1a2aSHans Rosenfeldadmin command in the NVMe specification. 6803d9b1a2aSHans Rosenfeld.It Xo 6813d9b1a2aSHans Rosenfeld.Nm 682533affcbSRobert Mustacchi.Cm list-features 683533affcbSRobert Mustacchi.Op Fl a 684533affcbSRobert Mustacchi.Op Fl H 685533affcbSRobert Mustacchi.Op Fl o Ar field Ns [,...] Op Fl p 686533affcbSRobert Mustacchi.Ar ctl[/ns] Ns [,...] 687533affcbSRobert Mustacchi.Op Ar feature Ns [,...] 688533affcbSRobert Mustacchi.Xc 689533affcbSRobert MustacchiPrints the list of features and information about them specific to the 690533affcbSRobert Mustacchigiven controller or namespace. 691533affcbSRobert MustacchiThis is intended as a discovery mechanism and will print information 692533affcbSRobert Mustacchiabout known mandatory, optional, and vendor-specific features as well as 693533affcbSRobert Mustacchithe information that is useful for retrieving information about them. 694533affcbSRobert Mustacchi.Pp 695533affcbSRobert MustacchiThe 696533affcbSRobert Mustacchi.Nm 697533affcbSRobert Mustacchi.Cm list-features 698533affcbSRobert Mustacchicommand supports the following options: 699533affcbSRobert Mustacchi.Bl -tag -width Fl 700533affcbSRobert Mustacchi.It Fl a 701533affcbSRobert MustacchiPrint all features, regardless of whether or not the controller is known 702533affcbSRobert Mustacchito implement them. 703533affcbSRobert MustacchiBy default unimplemented features are not printed, but implemented and 704533affcbSRobert Mustacchiunknown ones are. 705533affcbSRobert Mustacchi.It Fl H 706533affcbSRobert MustacchiOmit the output header columns. 707533affcbSRobert Mustacchi.It Fl o Ar field Ns [,...] 708533affcbSRobert MustacchiA comma-separated list of one or more output fields to be used. 709533affcbSRobert MustacchiFields are listed below and the name is case insensitive. 710533affcbSRobert Mustacchi.It Fl p 711533affcbSRobert MustacchiProduce parsable output rather than human-readable output. 712533affcbSRobert MustacchiThis option requires that output fields be selected with the 713533affcbSRobert Mustacchi.Fl o 714533affcbSRobert Mustacchioption. 715533affcbSRobert Mustacchi.El 716533affcbSRobert Mustacchi.Pp 717533affcbSRobert MustacchiThe following fields are supported: 718533affcbSRobert Mustacchi.Bl -tag -width DATALEN 719533affcbSRobert Mustacchi.It Sy DEVICE 720533affcbSRobert MustacchiPrints the name of the controller or namespace. 721533affcbSRobert Mustacchi.It Sy SHORT 722533affcbSRobert MustacchiThis is a shortened name for a feature which can be used to identify it. 723533affcbSRobert MustacchiThese short names are unique to illumos and not part of the NVMe 724533affcbSRobert Mustacchispecification. 725533affcbSRobert Mustacchi.It Sy SPEC 726533affcbSRobert MustacchiThis is the specification's name for a given feature. 727533affcbSRobert Mustacchi.It Sy FID 728533affcbSRobert MustacchiThis is the numeric ID that can be used to uniquely identify a feature. 729533affcbSRobert Mustacchi.It Sy SCOPE 730533affcbSRobert MustacchiThis is a comma separated list of values that identifies what scopes 731533affcbSRobert Mustacchithis feature covers. 732533affcbSRobert MustacchiThe supported scopes are 733533affcbSRobert Mustacchi.Dq controller , 734533affcbSRobert Mustacchiwhich indicates that it impacts the entire controller and 735533affcbSRobert Mustacchi.Dq namespace , 736533affcbSRobert Mustacchiwhich indicates that it impacts just a single namespace. 737533affcbSRobert Mustacchi.It Sy KIND 738533affcbSRobert MustacchiThis indicates the kind of feature that this is. 739533affcbSRobert MustacchiValid options are: 740533affcbSRobert Mustacchi.Bl -tag -width vendor-specific 741533affcbSRobert Mustacchi.It Dq mandatory 742533affcbSRobert MustacchiIndicates that the NVMe specification considers this mandatory for all 743533affcbSRobert Mustacchicontrollers of a given version. 744533affcbSRobert Mustacchi.It Dq optional 745533affcbSRobert MustacchiIndicates that the NVMe specification considers this feature optional. 746533affcbSRobert MustacchiSome items may be mandatory if a device implements an optional feature 747533affcbSRobert Mustacchilike namespace management, but they will still be considered optional as 748533affcbSRobert Mustacchithe underlying feature is. 749533affcbSRobert Mustacchi.It Dq vendor-specific 750533affcbSRobert MustacchiIndicates that this log is a vendor-specific feature. 751533affcbSRobert MustacchiThese features are not part of the NVMe standard and are generally 752533affcbSRobert Mustacchidescribed in their own device's datasheets or a separate standard such 753533affcbSRobert Mustacchias the 754533affcbSRobert Mustacchi.%T OCP Datacenter NVMe SSD Specification . 755533affcbSRobert Mustacchi.El 756533affcbSRobert Mustacchi.It Sy CSI 757533affcbSRobert MustacchiThe command set interface that the feature is specific to. 758533affcbSRobert MustacchiMost features are not specific to a CSI. 759533affcbSRobert Mustacchi.It Sy FLAGS 760533affcbSRobert MustacchiThe flags are a series of comma separated strings which describe 761533affcbSRobert Mustacchiproperties of the feature. 762533affcbSRobert MustacchiThe following flags are currently supported: 763533affcbSRobert Mustacchi.Bl -tag -width "get-bcastns" 764533affcbSRobert Mustacchi.It Dq get-bcastns 765533affcbSRobert MustacchiIndicates that the broadcast namespace is supported when getting this 766533affcbSRobert Mustacchifeature. 767533affcbSRobert Mustacchi.It Dq set-bcastns 768533affcbSRobert MustacchiIndicates that the broadcast namespace is supported when setting this 769533affcbSRobert Mustacchifeature. 770533affcbSRobert MustacchiUsing the broadcast namespace indicates that all namespace are impacted. 771533affcbSRobert Mustacchi.El 772533affcbSRobert Mustacchi.It Sy GET-IN 773533affcbSRobert MustacchiA series of comma separated values indicating what is required to get 774533affcbSRobert Mustacchithis feature. 775533affcbSRobert MustacchiThe following values are supported: 776533affcbSRobert Mustacchi.Bl -tag -width cdw11 777533affcbSRobert Mustacchi.It cdw11 778533affcbSRobert MustacchiIndicates that the feature requires an argument in the cdw11 field of 779533affcbSRobert Mustacchithe command. 780533affcbSRobert MustacchiThis is generally a selector of some kind. 781533affcbSRobert MustacchiFor example, for the temperature threshold feature, it selects which of 782533affcbSRobert Mustacchiseveral sensors may be referred to. 783533affcbSRobert Mustacchi.It data 784533affcbSRobert MustacchiIndicates that a data buffer is required when getting this feature. 785533affcbSRobert MustacchiIts size is indicated by the DATALEN field. 786533affcbSRobert Mustacchi.It nsid 787533affcbSRobert MustacchiIndicates that a namespace ID is required when getting this feature. 788533affcbSRobert Mustacchi.El 789533affcbSRobert Mustacchi.It Sy SET-IN 790533affcbSRobert MustacchiA series of comma separated values indicating what is required to get 791533affcbSRobert Mustacchithis feature. 792533affcbSRobert MustacchiThe following values are supported: 793533affcbSRobert Mustacchi.Bl -tag -width cdw11 794533affcbSRobert Mustacchi.It cdw11 795533affcbSRobert MustacchiIndicates that the feature uses information in cdw11 to set the feature. 796533affcbSRobert Mustacchi.It cdw12 797533affcbSRobert MustacchiIndicates that the feature uses information in cdw12 to set the feature. 798533affcbSRobert Mustacchi.It cdw13 799533affcbSRobert MustacchiIndicates that the feature uses information in cdw13 to set the feature. 800533affcbSRobert Mustacchi.It cdw14 801533affcbSRobert MustacchiIndicates that the feature uses information in cdw14 to set the feature. 802533affcbSRobert Mustacchi.It cdw15 803533affcbSRobert MustacchiIndicates that the feature uses information in cdw15 to set the feature. 804533affcbSRobert Mustacchi.It data 805533affcbSRobert MustacchiIndicates that the feature takes a data payload to set the feature. 806533affcbSRobert MustacchiIts size is indicated by the DATALEN field. 807533affcbSRobert Mustacchi.It nsid 808533affcbSRobert MustacchiIndicates that the feature requires a valid namespace identifier. 809533affcbSRobert Mustacchi.El 810533affcbSRobert Mustacchi.It Sy GET-OUT 811533affcbSRobert MustacchiA series of comma separated values indicating what the controller will 812533affcbSRobert Mustacchireturn information about this feature in. 813533affcbSRobert MustacchiThe following values are supported: 814533affcbSRobert Mustacchi.Bl -tag -width cdw0 815533affcbSRobert Mustacchi.It cdw0 816533affcbSRobert MustacchiIndicates that the controller will give information about the feature in 817533affcbSRobert Mustacchithe command output 32-bit value. 818533affcbSRobert Mustacchi.It data 819533affcbSRobert MustacchiIndicates that the controller will output information about the feature 820533affcbSRobert Mustacchiinto the output buffer. 821533affcbSRobert Mustacchi.El 822533affcbSRobert Mustacchi.It Sy SET-OUT 823533affcbSRobert MustacchiA series of comma separated values indicating what the controller will 824533affcbSRobert Mustacchiupdate following the successful completion of setting the feature. 825533affcbSRobert MustacchiThese values are the same as with the GET-OUT field. 826533affcbSRobert Mustacchi.It Sy DATALEN 827533affcbSRobert MustacchiIndicates the length of data for the feature. 828533affcbSRobert Mustacchi.It Sy IMPL 829533affcbSRobert MustacchiIndicates whether or not the feature is known to be implemented or not. 830533affcbSRobert MustacchiThe following values are possible: 831533affcbSRobert Mustacchi.Bl -tag -width unknown 832533affcbSRobert Mustacchi.It Dq unknown 833533affcbSRobert MustacchiIndicates that it is unknown as to whether or not the feature is 834533affcbSRobert Mustacchiimplemented. 835533affcbSRobert MustacchiSome features are optional and there is no way to determine this short 836533affcbSRobert Mustacchiof issuing an attempt to get the feature itself. 837533affcbSRobert Mustacchi.It Dq yes 838533affcbSRobert MustacchiIndicates that we know the feature is implemented by the controller. 839533affcbSRobert Mustacchi.It Dq no 840533affcbSRobert MustacchiIndicates that we know the feature is not implemented by the controller. 841533affcbSRobert Mustacchi.El 842533affcbSRobert Mustacchi.El 843533affcbSRobert Mustacchi.Pp 844533affcbSRobert MustacchiThe 845533affcbSRobert Mustacchi.Cm list-features 846533affcbSRobert Mustacchicommand supports a series of operands which can be used to filter the 847533affcbSRobert Mustacchilist of features that information is printed out about. 848533affcbSRobert MustacchiEach 849533affcbSRobert Mustacchi.Ar feature 850533affcbSRobert Mustacchioperand is either the short name or the specification's name for a given 851533affcbSRobert Mustacchifeature. 852533affcbSRobert MustacchiIn addition, the numeric feature ID can also be used as a filter. 853533affcbSRobert MustacchiIf no features match a given operand or no features are printed at all 854533affcbSRobert Mustacchithen the command will generate an error. 855533affcbSRobert Mustacchi.It Xo 856533affcbSRobert Mustacchi.Nm 8573d9b1a2aSHans Rosenfeld.Cm get-features 858e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...] 8593d9b1a2aSHans Rosenfeld.Op Ar feature-list 8603d9b1a2aSHans Rosenfeld.Xc 8613d9b1a2aSHans RosenfeldPrints information about the specified features, or all features if 8623d9b1a2aSHans Rosenfeldnone are given, of the specified controllers and/or namespaces. 8633d9b1a2aSHans RosenfeldFeature names are case-insensitive, and they can be shortened as long 8643d9b1a2aSHans Rosenfeldas they remain unique. 8653d9b1a2aSHans RosenfeldSome features also have alternative short names to which the same 8663d9b1a2aSHans Rosenfeldrules apply. 8673d9b1a2aSHans RosenfeldThe following features are supported: 8683d9b1a2aSHans Rosenfeld.Pp 8693d9b1a2aSHans Rosenfeld.TS 8703d9b1a2aSHans Rosenfeldtab(:); 8713d9b1a2aSHans Rosenfeldl l l. 8723d9b1a2aSHans RosenfeldFULL NAME:SHORT NAME:CONTROLLER/NAMESPACE 873533affcbSRobert MustacchiArbitration:arb:controller 874533affcbSRobert MustacchiPower Management:pm:controller 8753d9b1a2aSHans RosenfeldLBA Range Type:range:namespace 876533affcbSRobert MustacchiTemperature Threshold:temp:controller 877533affcbSRobert MustacchiError Recovery:errec:controller 8783d9b1a2aSHans RosenfeldVolatile Write Cache:cache:controller 8793d9b1a2aSHans RosenfeldNumber of Queues:queues:controller 8803d9b1a2aSHans RosenfeldInterrupt Coalescing:coalescing:controller 8813d9b1a2aSHans RosenfeldInterrupt Vector Configuration:vector:controller 8823d9b1a2aSHans RosenfeldWrite Atomicity:atomicity:controller 8833d9b1a2aSHans RosenfeldAsynchronous Event Configuration:event:controller 884533affcbSRobert MustacchiAutonomous Power State Transition:apst:controller 8853d9b1a2aSHans RosenfeldSoftware Progress Marker:progress:controller 8863d9b1a2aSHans Rosenfeld.TE 8873d9b1a2aSHans Rosenfeld.Pp 8883d9b1a2aSHans RosenfeldFor an explanation of the individual features refer to the description 8893d9b1a2aSHans Rosenfeldof the 8903d9b1a2aSHans Rosenfeld.Qq SET FEATURES 8913d9b1a2aSHans Rosenfeldadmin command in the NVMe specification. 8923d9b1a2aSHans Rosenfeld.It Xo 8933d9b1a2aSHans Rosenfeld.Nm 8943d9b1a2aSHans Rosenfeld.Cm format 8953d9b1a2aSHans Rosenfeld.Ar ctl[/ns] 8963d9b1a2aSHans Rosenfeld.Op Ar lba-format 8973d9b1a2aSHans Rosenfeld.Xc 8983d9b1a2aSHans RosenfeldFormats the specified namespace or all namespaces of the specified 8993d9b1a2aSHans Rosenfeldcontroller. 9003d9b1a2aSHans RosenfeldThis command implies a 9013d9b1a2aSHans Rosenfeld.Nm 9023d9b1a2aSHans Rosenfeld.Cm detach 9033d9b1a2aSHans Rosenfeldand subsequent 9043d9b1a2aSHans Rosenfeld.Nm 9053d9b1a2aSHans Rosenfeld.Cm attach 9063d9b1a2aSHans Rosenfeldof the specified namespace(s), which will cause a changed LBA format 9073d9b1a2aSHans Rosenfeldto be detected. 9083d9b1a2aSHans RosenfeldIf no LBA format is specified the LBA format currently used by the 9093d9b1a2aSHans Rosenfeldnamespace will be used. 9103d9b1a2aSHans RosenfeldWhen formatting all namespaces without specifying a LBA format the LBA 9113d9b1a2aSHans Rosenfeldformat of namespace 1 will be used. 9123d9b1a2aSHans RosenfeldA list of LBA formats supported by a namespace can be queried with the 9133d9b1a2aSHans Rosenfeld.Nm 9143d9b1a2aSHans Rosenfeld.Cm identify 9153d9b1a2aSHans Rosenfeldcommand. 9163d9b1a2aSHans Rosenfeld.Pp 9173d9b1a2aSHans RosenfeldNote that not all devices support formatting individual or all 9183d9b1a2aSHans Rosenfeldnamespaces, or support formatting at all. 9193d9b1a2aSHans Rosenfeld.Pp 9203d9b1a2aSHans RosenfeldLBA formats using a non-zero metadata size are not supported by 9213d9b1a2aSHans Rosenfeld.Nm 9223d9b1a2aSHans Rosenfeldor 923bbf21555SRichard Lowe.Xr nvme 4D . 9243d9b1a2aSHans Rosenfeld.Pp 9253d9b1a2aSHans RosenfeldThe list of supported LBA formats on a namespace can be retrieved 9263d9b1a2aSHans Rosenfeldwith the 9273d9b1a2aSHans Rosenfeld.Nm 9283d9b1a2aSHans Rosenfeld.Cm identify 9293d9b1a2aSHans Rosenfeldcommand. 9303d9b1a2aSHans Rosenfeld.It Xo 9313d9b1a2aSHans Rosenfeld.Nm 9323d9b1a2aSHans Rosenfeld.Cm secure-erase 9333d9b1a2aSHans Rosenfeld.Op Fl c 934a3bac573SHans Rosenfeld.Ar ctl[/ns] 9353d9b1a2aSHans Rosenfeld.Xc 9363d9b1a2aSHans RosenfeldErases the specified namespace or all namespaces of the controller. 9373d9b1a2aSHans RosenfeldThe flag 9383d9b1a2aSHans Rosenfeld.Fl c 9393d9b1a2aSHans Rosenfeldwill cause a cryptographic erase instead of a normal erase. 9403d9b1a2aSHans RosenfeldThis command implies a 9413d9b1a2aSHans Rosenfeld.Nm 9423d9b1a2aSHans Rosenfeld.Cm detach 9433d9b1a2aSHans Rosenfeldand 9443d9b1a2aSHans Rosenfeld.Nm 9453d9b1a2aSHans Rosenfeld.Cm attach 9463d9b1a2aSHans Rosenfeldof the specified namespace(s). 9473d9b1a2aSHans Rosenfeld.Pp 9483d9b1a2aSHans RosenfeldNote that not all devices support erasing individual or all 9493d9b1a2aSHans Rosenfeldnamespaces, or support erasing at all. 9503d9b1a2aSHans Rosenfeld.It Xo 9513d9b1a2aSHans Rosenfeld.Nm 9523d9b1a2aSHans Rosenfeld.Cm detach 9533d9b1a2aSHans Rosenfeld.Ar ctl[/ns] 9543d9b1a2aSHans Rosenfeld.Xc 9553d9b1a2aSHans RosenfeldTemporarily detaches the 956bbf21555SRichard Lowe.Xr blkdev 4D 9573d9b1a2aSHans Rosenfeldinstance from the specified namespace or all namespaces of the controller. 9583d9b1a2aSHans RosenfeldThis will prevent I/O access to the affected namespace(s). 9593d9b1a2aSHans RosenfeldDetach will only succeed if the affected namespace(s) are not 9603d9b1a2aSHans Rosenfeldcurrently opened. 9613d9b1a2aSHans RosenfeldThe detached state will not persist across reboots or reloads of the 962bbf21555SRichard Lowe.Xr nvme 4D 9633d9b1a2aSHans Rosenfelddriver. 96463cdc4a2SHans Rosenfeld.Pp 96563cdc4a2SHans RosenfeldIt is not an error to detach a namespace that is already detached, any such 96663cdc4a2SHans Rosenfeldrequest will be silently ignored. 9673d9b1a2aSHans Rosenfeld.It Xo 9683d9b1a2aSHans Rosenfeld.Nm 9693d9b1a2aSHans Rosenfeld.Cm attach 9703d9b1a2aSHans Rosenfeld.Ar ctl[/ns] 9713d9b1a2aSHans Rosenfeld.Xc 9723d9b1a2aSHans RosenfeldAttaches the 973bbf21555SRichard Lowe.Xr blkdev 4D 9743d9b1a2aSHans Rosenfeldinstance to the specified namespace or all namespaces of the controller. 9753d9b1a2aSHans RosenfeldThis will make I/O accesses to the namespace(s) possible again after a 9763d9b1a2aSHans Rosenfeldprevious 9773d9b1a2aSHans Rosenfeld.Nm 9783d9b1a2aSHans Rosenfeld.Cm detach 9793d9b1a2aSHans Rosenfeldcommand. 98063cdc4a2SHans Rosenfeld.Pp 98163cdc4a2SHans RosenfeldIt is not an error to attach a namespace that is already attached, any such 98263cdc4a2SHans Rosenfeldrequest will be silently ignored. 983cf840871SPaul Winder.It Xo 984cf840871SPaul Winder.Nm 98568df0c4fSGuy Morrogh.Cm list-firmware 98668df0c4fSGuy Morrogh.Ar ctl 98768df0c4fSGuy Morrogh.Xc 98868df0c4fSGuy MorroghList currently active firmware slot, the next active firmware slot, and the 98968df0c4fSGuy Morroghcurrent contents of all firmware slots of an NVMe controller. 99068df0c4fSGuy MorroghThis is a synonym for the 99168df0c4fSGuy Morrogh.Nm 99268df0c4fSGuy Morrogh.Cm get-logpage 99368df0c4fSGuy Morrogh.Ar ctl 99468df0c4fSGuy Morrogh.Cm firmware 99568df0c4fSGuy Morroghcommand. 99668df0c4fSGuy Morrogh.It Xo 99768df0c4fSGuy Morrogh.Nm 998cf840871SPaul Winder.Cm load-firmware 999cf840871SPaul Winder.Ar ctl 1000cf840871SPaul Winder.Ar firmware-file 1001cf840871SPaul Winder.Op Ar offset 1002cf840871SPaul Winder.Xc 1003cf840871SPaul WinderLoads 1004cf840871SPaul Winder.Ar firmware-file 1005cf840871SPaul Winderinto the controller's upload memory at 1006cf840871SPaul Winder.Ar offset , 1007cf840871SPaul Winderthe default is 0. A vendor may require multiple files to be loaded 1008cf840871SPaul Winderat different offsets before the firmware is committed to a 1009cf840871SPaul Winder.Ar slot . 1010cf840871SPaul Winder.It Xo 1011cf840871SPaul Winder.Nm 1012cf840871SPaul Winder.Cm commit-firmware 1013cf840871SPaul Winder.Ar ctl 1014cf840871SPaul Winder.Ar slot 1015cf840871SPaul Winder.Xc 1016cf840871SPaul WinderCommits firmware previously loaded by the 1017cf840871SPaul Winder.Cm load-firmware 1018cf840871SPaul Windercommand to 1019cf840871SPaul Winder.Ar slot . 1020cf840871SPaul Winder.It Xo 1021cf840871SPaul Winder.Nm 1022cf840871SPaul Winder.Cm activate-firmware 1023cf840871SPaul Winder.Ar ctl 1024cf840871SPaul Winder.Ar slot 1025cf840871SPaul Winder.Xc 1026cf840871SPaul WinderActivates the firmware in slot 1027cf840871SPaul Winder.Ar slot . 1028cf840871SPaul WinderThe firmware image in 1029cf840871SPaul Winder.Ar slot 1030cf840871SPaul Winderis activated at the next NVM controller reset. 1031533affcbSRobert Mustacchi.It Xo 1032533affcbSRobert Mustacchi.Nm 1033533affcbSRobert Mustacchi.Cm wdc/e6dump 1034533affcbSRobert Mustacchi.Fl o Ar output 1035533affcbSRobert Mustacchi.Ar ctl 1036533affcbSRobert Mustacchi.Xc 1037533affcbSRobert MustacchiThis vendor-specific command performs a diagnostic dump of device data 1038533affcbSRobert Mustacchito the file specified by 1039533affcbSRobert Mustacchi.Ar output . 1040533affcbSRobert MustacchiThe device remains in full service while this is occurring. 1041533affcbSRobert Mustacchi.It Xo 1042533affcbSRobert Mustacchi.Nm 1043533affcbSRobert Mustacchi.Cm wdc/resize 1044533affcbSRobert Mustacchi.Fl s Ar size | Fl g 1045533affcbSRobert Mustacchi.Ar ctl 1046533affcbSRobert Mustacchi.Xc 1047533affcbSRobert MustacchiThis vendor-specific command will get the current over provisioning size 1048533affcbSRobert Mustacchior set it. 1049533affcbSRobert MustacchiThis command operates using power of 10 bytes, that is in terms of 1050533affcbSRobert Mustacchigigabytes and not gibibytes. 1051533affcbSRobert MustacchiThe sizes that are used here will be different from those that the 1052533affcbSRobert Mustacchioperating system will report for the drive. 1053533affcbSRobert Mustacchi.Pp 1054533affcbSRobert MustacchiThe following options are supported: 1055533affcbSRobert Mustacchi.Bl -tag -width Fl 1056533affcbSRobert Mustacchi.It Fl g 1057533affcbSRobert MustacchiReturns the current size of the device in gigabytes 1058533affcbSRobert Mustacchi.Pq powers of 10 . 1059533affcbSRobert Mustacchi.It Fl s Ar size 1060533affcbSRobert MustacchiSets the size of the device to 1061533affcbSRobert Mustacchi.Ar size 1062533affcbSRobert Mustacchiwhich is in gigabytes 1063533affcbSRobert Mustacchi.Pq powers of 10 . 1064533affcbSRobert MustacchiThis can be used to adjust the over provisioning ratio on the device. 1065533affcbSRobert MustacchiThe valid points are device-specific. 1066533affcbSRobert MustacchiPlease consult WDC datasheets for more information. 1067533affcbSRobert Mustacchi.Pp 1068533affcbSRobert MustacchiWhen performing a resize 1069533affcbSRobert Mustacchi.Em all data and namespace will be erased ! 1070533affcbSRobert MustacchiAll namespaces must be detached prior to issuing this. 1071533affcbSRobert Mustacchi.El 10727a27a99aSRobert Mustacchi.It Xo 10737a27a99aSRobert Mustacchi.Nm 10747a27a99aSRobert Mustacchi.Op Fl dv 10757a27a99aSRobert Mustacchi.Cm wdc/clear-assert 10767a27a99aSRobert Mustacchi.Ar ctl 10777a27a99aSRobert Mustacchi.Xc 10787a27a99aSRobert MustacchiThis clears an internal assertion record from a WDC device. 10797a27a99aSRobert MustacchiPrior to running this any such internal assertion should be saved by using the 10807a27a99aSRobert Mustacchi.Cm wdc/e6dump 10817a27a99aSRobert Mustacchicommand. 10827a27a99aSRobert MustacchiThis command should only be used if instructed to do so as part of a 10837a27a99aSRobert Mustacchitroubleshooting process. 10847a27a99aSRobert Mustacchi.It Xo 10857a27a99aSRobert Mustacchi.Nm 10867a27a99aSRobert Mustacchi.Op Fl dv 10877a27a99aSRobert Mustacchi.Cm wdc/inject-assert 10887a27a99aSRobert Mustacchi.Ar ctl 10897a27a99aSRobert Mustacchi.Xc 10907a27a99aSRobert MustacchiThis injects a device assertion into a WDC NVMe device. 10917a27a99aSRobert MustacchiThe behavior of doing so is device specific; however, all I/O will be 10927a27a99aSRobert Mustacchiinterrupted and the device may be retired. 10937a27a99aSRobert MustacchiUnless explicitly instructed as part of debugging a device or as part of 10947a27a99aSRobert Mustacchiinternal development, this command should not be used. 10953d9b1a2aSHans Rosenfeld.El 10963d9b1a2aSHans Rosenfeld.Sh EXIT STATUS 10973d9b1a2aSHans Rosenfeld.Ex -std 10983d9b1a2aSHans Rosenfeld.Sh EXAMPLES 10993d9b1a2aSHans Rosenfeld.Bl -tag -width "" 11003d9b1a2aSHans Rosenfeld.It Sy Example 1: List all NVMe controllers and namespaces 11013d9b1a2aSHans Rosenfeld.Bd -literal 11023d9b1a2aSHans Rosenfeld# nvmeadm list 11033d9b1a2aSHans Rosenfeldnvme1: model: INTEL SSDPEDMD800G4, serial: CVFT4134001R800CGN, FW rev: 8DV10049, NVMe v1.0 11043d9b1a2aSHans Rosenfeld nvme1/1 (c1t1d0): Size = 763097 MB, Capacity = 763097 MB, Used = 763097 MB 11053d9b1a2aSHans Rosenfeldnvme4: model: SAMSUNG MZVPV128HDGM-00000, serial: S1XVNYAGA00640, FW rev: BXW7300Q, NVMe v1.1 11063d9b1a2aSHans Rosenfeld nvme4/1 (c2t2d0): Size = 122104 MB, Capacity = 122104 MB, Used = 5127 MB 11073d9b1a2aSHans Rosenfeld.Ed 11083d9b1a2aSHans Rosenfeld.It Sy Example 2: Identify a namespace 11093d9b1a2aSHans Rosenfeld.Bd -literal 11103d9b1a2aSHans Rosenfeld# nvmeadm identify nvme4/1 11113d9b1a2aSHans Rosenfeldnvme4/1: Identify Namespace 11123d9b1a2aSHans Rosenfeld Namespace Capabilities and Features 11133d9b1a2aSHans Rosenfeld Namespace Size: 122104MB 11143d9b1a2aSHans Rosenfeld Namespace Capacity: 122104MB 11153d9b1a2aSHans Rosenfeld Namespace Utilization: 5127MB 11163d9b1a2aSHans Rosenfeld Namespace Features 11173d9b1a2aSHans Rosenfeld Thin Provisioning: unsupported 11183d9b1a2aSHans Rosenfeld Number of LBA Formats: 1 11193d9b1a2aSHans Rosenfeld Formatted LBA Size 11203d9b1a2aSHans Rosenfeld LBA Format: 1 11213d9b1a2aSHans Rosenfeld Extended Data LBA: no 11223d9b1a2aSHans Rosenfeld Metadata Capabilities 11233d9b1a2aSHans Rosenfeld Extended Data LBA: unsupported 11243d9b1a2aSHans Rosenfeld Separate Metadata: unsupported 11253d9b1a2aSHans Rosenfeld End-to-End Data Protection Capabilities 11263d9b1a2aSHans Rosenfeld Protection Information Type 1: unsupported 11273d9b1a2aSHans Rosenfeld Protection Information Type 2: unsupported 11283d9b1a2aSHans Rosenfeld Protection Information Type 3: unsupported 11293d9b1a2aSHans Rosenfeld Protection Information first: unsupported 11303d9b1a2aSHans Rosenfeld Protection Information last: unsupported 11313d9b1a2aSHans Rosenfeld End-to-End Data Protection Settings 11323d9b1a2aSHans Rosenfeld Protection Information: disabled 11333d9b1a2aSHans Rosenfeld Protection Information in Metadata: last 8 bytes 11343d9b1a2aSHans Rosenfeld LBA Format 1 11353d9b1a2aSHans Rosenfeld Metadata Size: 0 bytes 11363d9b1a2aSHans Rosenfeld LBA Data Size: 512 bytes 11373d9b1a2aSHans Rosenfeld Relative Performance: Best 11383d9b1a2aSHans Rosenfeld.Ed 11393d9b1a2aSHans Rosenfeld.It Sy Example 3: Get SMART/Health information (verbose) 11403d9b1a2aSHans Rosenfeld.Bd -literal 11413d9b1a2aSHans Rosenfeld# nvmeadm -v get-logpage nvme4/1 health 11423d9b1a2aSHans Rosenfeldnvme4/1: SMART/Health Information 11433d9b1a2aSHans Rosenfeld Critical Warnings 11443d9b1a2aSHans Rosenfeld Available Space: OK 11453d9b1a2aSHans Rosenfeld Temperature: OK 11463d9b1a2aSHans Rosenfeld Device Reliability: OK 11473d9b1a2aSHans Rosenfeld Media: OK 11483d9b1a2aSHans Rosenfeld Volatile Memory Backup: OK 11493d9b1a2aSHans Rosenfeld Temperature: 37C 11503d9b1a2aSHans Rosenfeld Available Spare Capacity: 100% 11513d9b1a2aSHans Rosenfeld Available Spare Threshold: 10% 11523d9b1a2aSHans Rosenfeld Device Life Used: 0% 11533d9b1a2aSHans Rosenfeld Data Read: 0GB 11543d9b1a2aSHans Rosenfeld Data Written: 64GB 11553d9b1a2aSHans Rosenfeld Read Commands: 52907 11563d9b1a2aSHans Rosenfeld Write Commands: 567874 11573d9b1a2aSHans Rosenfeld Controller Busy: 1min 11583d9b1a2aSHans Rosenfeld Power Cycles: 6 11593d9b1a2aSHans Rosenfeld Power On: 141h 11603d9b1a2aSHans Rosenfeld Unsafe Shutdowns: 1 11613d9b1a2aSHans Rosenfeld Uncorrectable Media Errors: 0 11623d9b1a2aSHans Rosenfeld Errors Logged: 1 11633d9b1a2aSHans Rosenfeld.Ed 11643d9b1a2aSHans Rosenfeld.It Sy Example 4: Get Asynchronous Event Configuration information 11653d9b1a2aSHans Rosenfeld.Bd -literal 11663d9b1a2aSHans Rosenfeld# nvmeadm get-features nvme0,nvme4 event,power 11673d9b1a2aSHans Rosenfeldnvme0: Get Features 11683d9b1a2aSHans Rosenfeld Asynchronous Event Configuration 11693d9b1a2aSHans Rosenfeld Available Space below threshold: disabled 11703d9b1a2aSHans Rosenfeld Temperature above threshold: disabled 11713d9b1a2aSHans Rosenfeld Device Reliability compromised: disabled 11723d9b1a2aSHans Rosenfeld Media read-only: disabled 11733d9b1a2aSHans Rosenfeld Power Management 11743d9b1a2aSHans Rosenfeld Power State: 0 11753d9b1a2aSHans Rosenfeldnvme4: Get Features 11763d9b1a2aSHans Rosenfeld Asynchronous Event Configuration 11773d9b1a2aSHans Rosenfeld Available Space below threshold: disabled 11783d9b1a2aSHans Rosenfeld Temperature above threshold: disabled 11793d9b1a2aSHans Rosenfeld Device Reliability compromised: disabled 11803d9b1a2aSHans Rosenfeld Media read-only: disabled 11813d9b1a2aSHans Rosenfeld Volatile Memory Backup failed: disabled 11823d9b1a2aSHans Rosenfeld Power Management 11833d9b1a2aSHans Rosenfeld Power State: 0 11843d9b1a2aSHans Rosenfeld.Ed 1185cf840871SPaul Winder.It Sy Example 5: Load and activate firmware 1186cf840871SPaul Winder.Bd -literal 118768df0c4fSGuy Morrogh# nvmeadm list-firmware nvme3 1188cf840871SPaul Windernvme3: Firmware Slot Information 1189cf840871SPaul Winder Active Firmware Slot: 4 1190cf840871SPaul Winder Next Firmware Slot: 4 11918466ab88SHans Rosenfeld Firmware Revision for Slot 1: KNGND110 (read-only) 1192cf840871SPaul Winder Firmware Revision for Slot 2: KNGND110 1193cf840871SPaul Winder Firmware Revision for Slot 3: KNGND110 1194cf840871SPaul Winder Firmware Revision for Slot 4: KNGND112 1195cf840871SPaul Winder Firmware Revision for Slot 5: KNGND110 1196cf840871SPaul Winder 1197cf840871SPaul Winder# nvmeadm -v load-firmware nvme3 KNGND113.bin 1198cf840871SPaul Winder1740544 bytes downloaded. 1199cf840871SPaul Winder 1200cf840871SPaul Winder# nvmeadm -v commit-firmware nvme3 5 1201cf840871SPaul WinderFirmware committed to slot 5. 1202cf840871SPaul Winder 1203cf840871SPaul Winder# nvmeadm -v activate-firmware nvme3 5 1204cf840871SPaul WinderSlot 5 activated: NVM subsystem reset required - power cycle your system. 1205cf840871SPaul Winder 120668df0c4fSGuy Morrogh# nvmeadm list-firmware nvme3 1207cf840871SPaul Windernvme3: Firmware Slot Information 1208cf840871SPaul Winder Active Firmware Slot: 4 1209cf840871SPaul Winder Next Firmware Slot: 5 12108466ab88SHans Rosenfeld Firmware Revision for Slot 1: KNGND110 (read-only) 1211cf840871SPaul Winder Firmware Revision for Slot 2: KNGND110 1212cf840871SPaul Winder Firmware Revision for Slot 3: KNGND110 1213cf840871SPaul Winder Firmware Revision for Slot 4: KNGND112 1214cf840871SPaul Winder Firmware Revision for Slot 5: KNGND113 1215cf840871SPaul Winder.Ed 1216533affcbSRobert Mustacchi.It Sy Example 6: Listing Log Pages 1217533affcbSRobert Mustacchi.Bd -literal 1218533affcbSRobert Mustacchi# nvmeadm list-logpages nvme8 1219533affcbSRobert MustacchiDEVICE NAME SCOPE FIELDS DESC 1220533affcbSRobert Mustacchinvme8 error controller rae Error information 1221533affcbSRobert Mustacchinvme8 health controller, rae SMART / Health information 1222533affcbSRobert Mustacchi namespace 1223533affcbSRobert Mustacchinvme8 firmware nvm -- Firmware Slot Information 1224533affcbSRobert Mustacchinvme8 changens controller rae changed namespaces 1225533affcbSRobert Mustacchinvme8 wdc/eol nvm -- EOL 1226533affcbSRobert Mustacchinvme8 wdc/devmgmt controller, -- Device Manageability 1227533affcbSRobert Mustacchi namespace 1228533affcbSRobert Mustacchinvme8 wdc/pciesi controller lsp PCIe Signal Integrity 1229533affcbSRobert Mustacchinvme8 wdc/power controller -- Power Samples 1230533affcbSRobert Mustacchinvme8 wdc/temp controller -- Temperature Samples 1231533affcbSRobert Mustacchinvme8 wdc/fwact controller -- Firmware Activation 1232533affcbSRobert Mustacchinvme8 wdc/ccds controller -- CCDS Build Information 1233533affcbSRobert Mustacchi# nvmeadm list-logpages -p -o name,impl nvme8 firmware 1234533affcbSRobert Mustacchifirmware:yes 1235533affcbSRobert Mustacchi.Ed 12363d9b1a2aSHans Rosenfeld.El 12373d9b1a2aSHans Rosenfeld.Sh INTERFACE STABILITY 12383d9b1a2aSHans RosenfeldThe command line interface of 12393d9b1a2aSHans Rosenfeld.Nm 12403d9b1a2aSHans Rosenfeldis 12413d9b1a2aSHans Rosenfeld.Sy Evolving . 12423d9b1a2aSHans RosenfeldThe output of 12433d9b1a2aSHans Rosenfeld.Nm 12443d9b1a2aSHans Rosenfeldis 12453d9b1a2aSHans Rosenfeld.Sy Not-an-Interface 12463d9b1a2aSHans Rosenfeldand may change any time. 12473d9b1a2aSHans Rosenfeld.Sh SEE ALSO 1248bbf21555SRichard Lowe.Xr nvme 4D 12493d9b1a2aSHans Rosenfeld.Pp 12503d9b1a2aSHans Rosenfeld.Lk http://www.nvmexpress.org/specifications/ "NVMe specifications" 1251