Etherealm ResearchStorage tools
Etherealm NVMe Bridge
A command bridge for NVMe device research, connecting native device access and a Windows EasyTools backend through a shared RPC interface.
Product overview- Brand
- Etherealm Research
- Platforms / runtime
- Windows
- macOS
- Linux
- Technologies
- C++17
- JSON-RPC
- JavaScript
About the project
Etherealm NVMe Bridge (ENB) provides a shared interface for connections, command execution, and result retrieval in NVMe device research. Research scripts use RPC to select a device, open a connection, submit command sequences, and retrieve results, while the backend handles device communication.
Developed by Etherealm Research, ENB includes native and EasyTools backends. The native backend runs independently on Windows, macOS, and Linux. The EasyTools backend integrates matching runtime components in a Windows x86 tool environment.
Native NVMe reads
Read NVMe Identify and SMART data through a JMS583 USB bridge, exposing controller, namespace, and health information.
Shared automation interface
Manage device sessions and command sequences through JSON-RPC, using a custom client or the optional JavaScript reference client.
Explicit execution results
Retain command status, actual transfer lengths, and device responses. Failed or timed-out commands are not automatically resubmitted.
Native device backend
The native backend accesses devices through a JMS583 USB-to-NVMe bridge. Standard reads cover Identify Controller, Identify Namespace, and SMART. Windows and Linux use system storage interfaces; macOS uses direct USB communication. The backend runs without EasyTools, a virtual machine, or Node.js. Device access requires the appropriate system permissions.
Native access targets JMS583 USB bridge devices and does not include direct access to internal PCIe NVMe drives. Windows and Linux use the BOT or UASP transport selected by the system driver; macOS offers explicit protocol selection. Device identity, open connections, and execution results are tracked separately. A device that re-enumerates requires a new identity.
Separate scripts from device communication
The shared interface uses JSON-RPC 2.0 over TCP. Clients can be written in any language that supports the protocol. An optional JavaScript reference client provides a standard read workflow, while the service exposes consistent methods for device sessions, command sequences, and result queries.
Execution records retain command state, actual transfer lengths, device replies, and transport errors. Timeouts or communication failures do not automatically resubmit commands or switch protocols. File recording is enabled explicitly so results can be retained for a particular research task.
From ezt-hook to ENB
ezt-hook (Etherealm EasyTool Bridge) is the historical foundation of ENB. Originally part of the mptool-parser project, it used a Windows launcher and runtime hooks to integrate EasyTools, match tool versions through profiles, reuse their calling capabilities, and expose RPC access.
ENB brought the ezt-hook source, build scripts, tests, and documentation into an independent project, alongside a shared core, RPC interface, and client. EasyTools integration became one backend and native device communication another. Both paths share an interface and execution records, serving tool integration and independent device research.