WBWD(4)
π WBWD β the Winbond/Nuvoton watchdog timer driver, bestie edition π
okay so this is wbwd(4), a section 4 kernel interfaces manual page, and it is literally the device driver for the Winbond/Nuvoton Super I/O chips watchdog timer. she's niche. she's powerful. she's giving silicon guardian angel energy β¨
πΈ NAME πΈ
wbwd β device driver for Winbond/Nuvoton Super I/O chips watchdog timer
β¨ SYNOPSIS β¨
so you wanna get this driver up in your kernel? periodt. drop these lines into your kernel configuration file:
device superio
device wbwd
or, if you'd rather be a module girlie and load the driver at boot time instead, put this one line in loader.conf(5):
wbwd_load="YES"
both paths slay. pick your fighter π«Ά
π¦ DESCRIPTION π¦
The wbwd driver provides watchdog(4) support for the watchdog interrupt timer that lives on at least these Super I/O chips, and yes, we're listing every single one because they all deserve their moment:
- Winbond 83627HF/F/HG/G
- Winbond 83627S
- Winbond 83697HF
- Winbond 83697UG
- Winbond 83637HF
- Winbond 83627THF
- Winbond 83687THF
- Winbond 83627EHF
- Winbond 83627DHG
- Winbond 83627UHG
- Winbond 83667HG
- Winbond 83627DHG-P
- Winbond 83667HG-B
- Nuvoton NCT6775
- Nuvoton NCT6776
- Nuvoton NCT6102
- Nuvoton NCT6779
- Nuvoton NCT6791
- Nuvoton NCT6792
the whole roster. the whole squad. the whole lineup π
π SYSCTL VARIABLES π
The wbwd driver serves up the following options as sysctl(8) variables. let's go through them one by one, no skipping, no skimming π§
dev.wbwd.0.timeout_overrideβ this one lets you program the timer to a value that's independent of whatever thewatchdog(4)framework handed you, while still relying on the regular updates from, like,watchdogd(8)and friends. this is highkey useful if your system is running multiple watchdogs and you want them to fire in a very specific sequence β say, triggering an NMI after a shorter period than the reset timeout, for example. the value you set must not be lower than the sleep time ofwatchdogd(8). and a value of0disables this feature entirely, in which case the timeout value provided bywatchdog(4)gets used instead. okay? okay. πdev.wbwd.0.debug_verboseβ set this sysctl and the driver will log its current state before and after the timer reset, every single time it's invoked fromwatchdog(9), straight into the kernel message buffer. for debugging. very "not me logging everything to figure out what's happening" energy πdev.wbwd.0.debugβ this one's read-only, and it gives you the state of some registers on the last update. she observes, she does not accept input. icon behaviour β¨
and bestie, that's not even all of it β the wbwd driver also provides further sysctl options that are hidden by default. π see the source code for more information, iykyk.
π SEE ALSO π
superio(4), watchdog(4), device.hints(5), watchdog(8), watchdogd(8), watchdog(9)
go read them. they're all friends. it's a whole friend group π«Ά
β HISTORY β
The wbwd driver first appeared in FreeBSD 10.0. a real one since day one, fr fr.
π AUTHORS π
This manual page was written by Bjoern A. Zeeb <bz@FreeBSD.org>. thank you for your service, king π
and that's the whole page, bestie!! this one came from the Debian crew, dated October 16, 2019 β so if you're reading this, know that wbwd(4) has been holding it down since then. go forth, set your timeouts, and stay iconic π
πβ¨
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2012 Bjoern A. Zeeb <bz@FreeBSD.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms