NVME-SEAGATE-VS-I(1)

πŸ’– NVME-SEAGATE-VS-I(1) πŸ’–

okay bestie, so this is <cyan>nvme-seagate-vs-i</cyan> β€” a page from the NVMe Manual β€” and it's all about pulling down some Seagate-only telemetry. it's lowkey niche but highkey useful if you're on the right hardware, so let's get into it 🫢


✨ NAME ✨

nvme-seagate-vs-internal-log β€” grab the Seagate vendor specific Controller-Initiated Telemetry, in binary πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] seagate vs-internal-log <device> [OPTIONS]

🌸 DESCRIPTION 🌸

okay so first vibe check: this command only works on Seagate devices that actually support this feature. and no cap β€” not all commands work across all product families, so don't come for me if your drive isn't in the club πŸ’…

the <device> parameter is mandatory (like, you cannot skip it, bestie) and it can be either of these two iconies:

  • an NVMe character device (ex: /dev/nvme0)
  • an nvme block device (ex: /dev/nvme0n1)

πŸ’… OPTIONS πŸ’…

  • -n <NUM>, --namespace-id=<NUM> β€” the desired namespace ✨ and yes, you can pass the broadcast value 0xffffffff, which is also writable as all or -1 🩷
  • -f <FILE>, --dump-file=<FILE> β€” the dump file πŸ—‚οΈ

πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

these ones live at the top-level nvme command, and they're available down here to this subcommand too. so yes, you get to use them 🌈

  • --dry-run β€” prints the command it would execute, but literally doesn't actually execute it. a little peek, zero commitment πŸ™ˆ
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support πŸ› οΈ
  • --no-retries β€” kills the retry logic on transient errors πŸ’€
  • -o <fmt>, --output-format=<fmt> β€” sets the reporting format to normal, tabular, 'json, or binary`. (yes the page really has that stray quote there, i'm not touching it, i'm just the messenger 😭) and bestie β€” only one output format at a time, pick one ⭐
  • --output-format-version=<version> β€” picks the output format version. version 1 uses the original field naming, while version 2 (the default) gives you more consistent and script-friendly field names. any other version gets rejected, periodt 🚫
  • --quiet β€” suppresses informational messages. errors still get reported, and --quiet cancels any --verbose for the library log level 🀫
  • --set-options=<key=value>[,<key=value>...] β€” sets libnvme library options for this invocation. the supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir πŸ”§
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits with no time limit (0xffffffff) ⏳
  • -v, --verbose β€” bumps up the detail level in the output. you can pass it multiple times to get even more verbose, go off πŸ’¬
also, these options can be set as machine-wide defaults in nvme-cli.conf(5) β€” and a command-line flag always overrides the file πŸ‘‘

🧚 EXAMPLES 🧚

get the Seagate vendor specific Controller-Initiated telemetry log for the specified device:

# nvme seagate vs-internal-log /dev/nvme0

🌺 NVME 🌺

part of the nvme-user suite πŸ’œ


okay that's the whole page!! mwah, go forth and read your telemetry πŸ“

sign-off: this lil page comes courtesy of the nvme-user suite (the NVMe Manual, source/version vibes), dated 10/30/2026 β€” iconic date, no notes πŸŽ€βœ¨πŸ’–
πŸ“¦ where this page comes from