'\" t
.\" Title: nvme-rpmb-write-data
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 09/07/2026
.\" Manual: NVMe Manual
.\" Source: NVMe
.\" Language: English
.\"
.TH "NVME\-RPMB\-WRITE\-D" "1" "09/07/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-rpmb-write-data \- Write authenticated data to an RPMB target
.SH "SYNOPSIS"
.sp
.nf
\fInvme\fR [] \fIrpmb write\-data\fR
[\-\-msgfile= | \-f ]
[\-\-msg= | \-d ]
[\-\-keyfile= | \-g ]
[\-\-key= | \-k ]
[\-\-address= | \-o ]
[\-\-blocks=<512 byte sectors> | \-b ]
[\-\-target= | \-t ]
.fi
.SH "DESCRIPTION"
.sp
Supports authenticated data writing to the specified RPMB target, at the given sector offset, using the authentication key previously programmed with \fInvme rpmb program\-key\fR for that target\&.
.sp
If the requested size is not within the total size supported by the target, the request fails without being sent to the device\&.
.sp
The parameter is mandatory and an NVMe character device (ex: /dev/nvme0) must be specified\&.
.SH "OPTIONS"
.PP
\-t , \-\-target=
.RS 4
RPMB target id\&. This should be one of the supported RPMB targets as reported by
\fInvme rpmb info\fR\&. If nothing is given, the default of 0 is used as the RPMB target\&.
.RE
.PP
\-o , \-\-address=
.RS 4
The address (in 512 byte sector offset from 0) to write to on the specified RPMB target\&.
.RE
.PP
\-b , \-\-blocks=
.RS 4
The size in 512 byte sectors to write to the specified RPMB target\&.
.RE
.PP
\-k , \-\-key=, \-g , \-\-keyfile=
.RS 4
Authentication key previously programmed with
\fInvme rpmb program\-key\fR
for the given target\&. The key can be specified on the command line using \-\-key or \-k, or read from a file using \-\-keyfile or \-g\&.
.RE
.PP
\-f , \-\-msgfile=
.RS 4
Name of the file the data to be written is read from\&.
.RE
.PP
\-d , \-\-msg=
.RS 4
Provides the data to be written directly on the command line, instead of reading it from a file\&.
.RE
.SH "GLOBAL OPTIONS"
.sp
The following options are defined at the top\-level nvme command and are available to this subcommand:
.PP
\-\-dry\-run
.RS 4
Print the command that would be executed, but do not actually execute it\&.
.RE
.PP
\-\-no\-ioctl\-probing
.RS 4
Disable probing for 64\-bit IOCTL support\&.
.RE
.PP
\-\-no\-retries
.RS 4
Disable retry logic on transient errors\&.
.RE
.PP
\-o , \-\-output\-format=
.RS 4
Set the reporting format to
\fInormal\fR,
\fItabular, \*(Aqjson\fR, or
\fIbinary\fR\&. Only one output format may be used at a time\&.
.RE
.PP
\-\-output\-format\-version=
.RS 4
Select the output format version\&. Version
\fI1\fR
uses the original field naming, while version
\fI2\fR
(default) provides more consistent and script\-friendly field names\&.
.RE
.PP
\-\-timeout=
.RS 4
Set the timeout for the command in milliseconds\&.
.RE
.PP
\-v, \-\-verbose
.RS 4
Increase the level of detail in the output\&. May be specified multiple times to further increase verbosity\&.
.RE
.sp
These options can also be set as machine\-wide defaults in nvme\-cli\&.conf(5)\&. A command\-line flag always overrides the file\&.
.SH "EXAMPLES"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Write 200 blocks of (512 bytes) from input\&.bin onto target 0
.sp
.if n \{\
.RS 4
.\}
.nf
# nvme rpmb write\-data /dev/nvme0 \-t 0 \-f input\&.bin \-b 200 \-k \*(AqSecretKey\*(Aq
.fi
.if n \{\
.RE
.\}
.RE
.SH "NVME"
.sp
Part of the nvme\-user suite