Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content

88plug/realtek-realmanage

Repository files navigation

realtek-realmanage

Native Linux toolkit for Realtek RealManage (DMTF DASH) out-of-band management.

The first open-source Linux management suite for Realtek DASH NICs. Ports the functionality of the Windows-only Realtek Management Console, DASHConfigRT, and RtDashService to Linux.

What is RealManage?

Realtek RealManage is an out-of-band management engine embedded in certain Realtek Ethernet controllers. It implements DMTF DASH (Desktop and mobile Architecture for System Hardware), providing remote management capabilities that work regardless of host OS state — even when the machine is powered off.

Capabilities: Remote power control, KVM (VNC), Serial-over-LAN, USB/ISO redirect, boot order control, hardware inventory, BIOS management, firmware update, event alerts, account management — all via the NIC's independent management processor.

Think of it as: Intel AMT / iLO / IPMI, but built into the Ethernet NIC instead of the chipset. No vPro required. Works with AMD and Intel systems.

Components

Tool Replaces (Windows) Description
realmanage Realtek Management Console CLI for remote DASH management (power, KVM, inventory, boot, accounts)
dash-activate DASHConfigRT Provisioning/activation from Linux
rtdashd RtDashService Systemd daemon — OS agent that pushes hostname/OS info to firmware
rtdash-ctl Low-level ioctl tool for direct firmware communication
librtdash C library for the Realtek DASH driver ioctl interface

Supported Hardware

DASH-capable Realtek NICs only (not regular consumer chips):

Chip Speed DASH Type IPC Status
RTL8111DP 1 GbE Type 1 Basic OOB Untested
RTL8111EP 1 GbE Type 2 CMAC Should work
RTL8111FP 1 GbE Type 3 CMAC Should work
RTL8125BP 2.5 GbE Type 4 IPC2 Primary target
RTL8126 5 GbE Type 2/3 CMAC Should work
RTL8127AP 10 GbE Type 4 IPC2 Should work

NOT supported (no management engine): RTL8111B/C/D/E/F/G/H/K/L, RTL8125B (consumer).

Platform Compatibility

Vendor Models Notes
HP EliteDesk 805, ProDesk 405, EliteBook 845 AMD PRO platforms, RTL8111FPH
Lenovo ThinkCentre M75, ThinkStation P620 AMD PRO platforms
Gigabyte B550M, X570 with DASH NIC RTL8111EP confirmed
Dell OptiPlex 7000 AMD, Precision 3660 AMD RTL8111EP/FP
DIY Any board with DASH-capable Realtek NIC Check BIOS for RealManage option

Quick Start

Prerequisites

  • DASH-capable Realtek NIC (see table above)
  • DASH enabled in BIOS (Advanced → Network → RealManage Firmware Control)
  • Realtek out-of-tree driver with DASH support (r8125, r8126, or r8127)
  • wsmancli package for remote management

Install

# From source
make
sudo make install

# Enable the OS agent daemon
sudo systemctl enable --now rtdashd

# AUR (Arch Linux)
yay -S realtek-realmanage

# Also install AMD DASH CLI for additional capabilities
yay -S amd-dash-cli-bin

Activate DASH

# Auto-detect NIC, generate strong password
sudo dash-activate

# Or specify everything
sudo dash-activate -i enp3s0 -u admin -p 'MyP@ss123' -4 192.168.1.50/255.255.255.0/192.168.1.1

Manage Remotely

# System info
realmanage -t 192.168.1.50 info

# JSON output (scriptable/pipeable)
realmanage -j -t 192.168.1.50 info | jq .
realmanage -j -t 192.168.1.50 power status

# Fleet management (run against multiple hosts)
realmanage -j -T hosts.txt power status

# Power control (all 16 DASH states)
realmanage -t 192.168.1.50 power status
realmanage -t 192.168.1.50 power on
realmanage -t 192.168.1.50 power off-graceful
realmanage -t 192.168.1.50 power cycle
realmanage -t 192.168.1.50 power hibernate
realmanage -t 192.168.1.50 power nmi

# Hardware inventory
realmanage -t 192.168.1.50 cpu
realmanage -t 192.168.1.50 memory
realmanage -t 192.168.1.50 bios
realmanage -t 192.168.1.50 sensors
realmanage -t 192.168.1.50 fans
realmanage -t 192.168.1.50 battery
realmanage -t 192.168.1.50 powersupply
realmanage -t 192.168.1.50 asset

# Full inventory dump (always JSON)
realmanage -t 192.168.1.50 inventory > host-inventory.json

# Continuous monitor
realmanage -t 192.168.1.50 watch 10

# KVM remote desktop
realmanage -t 192.168.1.50 kvm

# USB/ISO redirection
realmanage -t 192.168.1.50 usb mount http://fileserver/ubuntu.iso
realmanage -t 192.168.1.50 usb unmount

# Boot control
realmanage -t 192.168.1.50 boot
realmanage -t 192.168.1.50 boot set PXE

# Event monitoring
realmanage -t 192.168.1.50 events
realmanage -t 192.168.1.50 events --listen

# Discover DASH systems on network
realmanage discover 192.168.1.0/24

# Raw WS-Man for advanced use
realmanage -t 192.168.1.50 raw http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_Processor

Low-Level Tools

# Check if NIC supports DASH
sudo rtdash-ctl -i enp3s0 check

# DASH firmware version
sudo rtdash-ctl -i enp3s0 dash-version

# NIC MAC address
sudo rtdash-ctl -i enp3s0 mac-get

# IPv4/IPv6 OOB configuration
sudo rtdash-ctl -i enp3s0 get-ipv4
sudo rtdash-ctl -i enp3s0 set-ipv4 192.168.1.50 255.255.255.0 192.168.1.1
sudo rtdash-ctl -i enp3s0 get-ipv6
sudo rtdash-ctl -i enp3s0 set-ipv6 fe80::1 64 fe80::1

# SNMP trap configuration
sudo rtdash-ctl -i enp3s0 snmp-set 192.168.1.1 162 public
sudo rtdash-ctl -i enp3s0 snmp-get

# Wake-on-LAN patterns
sudo rtdash-ctl -i enp3s0 wake-pattern-set 0 ffffffffffff
sudo rtdash-ctl -i enp3s0 wake-pattern-get 0
sudo rtdash-ctl -i enp3s0 wake-pattern-del 0

# ARP/NS offload
sudo rtdash-ctl -i enp3s0 arp-offload-set 192.168.1.50 fe80::1 aa:bb:cc:dd:ee:ff 1

# Send driver ready signal
sudo rtdash-ctl -i enp3s0 driver-ready

# Sync hostname to firmware
sudo rtdash-ctl -i enp3s0 sync-hostname

Prometheus Metrics (rtdashd)

rtdashd exposes Prometheus metrics on port 9101:

# curl http://localhost:9101/metrics
rtdash_driver_ready_total 1
rtdash_oob_messages_total 0
rtdash_last_push_timestamp 1748900000
rtdash_hostname_syncs_total 3

Configure via /etc/rtdashd.conf:

INTERFACE=enp3s0
METRICS_PORT=9101
PUSH_INTERVAL=30

Or CLI: rtdashd -m 9101 -I 30 -i enp3s0

HTTPS Certificate Provisioning

# Generate self-signed cert and push to NIC (Class B / port 664)
sudo dash-activate -S -t 192.168.1.50

# Then manage securely
realmanage -s -k -t 192.168.1.50 info

How It Works

Architecture

┌─────────────────────────────────────────────────────────────┐
│                     Remote Management Host                    │
│  realmanage / AMD DASH CLI / browser (http://<oob-ip>:623)  │
└──────────────────────────┬──────────────────────────────────┘
                           │ WS-Man / SOAP / HTTP(S)
                           │ Port 623 (HTTP) / 664 (HTTPS)
┌──────────────────────────┴──────────────────────────────────┐
│                    Realtek NIC (DASH)                         │
│  ┌─────────────────────────────────────────────────────────┐ │
│  │  DASH Management Engine (runs on NIC's embedded CPU)    │ │
│  │  - WS-Man server on port 623/664                        │ │
│  │  - Embedded web server                                  │ │
│  │  - Power control, KVM, SOL, IDER                        │ │
│  │  - Independent of host OS                               │ │
│  └────────────────────────┬────────────────────────────────┘ │
│                           │ IPC2 mailbox (MMIO 0x32000-0x33000)
│                           │ or CMAC (MMIO 0xBAF20000)       │
└──────────────────────────┬──────────────────────────────────┘
                           │ ioctl SIOCDEVPRIVATE_RTLDASH (0x89F2)
┌──────────────────────────┴──────────────────────────────────┐
│                      Host OS (Linux)                          │
│  rtdashd (OS agent) → pushes hostname, OS info, heartbeat   │
│  dash-activate      → initial provisioning via ioctl         │
│  rtdash-ctl         → low-level firmware communication       │
└─────────────────────────────────────────────────────────────┘

Protocol Stack

Application:  DMTF DASH CIM Profiles
Binding:      WS-Management CIM Binding (DSP0227)
Transport:    WS-Management / SOAP 1.2 / XML
Security:     HTTP Digest (Class A) or TLS + Digest (Class B)
Network:      HTTP port 623 / HTTPS port 664

vs Intel AMT

RealManage Intel AMT
Location In the NIC In the PCH/chipset (ME)
CPU requirement Any (AMD or Intel) Intel vPro only
Standard Open DMTF DASH Proprietary
Provisioning BIOS + DASHConfigRT Certificate-based, zero-touch
KVM VNC over SSH RFB (proprietary)
Cost No additional licensing vPro premium

Driver Requirements

The mainline r8169 kernel driver has basic DASH awareness but does not expose the management ioctl interface. You need Realtek's out-of-tree drivers:

The driver must be compiled with ENABLE_DASH_SUPPORT=y in the Makefile.

Related Projects

License

FSL-1.1-ALv2 — Functional Source License with Apache 2.0 future license.