NVME-GEN-DHCHAP-K(1)
πΈ NVME-GEN-DHCHAP-KEY β bestie, it's giving deprecated π
okay so this is the nvme-gen-dhchap-key page from the NVMe Manual, and it is literally the shortest little glow-up of a manpage β but every crumb matters, so buckle up π
β¨ SYNOPSIS β¨
nvme [<global-options>] gen-dhchap-key [--hmac=<hmac-id> | -m <hmac-id>]
[--secret=<secret> | -s <secret>]
[--key-length=<len> | -l <len>]
[--nqn=<host-nqn> | -n <host-nqn>]
like yes, that's the whole vibe. four options, two ways to write each, no notes π«Ά
π¦ DESCRIPTION π¦
So nvme-gen-dhchap-key generates a host DH-HMAC-CHAP secret β but ngl, it's deprecated, and it's basically a nepo-baby alias for nvme-keys-gen-kxchap-secret(1). It's still here because scripts written against nvme-cli versions older than 3.0 still need it to work, and we are nothing if not loyal π
It just forwards to that other command β but there are three lil' differences from nvme-cli 2.x, and you need to know them:
--nqn/-nis still accepted, but it's completely ignored β you'll get a warning about it. it's giving "invited to the party but not on the guest list" π--secret/-sgoes straight into the DHHC-1 string as it stands, whereas 2.x put the key transformed from it. so whenever--hmacis non-zero, the output is gonna be different. lowkey important, highkey a plot twist π--secret/-swith an odd number of hexadecimal characters is rejected now. 2.x used to pad that trailing one with a zero and emit a secret that was never actually given β which is so not it. we do not manifest keys out of thin air anymore, periodt π₯
New scripts should use nvme keys gen-kxchap-secret instead. This alias prints a deprecation warning on stderr and may be removed in a future release. so don't get too attached, bestie π
Also, for the full option reference, go read nvme-keys-gen-kxchap-secret(1) β that's where the real main character energy lives π
π GLOBAL OPTIONS π
These ones are defined at the top-level nvme command, so they work for this subcommand too. group-chat-wide settings, iykyk π
--dry-runβ prints the command that would be executed, but doesn't actually run it. manifesting without committing β¨--no-ioctl-probingβ disables probing for 64-bit IOCTL support.--no-retriesβ disables retry logic on transient errors. one shot, no do-overs π€-o <fmt>,--output-format=<fmt>β sets the reporting format tonormal,tabular,json, orbinary. only one output format at a time, pick a lane bestie π--output-format-version=<version>β picks the output format version. Version1uses the original field naming, while version2(default) gives you more consistent, script-friendly field names. any other version gets rejected β we don't do that here π«--quietβ suppresses informational messages. errors are still reported, and--quietcancels any--verbosefor the library log level. shhh π€«--set-options=<key=value>[,<key=value>...]β sets libnvme library options for this invocation. supported keys areforce-4k,mi-probe-enabled,test-base-dirandtest-sysfs-dir. very customizable, very demure π--timeout=<ms>β sets the timeout for the command in milliseconds.infiniteor-1waits with no time limit (0xffffffff). no clock-watching, iconic β³-v,--verboseβ increases the level of detail in the output. can be specified multiple times to go even more verbose. the way that stacks π§
These options can also be set as machine-wide defaults in nvme-cli.conf(5). and a command-line flag always overrides the file β flags stay winning, no cap π
π EXAMPLES π
No Examples
that's it. that's the section. she's empty but she's honest π
π NVME π
Part of the nvme-user suite. welcome to the family tree, babe πΈ
β SEE ALSO β
nvme-keys-gen-kxchap-secret(1)β the one you should actually be using, fr fr π«Ά
heads up: this whole page is a deprecated alias, so if you're writing something new, pivot to nvme keys gen-kxchap-secret. old scripts get to stay, but new ones deserve better π
and that's the tea, bestie π this page is from the NVMe manual, dated 10/30/2026 β screenshot it, cite it, live by it. mwah π
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms