On Sat, 7 Aug 2010, Xin LI wrote:

Hey,

a bit unrealted but I faced some of those problems lately as well.

On 2010/07/01 00:12, Dag-Erling Smørgrav wrote:
Xin LI <[email protected]> writes:
"Dag-Erling Smørgrav" <[email protected]> writes:
Perhaps the motherboard has additional watchdog hardware?  If you
disable the watchdog in BIOS, does ichwd still work?
If I kill -9 watchdogd the system do reset itself so I think ichwd(4)
really works even if BIOS setting is 'Disabled' (but I'm not sure if
this method is right?  Looking at the code I think the answer is
probably "Yes" though)

Yes.  This confirms my hypothesis, which is that your motherboard has
additional watchdog hardware, and that the BIOS setting controls that,
not the ichwd watchdog timer.  Just disable the watchdog in BIOS and use
ichwd instead.

Thanks, you are absolutely correct that they are using another watchdog
(on Winbond Super I/O chip).

With help from some datasheets floating around the Internet and playing
with the motherboard a little bit, now I have a first cut of a
watchdog(9) interfaced driver for the chip and have confirmed working on
the motherboard.

I'm still polishing up the driver, there seems to be no way to figure
out the base port address directly (datasheet said it's either 0x2e and
0x4e) so for now I have its device identify method to do some dirty
hacks (outb/inb directly) and only check if with appropriate key entered
to the port we will get non-0xff value.  I'm not sure if that would be
acceptable?  I'll try to further read the spec and see if we have some
better way of doing this and publish the driver code hopefully in the
next week.


I have a fintek locally but they all basically seem to operate after
the same scheme.

I had a very simple inb/outb /dev/io based user space solution for it
and went to the quick and dirty kernel module.

There are not many assertions put in place and it only checks one of
the two base ports as I had only done it for me so far.  Unfortunately
there is no ACPI WDRT entry here (either?). devinfo -r was to some use
though.

In case it'll help you or someone else I just put it online:
http://people.freebsd.org/~bz/20100807-02-wd-fintek-f71882fg.diff


/bz

--
Bjoern A. Zeeb                       This signature is about you not me.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"

Reply via email to