System Validation (rbln-bios)¶
rbln-bios is a system diagnostic tool that validates server configuration (GRUB parameters, BIOS settings, firmware versions, fan speed, and PCIe slot mapping) to verify that a host meets the prerequisites for running RBLN NPUs.
Note
grubandslottargets: No BMC access required. Work on any vendor / model. Theslottarget additionally requiresdmidecode.version,bios, andfanspeedtargets: Require BMC (Baseboard Management Controller) access via the Redfish API, on a validated server model.- Supermicro (DCMS license required):
AS -4125GS-TNRT2AS -5126GS-TNRT2
- Gigabyte:
G293-S43G293-Z43G294-Z21G494-ZB4
- Supermicro (DCMS license required):
Quick Start¶
Key Concepts and Terminology¶
Validation targets¶
rbln-bios validates one or more targets specified with -t, --target:
grub: Validates kernel/boot parameters for optimal NPU performance (local; no BMC).version: Validates BIOS and BMC firmware versions against the per-model reference via the Redfish API.bios: Validates BIOS settings via the Redfish API.fanspeed: Checks fan speed status via the Redfish API.slot: Maps physical PCIe slots to RBLN NPU devices (local; requiresdmidecode).all: Runs all supported targets.
BMC (Redfish) credentials¶
Note
For targets that access the BMC (version, bios, fanspeed), provide:
--bmc_ip <BMC_IP>: BMC IP address (Redfish endpoint)--bmc_user <BMC_USER>/--bmc_password <BMC_PASSWORD>: BMC credentials
Validated BIOS settings¶
The bios target compares each BIOS setting that the BMC reports via the Redfish API against its expected value. The checked set depends on the server vendor and model.
On Supermicro servers, rbln-bios validates the following settings.
| Setting | Expected | Models |
|---|---|---|
IOMMU | Enabled | All |
SR_IOVSupport | Enabled | All |
Re_SizeBARSupport | Enabled | All |
ASPMSupport | Auto or Force L1 | AS -5126GS-TNRT2 only |
DFCstates | Disabled | All |
NUMANodesPerSocket | NPS1 | All |
ACPISRATL3CacheAsNUMADomain | Disabled | All |
ASPMSupportis validated only onAS -5126GS-TNRT2. OnAS -4125GS-TNRT2, the row does not appear in the output.Above4GDecoding,MMIO High Base,MMIO High Granularity Size, andSNC (Intel)are not validated on Supermicro servers and are reported asN/A.
On Gigabyte servers, the setting names and the checked set depend on the CPU platform and server model.
Command Reference¶
General usage¶
Note
All validation targets (-t) require root privileges — non-root invocations fail with a permission error. Run every command with sudo.
Tip
For the full, version-specific option reference, run rbln-bios --help.
Global options¶
| Option | Description |
|---|---|
-h, --help | Show help message and exit. |
-v, --verbose | Verbose output (for example, show recommended/current GRUB cmdline). |
--version | Show version information and exit. |
-t, --target <TARGET ...> | Validate target(s): grub, version, bios, fanspeed, slot, or all. |
-l, --list | List available targets. |
-j, --json | Output in JSON format. |
--bmc_ip <BMC_IP> | BMC IP address (Redfish endpoint). Required for version, bios, and fanspeed. |
--bmc_user <BMC_USER> | BMC user. Required for version, bios, and fanspeed. |
--bmc_password <BMC_PASSWORD> | BMC password. Required for version, bios, and fanspeed. |
CLI Examples¶
Summary
Lists available validation targets on the current system.
Command
Output (example)
Summary
Validates kernel/boot parameters. Use -v, --verbose to show the recommended and current GRUB cmdline.
Command
Output (example)
==== System Information ====
OS : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel : 6.8.0-90-generic
CPU Model : AMD EPYC 9355 32-Core Processor
Manufacturer : Supermicro
Architecture : x86_64
==== GRUB Boot Parameter ====
Result : OK
Note
Result is reported as one of the following values.
OK: All recommended kernel/boot parameters are present.WARNING: One or more recommended parameters are missing. The missing items are listed in theMissingfield.CRITICAL: A mandatory parameter is missing. On Intel CPUs,pci=noatsis mandatory; when absent it is listed in theMandatoryfield.UNKNOWN: The kernel/boot parameters could not be read.
Summary
Validates kernel/boot parameters with detailed recommended and current cmdline output.
Command
Output (example)
==== System Information ====
OS : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel : 6.8.0-90-generic
CPU Model : AMD EPYC 9355 32-Core Processor
Manufacturer : Supermicro
Architecture : x86_64
==== GRUB Boot Parameter ====
Result : OK
Recommended : transparent_hugepage=madvise pcie_aspm=force pci=pcie_bus_perf pci=bfsort ...
Current : BOOT_IMAGE=... root=... ro transparent_hugepage=madvise pcie_aspm=force ...
Summary
Validates BIOS and BMC firmware versions against the per-model reference via the Redfish API. Requires --bmc_ip, --bmc_user, and --bmc_password.
Command
$ sudo rbln-bios -t version --bmc_ip 192.168.1.100 --bmc_user admin --bmc_password password123
Output (example)
==== System Information ====
OS : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel : 6.8.0-90-generic
CPU Model : AMD EPYC 9355 32-Core Processor
Manufacturer : Supermicro
Architecture : x86_64
==== Firmware Version ====
Result: PASS
Model AS-4125GS-TNRT2
BIOS ✓ 3.7.V1
BMC ✓ 11.09.02
Note
Result is PASS when both firmware versions match the reference, FAIL on a mismatch, and UNKNOWN when a version cannot be read.
Summary
Validates BIOS settings via the Redfish API. Requires --bmc_ip, --bmc_user, and --bmc_password.
Command
Output (example)
==== System Information ====
OS : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel : 6.8.0-90-generic
CPU Model : AMD EPYC 9355 32-Core Processor
Manufacturer : Supermicro
Architecture : x86_64
==== BIOS Settings ====
Result: OK
Setting Status
---------------------------------------------
IOMMU ✓ Enabled
SR_IOVSupport ✓ Enabled
Re_SizeBARSupport ✓ Enabled
DFCstates ✓ Disabled
NUMANodesPerSocket ✓ NPS1
ACPISRATL3CacheAsNUMADomain ✓ Disabled
Above4GDecoding N/A
MMIO High Base N/A
MMIO High Granularity Size N/A
SNC (Intel) N/A
Note
Each row in the Status column shows one of the following states. For the settings checked on each server, see Validated BIOS settings.
✓: The setting matches the expected value. The current value follows the mark.x: The setting does not match the expected value. The row showsExpected: <EXPECTED>, Actual: <ACTUAL>.?: The setting is validated on this server, but the BMC does not expose it via the Redfish API. The row showsExpected: <EXPECTED>, Actual: UNKNOWN.N/A: The setting is not validated on this server and does not affectResult.
Result is reported as one of the following values.
OK: All validated settings match.WARNING: No setting mismatches, but one or more settings are reported as?.CRITICAL: One or more settings are reported asx.UNKNOWN: Validation could not run, for example because the BMC is unreachable or the server model is not supported. The reason is shown in theMessagefield.
On some CPUs (for example, AMD Turin), Above 4G Decoding is enabled by default and may not be exposed in BIOS. When it is reported as UNKNOWN, the system can still be configured correctly, and rbln-bios prints an explanatory message alongside the result.
Summary
Checks fan speed status via the Redfish API. Requires --bmc_ip, --bmc_user, and --bmc_password.
Command
$ sudo rbln-bios -t fanspeed --bmc_ip 192.168.1.100 --bmc_user admin --bmc_password password123
Output (example)
==== System Information ====
OS : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel : 6.8.0-90-generic
CPU Model : AMD EPYC 9355 32-Core Processor
Manufacturer : Supermicro
Architecture : x86_64
==== Fan Speed ====
Result OK
Fan Mode Optimal (expected: Optimal)
Fan Speed(RPM) Status
-----------------------------------------------------------------
FAN_1 7500 enabled
FAN_2 7600 enabled
Note
On Supermicro the check gates the fan mode (expected Optimal); on Gigabyte it gates the fan profile (expected default). The corresponding Fan Mode or Fan Profile row is shown accordingly.
Summary
Maps physical PCIe slots to RBLN NPU devices using DMI slot data (dmidecode) and sysfs. No BMC access required.
Command
Output (example)
==== System Information ====
OS : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel : 6.8.0-90-generic
CPU Model : AMD EPYC 9355 32-Core Processor
Manufacturer : Supermicro
Architecture : x86_64
==== Slot / Device Mapping ====
Result: OK
+-------+-----------------+--------+
| Slot | PCI Bus Address | Device |
+=======+=================+========+
| SLOT1 | 0000:33:00.0 | rbln0 |
| SLOT2 | 0000:53:00.0 | rbln1 |
| SLOT3 | 0000:d3:00.0 | rbln2 |
| SLOT4 | 0000:d4:00.0 | rbln3 |
+-------+-----------------+--------+
Summary
Outputs validation results in JSON format for programmatic consumption.
Command
Output (example)
{
"version": "3.2.0",
"system_information": {
"os": "ubuntu 22.04.5 LTS (Jammy Jellyfish)",
"kernel": "6.8.0-90-generic",
"cpu_model": "AMD EPYC 9355 32-Core Processor",
"manufacturer": "Supermicro",
"architecture": "x86_64"
},
"grub_boot_parameter": {
"result": "OK",
"message": "",
"missing": "",
"mandatory": "",
"recommended": "transparent_hugepage=madvise pcie_aspm=force pci=pcie_bus_perf pci=bfsort ...",
"current": "BOOT_IMAGE=... transparent_hugepage=madvise pcie_aspm=force ..."
}
}
Operation via Host Interface¶
By using the internal network interface (Host Interface) between the BMC and host, Redfish-based features (version, bios, fanspeed) of rbln-bios can be used without an external network connection.
1. Enable Host Interface on Web BMC¶
Access the Web BMC management page and enable the Host Interface setting. (Configuration/BMC Settings/Host Interface)
- Host IP Address:
169.254.3.1(configurable) - BMC IP Address:
169.254.3.254(the IP to be used as the actual input value)
2. Configure the host-side network interface¶
Assign an IP address to the network device corresponding to the Host Interface and bring it up.
Note
enxbe3af2b6059f is the network device name for the Host Interface, which may vary depending on the system. Verify it using the ip link command.
3. Run rbln-bios¶
Specify the internal BMC IP (169.254.3.254) with the --bmc_ip option to operate via the Host Interface.
Troubleshooting¶
version, bios, or fanspeed fails¶
- Confirm the host can reach the BMC and that the Redfish endpoint is accessible.
- Verify BMC credentials and BMC IP address (see BMC (Redfish) credentials).
Unsupported platform¶
The grub and slot targets work on any vendor / model (the slot target requires dmidecode). The version, bios, and fanspeed targets require BMC access via the Redfish API and are currently validated on Supermicro (AS -4125GS-TNRT2, AS -5126GS-TNRT2; DCMS license required) and Gigabyte (G293-S43, G293-Z43, G294-Z21, G494-ZB4) servers.
See also¶
rbln-smi: NPU status monitoring and topology inspectionrblnBandwidthLatencyTest: host-to-NPU and NPU-to-NPU benchmarkrbln-flash: firmware update tool