Re: ichwd on ich9 attach failing ?

From: Mike Tancsa <mike_at_sentex.net>
Date: Mon, 16 Mar 2009 11:01:49 -0400
At 09:57 AM 3/15/2009, Harald Schmalzbauer wrote:
>John Baldwin schrieb am 01.10.2008 17:21 (localtime):
>>On Wednesday 01 October 2008 10:05:48 am Mike Tancsa wrote:
>>>Does anyone have a board with this chipset where ichwd attaches properly ?
>>>
>>>When I try to load the driver I get
>>>
>>>ichwd module loaded
>>>isab0: found ICH9 or equivalent chipset: Intel ICH9R watchdog timer
>>>ichwd0: <Intel ICH9R watchdog timer> on isa0
>>>isab0: found ICH9 or equivalent chipset: Intel ICH9R watchdog timer
>>>ichwd0: ICH WDT present but disabled in BIOS or hardware
>>>device_attach: ichwd0 attach returned 6
>>>ppc0: parallel port not found.
>>>
>>>the ppc0 error seems normal, as on other boards I see the same 
>>>error and things attach just fine
>>>
>>>It is enabled in the BIOS as the box will automatically reboot 
>>>after 5 min, since the watchdog is not set by the OS
>>Hmm, looks like the test to clear a bit is failing.  Maybe some 
>>quality time with the ICH9 datasheet (you should be able to find it 
>>on developer.intel.com) can help resolve this.  Here is the relevant code:
>>static __inline int
>>ichwd_clear_noreboot(struct ichwd_softc *sc)
>>{
>>         uint32_t status;
>>         int rc = 0;
>>         /* try to clear the NO_REBOOT bit */
>>         if (sc->ich_version <= 5) {
>>                 status = pci_read_config(sc->ich, ICH_GEN_STA, 1);
>>                 status &= ~ICH_GEN_STA_NO_REBOOT;
>>                 pci_write_config(sc->ich, ICH_GEN_STA, status, 1);
>>                 status = pci_read_config(sc->ich, ICH_GEN_STA, 1);
>>                 if (status & ICH_GEN_STA_NO_REBOOT)
>>                         rc = EIO;
>>         } else {
>>                 status = ichwd_read_gcs_4(sc, 0);
>>                 status &= ~ICH_GCS_NO_REBOOT;
>>                 ichwd_write_gcs_4(sc, 0, status);
>>                 status = ichwd_read_gcs_4(sc, 0);
>>                 if (status & ICH_GCS_NO_REBOOT)
>>                         rc = EIO;
>>         }
>>         if (rc)
>>                 device_printf(sc->device,
>>                     "ICH WDT present but disabled in BIOS or hardware\n");
>>         return (rc);
>>}
>
>Hello,
>
>has anybody had time to look at it? I have a new server board with 
>ich9 and can't any longer use the watchdog. Unfortunately I'm not 
>able to solve it myself.
>Any help appreciated.


Hi,
         No luck.  I have a X58 board that also does not work, but in 
a different way

ichwd module loaded
ichwd0: <Intel ICH10R watchdog timer> on isa0
ichwd0: Intel ICH10R watchdog timer (ICH10 or equivalent)
ppc0: parallel port not found.

watchdogd starts up fine, but a kill -9 to it does not result in the 
box resetting.


isab0_at_pci0:0:31:0:      class=0x060100 card=0x4f538086 
chip=0x3a168086 rev=0x00 hdr=0x00
     vendor     = 'Intel Corporation'
     class      = bridge
     subclass   = PCI-ISA
     cap 09[e0] = vendor (length 12) Intel cap 1 version 0
                  features: SATA RAID-5, 4 PCI-e x1 slots



         ---Mike 
Received on Mon Mar 16 2009 - 14:01:57 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:44 UTC