Here’s another problem we hit bringing PVE arm64 up on the GX10. The first was the black screen after initrd (thread here). Posting this one since the symptom is a show stopper.
The
FWIW,
Loading the module is the fix. Per the driver source (
You can confirm firmware armed it from the probe message. The trailing
Note that after modprobe the watchdog device still shows up as inactive:
That threw us at first. The sysfs
Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
Hardware
- ASUS Ascent GX10
- NVIDIA GB10, 20 cores, 3.9 GHz
- 128 GB LPDDR5 8533
- UEFI GX10DGX.0105.2026.0505.1153 (AMI, 2026-05-05), EC 3.3.2
- pve-manager 9.2.9, kernel 7.0.14-6-pve
- ext4/LVM root, GRUB
Issue
The host hard-resets every 20 minutes 40 seconds after power-on, even when idle with no guests running. Nothing in the logs. The journal just stops mid-stream, andlast -x shows a string of crash entries. journalctl --list-boots shows every boot-to-boot interval is 20:39 or 20:40.Cause
The GB10 firmware arms an ARM SBSA (Server Base System Architecture) Generic Watchdog at power-on and expects the OS to take it over. SBSA watchdogs reset the system at 2x their timeout (WS0 interrupt first, WS1 reset second). 20m40s divided by two puts the timeout around 620s. The kernel sees it in ACPI:[ 0.247361] ACPI GTDT: found 1 SBSA generic Watchdog(s).The
sbsa_gwdt module is never loaded, so nothing services it. The module does ship with the kernel and loads fine by hand; it just isn’t loaded by anything at boot.FWIW,
watchdog-mux is running and holding /dev/watchdog, but that’s softdog, not the hardware watchdog:
Code:
# cat /sys/class/watchdog/watchdog0/identity
Software Watchdog
Fix
modprobe sbsa_gwdtLoading the module is the fix. Per the driver source (
drivers/watchdog/sbsa_gwdt.c), probe reads the watchdog control register and, if firmware left the enable bit set, marks the device as already running (WDOG_HW_RUNNING). The watchdog core then feeds it from a kernel timer for as long as no userspace process has the device open. Probe also reprograms the timeout to the driver default of 10 seconds, so the watchdog ends up armed, kernel-fed, and useful: a hard kernel hang now resets the box in about 10 seconds instead of 20 minutes.You can confirm firmware armed it from the probe message. The trailing
[enabled] is printed only when the driver finds the enable bit already set:
Code:
# dmesg | grep sbsa-gwdt
sbsa-gwdt sbsa-gwdt.0: Initialized with 10s timeout @ 1000000000 Hz, action=0. [enabled]
Code:
# cat /sys/class/watchdog/watchdog1/identity
SBSA Generic Watchdog
# cat /sys/class/watchdog/watchdog1/state
inactive
That threw us at first. The sysfs
state attribute only reports whether userspace started the watchdog. A firmware-armed watchdog being fed by the kernel itself reads as inactive, even though the hardware is running.Verification
Load the module and watch the clock. Uptime was hard-capped at 20m40s before; anything past one cycle means you’re fixed.Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox