NVME-LOG-PHY-RX-(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme-log-phy-rx-eom β€” it's page 1 of the NVMe Manual bestie ✨

Okay so grab your iced coffee, because this one's a whole little command from the NVMe manual and I'm gonna walk you through it like we're texting at 2am 🫢


🌸 NAME 🌸

nvme-log-phy-rx-eom β€” literally retrieves a Physical Interface Receiver Eye Opening Measurement log page from an NVMe device. Yes that's the actual name. Yes it's a mouthful. We love her anyway πŸ’–


✨ SYNOPSIS ✨

nvme [<global-options>] log phy-rx-eom <device> [--lsp=<field> | -s <field>]
                        [--controller=<id> | -c <id>]

That's the whole shape of it β€” global options, then log phy-rx-eom, then your device, then optionally the --lsp/-s field and the --controller/-c id. Slay πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

So what does it actually do? It retrieves a Physical Interface Receiver Eye Opening Measurement log page from an NVMe device, and hands you back the returned structure. That's the vibe. πŸ‘‘

The <device> parameter is mandatory β€” like, non-negotiable, main character energy β€” and it can be either:

  • the NVMe character device (example: /dev/nvme0), or
  • a namespace block device (example: /dev/nvme0n1).

On success it returns 0. Otherwise you get an error code. That's it, that's the deal 🀝


πŸ’… OPTIONS πŸ’…

  • -s <field>, --lsp=<field> β€” the log specified field, which configures the controller's action to take during processing of the command, plus the measurement quality. iykyk 🌈
  • -c <id>, --controller=<id> β€” the Controller ID of the controller associated with the PCIe port you want measured. Pick your fave 🎯

πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

These bad boys are defined at the top-level nvme command and are available to this subcommand. So they're like, everyone's options, not just ours πŸ’œ

  • --dry-run β€” prints the command that would be executed, but doesn't actually execute it. Rehearsal mode, no cap 🎭
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support.
  • --no-retries β€” disables retry logic on transient errors. One shot, one opportunity πŸ’€
  • -o <fmt>, --output-format=<fmt> β€” sets the reporting format to normal, tabular, 'json, or binary. Only one output format may be used at a time, so don't get greedy πŸ™ˆ
  • --output-format-version=<version> β€” selects the output format version. Version 1 uses the original field naming, while version 2 (the default) provides more consistent and script-friendly field names. Other versions are rejected. Periodt. 🚫
  • --quiet β€” suppresses informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level. Shhh 🀫
  • --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. Mix and match, bestie 🧚
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). Patience is a virtue ⏳
  • -v, --verbose β€” increases the level of detail in the output. May be specified multiple times to further increase verbosity. The more the merrier, fr fr πŸ“ˆ
Heads up: these options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file β€” flags stay winning πŸ’…

πŸ”₯ EXAMPLES πŸ”₯

  • Start a best quality measurement and retrieve the log page header:
# nvme log phy-rx-eom /dev/nvme0 --lsp=10
  • Retrieve a finished best quality measurement on controller with ID 3:
# nvme log phy-rx-eom /dev/nvme0 --lsp=2 --controller=3

Look at us go 😭✨


🌈 NVME 🌈

Part of the nvme-user suite. Iconic behavior, honestly.


That's the whole page, bestie β€” brought to you by the nvme-user suite, dated 10/30/2026, straight from page NVME-LOG-PHY-RX-(1) of the NVMe Manual. Go measure some eye openings, you gorgeous nerd πŸ«ΆπŸ’–

πŸ“¦ where this page comes from