Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Noisy ipmi0 after bootup? (really other kernel noise)



On Fri, 5 Sep 2008, Juan Romero Pardines wrote:

On Fri, 5 Sep 2008, Simon Burge wrote:

With no added options and today's sources, I get the added bonus of
being told the previous critical warnings twice!  This is booting to
single user, so no syslogd etc:

 ipmi0: critical over limit on 'Fan8/CPU2'
 ipmi0: critical over limit on 'Fan8/CPU2'
 ipmi0: critical over limit on 'Fan7/CPU1'
 ipmi0: critical over limit on 'Fan7/CPU1'
 ipmi0: critical over limit on 'Fan6'
 ipmi0: critical over limit on 'Fan6'
 ipmi0: critical over limit on 'Fan5'
 ipmi0: critical over limit on 'Fan5'
 ipmi0: critical over limit on 'Fan4'
 ipmi0: critical over limit on 'Fan4'

IMHO, the correct fix for this would be to check in ipmi.c:ipmi_sensor_status()
if edata->value_cur contains valid data, otherwise I'd change its state to
ENVSYS_SINVALID.

I'm not at all familiar with ipmi, but looking at the code, I think there's at least one problem here. Shouldn't failure to send or receive the command result in an SINVALID result?

Index: ipmi.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/x86/ipmi.c,v
retrieving revision 1.18
diff -u -p -r1.18 ipmi.c
--- ipmi.c      17 Apr 2008 05:26:11 -0000      1.18
+++ ipmi.c      5 Sep 2008 12:59:56 -0000
@@ -1351,7 +1351,7 @@ ipmi_sensor_status(struct ipmi_softc *sc
                if (ipmi_sendcmd(sc, s1->owner_id, s1->owner_lun,
                    SE_NETFN, SE_GET_SENSOR_THRESHOLD, 1, data) ||
                    ipmi_recvcmd(sc, sizeof(data), &rxlen, data))
-                       return ENVSYS_SVALID;
+                       return ENVSYS_SINVALID;

                dbg_printf(25, "recvdata: %.2x %.2x %.2x %.2x %.2x %.2x %.2x\n",
                    data[0], data[1], data[2], data[3], data[4], data[5],

This won't actually resolve any of the three current issues, but the above just looks wrong!

It would also be useful if you could recompile ipmi.c with the following change, so we can see just what values are being returned for the FANs:

diff -u -p -r1.18 ipmi.c
--- ipmi.c      17 Apr 2008 05:26:11 -0000      1.18
+++ ipmi.c      5 Sep 2008 13:04:00 -0000
@@ -92,7 +92,7 @@ struct ipmi_sensor {
 };

 int    ipmi_nintr;
-int    ipmi_dbg = 0;
+int    ipmi_dbg = 100;
 int    ipmi_poll = 1;
 int    ipmi_enabled = 0;




----------------------------------------------------------------------
|   Paul Goyette   | PGP DSS Key fingerprint: |  E-mail addresses:   |
| Customer Service | FA29 0E3B 35AF E8AE 6651 |  paul%whooppee.com@localhost   |
| Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette%juniper.net@localhost |
----------------------------------------------------------------------


Home | Main Index | Thread Index | Old Index