我有块 J1900 的板子,bios 应该是 ami 的公版 bios 。里面有个 watchdog 的功能选项,可以设置 Interval 等参数。
但是很遗憾的是我并不知道怎么用,之前试着开过一次,当时设置的 Interval 是 5s ,但是 5s 根本还没进到系统,咋可能喂的上狗,就反反复复来回重启后来抠电池重置 bios 好了。
板子是朋友送的,资料板号等等一概没有,按照当前情况来看应该是硬件狗。系统目前是 Ubuntu Desktop ,我大概查了一下资料,硬件狗好像需要装驱动,还要让/dev/
下的一个文件指向这个设备。
如果有知道这东西怎么用或者大概怎么用的或有相关资料(不一定非得是特定型号的)的大家来讨论一下。
1
Sekai 2022-01-29 17:09:51 +08:00
看门狗 没啥可讨论的 关掉就完了
|
3
Lnz 2022-01-29 17:45:58 +08:00
不知道你的板子用的 SIO 是不是 ITE 的,如果是 ITE 的,你只需要把时间设长一点,进到系统后往 SIO 的 LDN7 的 73 、74 写时间就可以了,如果 setup 页面没有开出来时间单位,就调整 72 的 bit7 ,记得把 bit5 置零
|
4
Harv 2022-01-29 18:53:38 +08:00
像楼上说的,照着板子上的 superio 芯片型号去找下 datasheet 。找下看门狗地址和看下怎么喂狗。
|
5
villivateur 2022-01-29 19:16:55 +08:00 via Android
你是怎么确定 5s 没进系统的?理论上在 BIOS 里面就会开始喂狗,Linux 内核起来之后也会喂狗,不需要等系统完全起来
|
6
villivateur 2022-01-29 19:17:33 +08:00 via Android
当然,喂狗的功能可能需要你打一个内核补丁
|
7
adoal 2022-01-29 19:25:38 +08:00 via iPhone
Linux 内核有 watchdog API ,可以 ioctl 统一操作,前提是有驱动
如果主板是 ITE 的 superio ,那大概是 it87_wdt |
8
yanqiyu 2022-01-29 19:25:51 +08:00
先运行 wdctl 看看有没有输出,有的话说明内核已经识别到了 WatchDog 了
要用看门狗就一个 userspace 的程序就行,可以是 watchdogd ,也可以是 systemd systemd 最简单(要是你的 linux 发行版支持的话) 写一个 /etc/systemd/system.conf.d/watchdog.conf 内容是 [Manager] RuntimeWatchdogSec=10s 就是设置一个 10s 的硬件 WatchDog ,systemd 会 5s 喂一次(设置时间的一半) |