freeipmi-devel
[Top][All Lists]
Advanced

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

[Freeipmi-devel] Fwd: ipmimonitoring-sensors.c discretereading workaroun


From: Florian
Subject: [Freeipmi-devel] Fwd: ipmimonitoring-sensors.c discretereading workaround
Date: Tue, 11 Dec 2018 08:52:56 +0100



---------- Forwarded message ---------
From: Florian <address@hidden>
Date: Tue, Dec 11, 2018 at 8:52 AM
Subject: Re: [Freeipmi-devel] ipmimonitoring-sensors.c discretereading workaround
To: Albert Chu <address@hidden>


Hey Al,

Thanks for the fast patch,

We got at least a partial victory:
After setting discrete_reading to 1, I got two of the PSU sensors working:
8, Power Supply 1, 8, Power Supply, Nominal, 45.00, W, 6Fh, 1h, 'Presence detected'
9, Power Supply 2, 9, Power Supply, Nominal, 40.00, W, 6Fh, 1h, 'Presence detected'
Unfortunately sensor 5 (total power meter)  doesn't show up.

After setting record_ids[] to {5, 0}  and record_ids_length = 1, I only get the headers:
Record ID, Sensor Name, Sensor Number, Sensor Type, Sensor State, Sensor Reading, Sensor Units, Sensor Event/Reading Type Code, Sensor Event Bitmask, Sensor Event String

Before your patch it looked like this:
Record ID, Sensor Name, Sensor Number, Sensor Type, Sensor State, Sensor Reading, Sensor Units, Sensor Event/Reading Type Code, Sensor Event Bitmask, Sensor Event String
5, Power Meter, 5, Current, N/A, N/A, N/A, 9h, 2h, 'Device Enabled'.

With IPM_MONITORING_FLAGS_DEBUG I did not get any more logs, so I did it with IPMI_MONITORING_FLAGS_DEBUG_IPMI_PACKETS.

Florian

On Tue, Dec 11, 2018 at 1:13 AM Al Chu <address@hidden> wrote:
Hey Florian,

I have an experimental branch called ipmimonitoring-discrete-reading on
github here:

https://github.com/chu11/freeipmi-mirror/tree/ipmimonitoring-discrete-r
eading

./autogen.sh
./configure
make
make install
re-compile ipmimonitoring-sensors.c and try it out

LMK if you need help, like getting to the right branch.  If you can't
make install, LMK and I can show you some linker tricks.

Al

On Wed, 2018-12-05 at 20:34 +0100, Florian wrote:
> Hey Al,
>
> That's awesome!
>
> Sure, I'm totally OK with a git repo. As long as I just need to do
> configure and make I can do it.
>
> Thanks for looking into this so fast!
>
> Florian 
>
> On Wed, Dec 5, 2018 at 8:26 PM Albert Chu <address@hidden> wrote:
> > Hey Florian,
> >
> > Ok, I think I found a bug.  The "discrete reading" flag is passed
> > to an
> > underlying library correctly, but the result is not stored in
> > libipmimonitoring correctly.  I don't remember how this workaround
> > works 100%, because I never had this motherboard.
> >
> > Once I look into this, how would like to be able to test?  Will
> > pointing you to a github repo be ok?
> >
> > For my personal notes for later: see 
> > _digital_sensor_reading() and _specific_sensor_reading(), store
> > sensor
> > reading result and possibly units and other things too.
> >
> > Al
> >
> > On Wed, 2018-12-05 at 10:59 +0100, Florian wrote:
> > > Hey Albert,
> > > 
> > > The changeing of record_ids and record_ids_length showed the
> > sensor 5
> > > (but no data) like this
> > > Record ID, Sensor Name, Sensor Number, Sensor Type, Sensor State,
> > > Sensor Reading, Sensor Units, Sensor Event/Reading Type Code,
> > Sensor
> > > Event Bitmask, Sensor Event String
> > > 5, Power Meter, 5, Current, N/A, N/A, N/A, 9h, 2h, 'Device
> > Enabled'.
> > > 
> > > IPMI_MONITORING_FLAGS_DEBUG unfortunately did not add ANY more
> > logs
> > > at all, so I tried with IPMI_MONITORING_FLAGS_DEBUG_IPMI_PACKETS
> > > which gave me more logs.
> > > Those are quite a lot of more lines, so I pasted it into my
> > > privatebin: https://privatebin.florianstroeger.com/?58387298f9b91
> > 3c4#
> > > CkDCOMP5eFXOs6Whn+giWtidWNhMZGrkhc3tXYPaK9o=
> > > I also tried setting discrete_reading to 1 as the sensor 5 was
> > > visible with record_ids, but that did output the same results.
> > > 
> > > Florian
> > > 
> > > On Wed, Dec 5, 2018 at 12:07 AM Albert Chu <address@hidden>
> > wrote:
> > > > Hey Florian,
> > > > 
> > > > Lets try:
> > > > 
> > > > unsigned int record_ids[] = {5,
> > > >
> > 0};                                                                
> > > >                                       
> > > > unsigned int record_ids_length = 1;
> > > > 
> > > > and
> > > > 
> > > > unsigned int ipmimonitoring_init_flags =
> > > > IPMI_MONITORING_FLAGS_DEBUG;
> > > > 
> > > > Al
> > > > 
> > > > On Tue, 2018-12-04 at 20:16 +0100, Florian wrote:
> > > > > Oops, I'm sorry, Android-Mail apparently deleted the CC...
> > > > > 
> > > > > I compiled with ipmimonitoring_init_flags = 1 now and got
> > debug
> > > > stuff
> > > > > this time.
> > > > > 
> > > > > The output is following...
> > > > > (ipmi_monitoring_sensor_reading.c,
> > > > > ipmi_monitoring_get_sensor_reading, 1061): record_type '0xC0'
> > not
> > > > > supported
> > > > > (ipmi_monitoring_sensor_reading.c, _get_sensor_bitmask_type,
> > > > 752):
> > > > > event_reading_type_code '0x70' bitmask is OEM
> > > > > (ipmi_monitoring_sensor_reading.c, _get_sensor_bitmask_type,
> > > > 752):
> > > > > event_reading_type_code '0x71' bitmask is OEM
> > > > > (ipmi_monitoring_sensor_reading.c, _get_sensor_bitmask_type,
> > > > 752):
> > > > > event_reading_type_code '0x71' bitmask is OEM
> > > > > (ipmi_monitoring_sensor_reading.c,
> > > > > ipmi_monitoring_get_sensor_reading, 1061): record_type '0x8'
> > not
> > > > > supported
> > > > > (ipmi_monitoring_sensor_reading.c,
> > > > > ipmi_monitoring_get_sensor_reading, 1061): record_type '0x8'
> > not
> > > > > supported
> > > > > (ipmi_monitoring_sensor_reading.c, _get_sensor_reading, 356):
> > > > > ipmi_sensor_read: sensor reading unavailable
> > > > > (ipmi_monitoring_sensor_reading.c, _threshold_sensor_reading,
> > > > 571):
> > > > > cannot read sensor for record id '23'
> > > > > (ipmi_monitoring_sensor_reading.c, _get_sensor_reading, 356):
> > > > > ipmi_sensor_read: sensor reading unavailable
> > > > > (ipmi_monitoring_sensor_reading.c, _threshold_sensor_reading,
> > > > 571):
> > > > > cannot read sensor for record id '24'
> > > > > (ipmi_monitoring_sensor_reading.c, _get_sensor_reading, 356):
> > > > > ipmi_sensor_read: sensor reading unavailable
> > > > > (ipmi_monitoring_sensor_reading.c, _threshold_sensor_reading,
> > > > 571):
> > > > > cannot read sensor for record id '38'
> > > > > (ipmi_monitoring_sensor_reading.c, _get_sensor_reading, 356):
> > > > > ipmi_sensor_read: sensor reading unavailable
> > > > > (ipmi_monitoring_sensor_reading.c, _threshold_sensor_reading,
> > > > 571):
> > > > > cannot read sensor for record id '39'
> > > > > (ipmi_monitoring_sensor_reading.c, _get_sensor_reading, 356):
> > > > > ipmi_sensor_read: sensor reading unavailable
> > > > > (ipmi_monitoring_sensor_reading.c, _threshold_sensor_reading,
> > > > 571):
> > > > > cannot read sensor for record id '40'
> > > > > (ipmi_monitoring_sensor_reading.c, _get_sensor_reading, 356):
> > > > > ipmi_sensor_read: sensor reading unavailable
> > > > > (ipmi_monitoring_sensor_reading.c, _threshold_sensor_reading,
> > > > 571):
> > > > > cannot read sensor for record id '41'
> > > > > Record ID, Sensor Name, Sensor Number, Sensor Type, Sensor
> > State,
> > > > > Sensor Reading, Sensor Units, Sensor Event/Reading Type Code,
> > > > Sensor
> > > > > Event Bitmask, Sensor Event String
> > > > > ipmi_monitoring_sensor_read_sensor_bitmask_strings: success
> > > > > 
> > > > > 
> > > > > I'm unfortunately don't know much about C. You mean I should
> > > > change
> > > > > in 'unsigned int record_ids[] = {0};' the 0 to a sensor-id,
> > > > right?
> > > > > Because I did this and that neither worked with putting 5 in
> > for
> > > > the
> > > > > power meter nor with any other sensor.
> > > > > 
> > > > > Florian
> > > > > 
> > > > > 
> > > > > 
> > > > > On Tue, Dec 4, 2018 at 7:47 PM Albert Chu <address@hidden>
> > wrote:
> > > > > > Didn't see your output, I guess you forgot to paste it in.
> > > > > > 
> > > > > > Hmmmm.  That means the main monitoring code is just
> > returning
> > > > "0",
> > > > > > i.e.
> > > > > > 0 sensors read.  Could you try experimenting with the
> > settings
> > > > and
> > > > > > setting "record_ids" to the record we're trying to figure
> > out
> > > > (i
> > > > > > think
> > > > > > it was #5 in your prior post).  Lets just concentrate on
> > that
> > > > > > specific
> > > > > > record and try to figure out what's going on.  Also set
> > > > > > ipmimonitoring_init_flags for more debugging and lets see
> > what
> > > > gets
> > > > > > output.
> > > > > > 
> > > > > > BTW, could you please respond to the mailing list.
> > > > > > 
> > > > > > Al
> > > > > > 
> > > > > > On Tue, 2018-12-04 at 07:50 +0100, Florian Ströger wrote:
> > > > > > > Hello Albert, 
> > > > > > > 
> > > > > > > Thanks for the fast reply!
> > > > > > > I've set 'int ignore_non_interpretable_sensors' to 0, but
> > > > when I
> > > > > > run
> > > > > > > the binary now it just outputs the headers, like this:
> > > > > > >                                                
> > > > > > -- 
> > > > > > Albert Chu
> > > > > > address@hidden
> > > > > > Computer Scientist
> > > > > > High Performance Systems Division
> > > > > > Lawrence Livermore National Laboratory
> > > > > > 
> > > > > > 
> > > > > 
> > > > > 
> > > > -- 
> > > > Albert Chu
> > > > address@hidden
> > > > Computer Scientist
> > > > High Performance Systems Division
> > > > Lawrence Livermore National Laboratory
> > > > 
> > > > 
> > > 
> > > 
> > -- 
> > Albert Chu
> > address@hidden
> > Computer Scientist
> > High Performance Systems Division
> > Lawrence Livermore National Laboratory
> >
> >
>
>


--
Florian Ströger
Zur Rossschwemme 5
3452 Atzenbrugg
****************************


--
Florian Ströger
Zur Rossschwemme 5
3452 Atzenbrugg
****************************

reply via email to

[Prev in Thread] Current Thread [Next in Thread]