freeipmi-users
[Top][All Lists]
Advanced

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

Re: [Freeipmi-users] Bridging sensor threshold requests


From: Chu, Al
Subject: Re: [Freeipmi-users] Bridging sensor threshold requests
Date: Tue, 18 Aug 2015 17:50:39 +0000

Hi Craig,

Could you try the attached patch?  Basically, I want to capture the error and 
fall through to the normal "get thresholds via the SDR" code path.

Al
________________________________________
From: address@hidden address@hidden on behalf of Craig address@hidden
Sent: Tuesday, August 18, 2015 10:28 AM
To: address@hidden
Subject: Re: [Freeipmi-users] Bridging sensor threshold requests

Albert Chu <address@hidden> writes:

>
> Hi Craig,
>
> No one ever requested this, so it's never come up.  However ...
>
> There's a decent chance that FreeIPMI just isn't handling the get sensor
> thresholds error correctly.  If the call fails, it should just fall
> through and use the thresholds listed in the SDR.  Perhaps its an
> unique/unexpected error code.
>
> Could you send the --debug output that shows the error.  You can limit
> the output by only specifying one sensor w/ -r.
>
> Al
>
> On Mon, 2015-08-17 at 18:10 +0000, Craig wrote:
> > Hello,
> >
> > I was wondering if anyone has worked out a patch to extend ipmi-sensors to
> > extract threshold settings from sensors that are not local to the BMC (i.e
> > across an IPMB bridge).
> >
> > The "-b" option provides a means to get the sensor readings, but if you ask
> > for the verbose output (-v) or explicitly request threshold output
> > (--output-sensor-thresholds), the output stops as soon as it encounters an
> > error trying to read the threshold values for a non-local sensor.
> >
> > Looking at the code, it seems like there needs to be a parallel function to
> > "ipmi_cmd_get_sensor_reading_ipmb()" that retrieves the threshold values as
> > well.  e.g. ipmi_cmd_get_sensor_thresholds_ipmb()
> >
> > I had a look at the code, and it seems non-trivial to accomplish this for
> > someone unfamiliar with the code and API.
> >
> > Thanks for any advice you can give me.
> >
> > Craig
> >
> >
> > _______________________________________________
> > Freeipmi-users mailing list
> > address@hidden
> > https://lists.gnu.org/mailman/listinfo/freeipmi-users

Ok, here are some results.  Sorry for the long lines..

First a working case, where the sensor is owned by the BMC (p-sm), and all
looks good.

address@hidden:/opt/freeipmi-1.4.9/ipmi-sensors> ./ipmi-sensors -v -h p-sm -u 
xxx
-p xxx -b -r 15
Record ID: 15
ID String: Chassis Temp2
Sensor Type: Temperature (1h)
Sensor Number: 98
IPMB Slave Address: 10h
Sensor Owner ID: 20h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: OEM System Integrator (208)
Entity Instance: 1
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
Lower Critical Threshold: 0.000000 C
Upper Critical Threshold: 65.000000 C
Lower Non-Critical Threshold: 5.000000 C
Upper Non-Critical Threshold: 55.000000 C
Lower Non-Recoverable Threshold: -10.000000 C
Upper Non-Recoverable Threshold: 75.000000 C
Sensor Min. Reading: -55.000000 C
Sensor Max. Reading: 125.000000 C
Normal Min.: 25.000000 C
Normal Max.: 55.000000 C
Nominal Reading: 40.000000 C
Sensor Reading: 27.000000 C
Sensor Event: 'OK'

Just getting the bridged sensor readings works fine.

address@hidden:/opt/freeipmi-1.4.9/ipmi-sensors> ./ipmi-sensors  -h p-sm -u xxx
-p xxx -b -r 39,40
ID | Name           | Type        | Reading    | Units | Event
39 | ARM CPU Temp   | Temperature | 23.00      | C     | 'OK'
40 | ADM1062-TEMP 0 | Temperature | 33.00      | C     | 'OK'


Then if I ask for a couple of sensors that are owned by a different FRU, the
tool exits out early.

address@hidden:/opt/freeipmi-1.4.9/ipmi-sensors> ./ipmi-sensors -v -h p-sm -u 
xxx
-p xxx -b -r 39,40
Record ID: 39
ID String: ARM CPU Temp
Sensor Type: Temperature (1h)
Sensor Number: 112
IPMB Slave Address: 41h
Sensor Owner ID: 82h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: Chassis Specific (160)
Entity Instance: 96
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
api/ipmi-api-util.c: 354: _api_ipmi_cmd_post: error 'Parameter out of range.
One or more parameters in the data field of the Request are out of range.
This is different from  'Invalid data field' (CCh) code in that it indicates
that the erroneous field(s) has a contiguous range of possible values.' (201)
api/ipmi-sensor-cmds-api.c: 282: ipmi_cmd_get_sensor_thresholds: error
'command invalid or unsupported' (23)


It only tries the first sensor, and then exits when it encounters the error.
 If I patch ipmi-sensors-detailed-output.c as follows,

-- ipmi-sensors-detailed-output.c      2014-01-15 15:59:37.000000000 -0800
+++ ipmi-sensors-detailed-output.c.cej  2015-08-18 09:41:06.654966695 -0700
@@ -361,7 +361,7 @@
                                    &upper_non_critical_threshold,
                                    &upper_critical_threshold,
                                    &upper_non_recoverable_threshold) < 0)
-    goto cleanup;
+ /*   goto cleanup; */

   /* don't output at all if there isn't atleast 1 threshold to output */
   if (!lower_critical_threshold

Then it will continue past the first error.

address@hidden:/opt/freeipmi-1.4.9/ipmi-sensors> ./ipmi-sensors -v -h p-sm -u 
xxx
-p xxx -b -r 39,40
Record ID: 39
ID String: ARM CPU Temp
Sensor Type: Temperature (1h)
Sensor Number: 112
IPMB Slave Address: 41h
Sensor Owner ID: 82h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: Chassis Specific (160)
Entity Instance: 96
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
api/ipmi-api-util.c: 354: _api_ipmi_cmd_post: error 'Parameter out of range.
One or more parameters in the data field of the Request are out of range.
This is different from  'Invalid data field' (CCh) code in that it indicates
that the erroneous field(s) has a contiguous range of possible values.' (201)
api/ipmi-sensor-cmds-api.c: 282: ipmi_cmd_get_sensor_thresholds: error
'command invalid or unsupported' (23)
Sensor Min. Reading: -55.000000 C
Sensor Max. Reading: 125.000000 C
Normal Min.: 25.000000 C
Normal Max.: 55.000000 C
Nominal Reading: 40.000000 C
Sensor Reading: 23.000000 C
Sensor Event: 'OK'

Record ID: 40
ID String: ADM1062-TEMP 0
Sensor Type: Temperature (1h)
Sensor Number: 6
IPMB Slave Address: 41h
Sensor Owner ID: 82h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: Chassis Specific (160)
Entity Instance: 96
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
api/ipmi-api-util.c: 354: _api_ipmi_cmd_post: error 'Unspecified error.' (255)
api/ipmi-sensor-cmds-api.c: 282: ipmi_cmd_get_sensor_thresholds: error 'bad
completion code' (24)
Sensor Min. Reading: -128.000000 C
Sensor Max. Reading: 127.000000 C
Normal Min.: 25.000000 C
Normal Max.: 55.000000 C
Nominal Reading: 40.000000 C
Sensor Reading: 33.000000 C
Sensor Event: 'OK'

If I let it run for all the sensors, I see a mix of these two errors (203,
255).  These sensors do have thresholds, as I can see them via the
"ipmitool" utility.

Now for the --debug output with my patched version so that we can see both
error types,

address@hidden:/opt/freeipmi-1.4.9/ipmi-sensors> ./ipmi-sensors --debug -v -h
p-sm -u xxx -p xxx -b -r 39,40

p-sm: =====================================================
p-sm: IPMI 1.5 Get Channel Authentication Capabilities Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               0h] = authentication_type[ 8b]
p-sm: [               0h] = session_sequence_number[32b]
p-sm: [               0h] = session_id[32b]
p-sm: [               9h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               6h] = net_fn[ 6b]
p-sm: [              C8h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              32h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              38h] = cmd[ 8b]
p-sm: [               Eh] = channel_number[ 4b]
p-sm: [               0h] = reserved1[ 3b]
p-sm: [               0h] = get_ipmi_v2.0_extended_data[ 1b]
p-sm: [               3h] = maximum_privilege_level[ 4b]
p-sm: [               0h] = reserved2[ 4b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              6Eh] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Get Channel Authentication Capabilities Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               0h] = authentication_type[ 8b]
p-sm: [               0h] = session_sequence_number[32b]
p-sm: [               0h] = session_id[32b]
p-sm: [              10h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               7h] = net_fn[ 6b]
p-sm: [              63h] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              32h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              38h] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: [               2h] = channel_number[ 8b]
p-sm: [               1h] = authentication_type.none[ 1b]
p-sm: [               1h] = authentication_type.md2[ 1b]
p-sm: [               1h] = authentication_type.md5[ 1b]
p-sm: [               0h] = authentication_type.reserved1[ 1b]
p-sm: [               1h] = authentication_type.straight_password_key[ 1b]
p-sm: [               0h] = authentication_type.oem_prop[ 1b]
p-sm: [               1h] = authentication_type.reserved2[ 1b]
p-sm: [               1h] =
authentication_type.ipmi_v2.0_extended_capabilities_available[ 1b]
p-sm: [               0h] = authentication_status.anonymous_login[ 1b]
p-sm: [               0h] = authentication_status.null_username[ 1b]
p-sm: [               1h] = authentication_status.non_null_username[ 1b]
p-sm: [               1h] = authentication_status.user_level_authentication[ 1b]
p-sm: [               1h] =
authentication_status.per_message_authentication[ 1b]
p-sm: [               0h] = authentication_status.k_g[ 1b]
p-sm: [               0h] = authentication_status.reserved[ 2b]
p-sm: [               1h] = channel_supports_ipmi_v1.5_connections[ 1b]
p-sm: [               1h] = channel_supports_ipmi_v2.0_connections[ 1b]
p-sm: [               0h] = reserved[ 6b]
p-sm: [            CDABh] = oem_id[24b]
p-sm: [               0h] = oem_auxiliary_data[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              70h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Get Session Challenge Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               0h] = authentication_type[ 8b]
p-sm: [               0h] = session_sequence_number[32b]
p-sm: [               0h] = session_id[32b]
p-sm: [              18h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               6h] = net_fn[ 6b]
p-sm: [              C8h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              33h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              39h] = cmd[ 8b]
p-sm: [               2h] = authentication_type[ 4b]
p-sm: [               0h] = reserved[ 4b]
p-sm: [  BYTE ARRAY ... ] = user_name[16B]
p-sm: [ 63h 6Ch 69h 00h 00h 00h 00h 00h ]
p-sm: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              40h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Get Session Challenge Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               0h] = authentication_type[ 8b]
p-sm: [               0h] = session_sequence_number[32b]
p-sm: [               0h] = session_id[32b]
p-sm: [              1Ch] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               7h] = net_fn[ 6b]
p-sm: [              63h] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              33h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              39h] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: [              6Fh] = temp_session_id[32b]
p-sm: [  BYTE ARRAY ... ] = challenge_string[16B]
p-sm: [ 60h 7Fh D9h 75h 2Fh C9h 89h F5h ]
p-sm: [ 5Bh F4h F3h 14h 38h 12h 59h 3Ch ]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              94h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Activiate Session Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [               0h] = session_sequence_number[32b]
p-sm: [              6Fh] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 2Fh 31h 35h 02h 02h F3h 23h 1Dh ]
p-sm: [ 0Fh F0h 14h 1Ah A6h 85h 35h E9h ]
p-sm: [              1Dh] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               6h] = net_fn[ 6b]
p-sm: [              C8h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              34h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              3Ah] = cmd[ 8b]
p-sm: [               2h] = authentication_type[ 4b]
p-sm: [               0h] = reserved1[ 4b]
p-sm: [               3h] = maximum_privilege_level[ 4b]
p-sm: [               0h] = reserved2[ 4b]
p-sm: [  BYTE ARRAY ... ] = challenge_string[16B]
p-sm: [ 60h 7Fh D9h 75h 2Fh C9h 89h F5h ]
p-sm: [ 5Bh F4h F3h 14h 38h 12h 59h 3Ch ]
p-sm: [        4DFA9B52h] = initial_outbound_sequence_number[32b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              64h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Activiate Session Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B52h] = session_sequence_number[32b]
p-sm: [              6Fh] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ C9h C5h E1h 5Ch 5Ah 63h 19h 73h ]
p-sm: [ 3Eh 23h 07h A1h B8h 1Ah A5h 70h ]
p-sm: [              12h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               7h] = net_fn[ 6b]
p-sm: [              63h] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              34h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              3Ah] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: [               2h] = authentication_type[ 4b]
p-sm: [               0h] = reserved1[ 4b]
p-sm: [              44h] = session_id[32b]
p-sm: [               1h] = initial_inbound_sequence_number[32b]
p-sm: [               3h] = maximum_privilege_level[ 4b]
p-sm: [               0h] = reserved2[ 4b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              8Ch] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Set Session Privilege Level Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [               1h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ C7h 7Fh C7h 24h 42h 42h 1Ch 32h ]
p-sm: [ 8Dh 37h B7h E2h 5Ah E3h 90h 3Fh ]
p-sm: [               8h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               6h] = net_fn[ 6b]
p-sm: [              C8h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              35h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              3Bh] = cmd[ 8b]
p-sm: [               3h] = privilege_level[ 4b]
p-sm: [               0h] = reserved1[ 4b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              6Dh] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Set Session Privilege Level Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B53h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 7Bh 2Dh F7h A6h 4Fh 21h 6Ah 7Eh ]
p-sm: [ E1h F0h AAh 51h BAh 14h 6Eh 4Ch ]
p-sm: [               9h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               7h] = net_fn[ 6b]
p-sm: [              63h] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              35h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              3Bh] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: [               3h] = privilege_level[ 4b]
p-sm: [               0h] = reserved1[ 4b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              CEh] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Get SDR Repository Info Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [               2h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ D0h 02h 74h C2h 3Bh CBh 98h A8h ]
p-sm: [ 69h A0h 7Ch C6h 23h 22h 51h 62h ]
p-sm: [               7h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               Ah] = net_fn[ 6b]
p-sm: [              B8h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              36h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              20h] = cmd[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              87h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Get SDR Repository Info Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B54h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ EFh D2h 9Bh 30h 24h 2Ch 62h 99h ]
p-sm: [ 45h 44h 3Eh 88h EDh 9Ch 28h 8Ch ]
p-sm: [              16h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               Bh] = net_fn[ 6b]
p-sm: [              53h] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              36h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              20h] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: [               1h] = sdr_version_major[ 4b]
p-sm: [               5h] = sdr_version_minor[ 4b]
p-sm: [             242h] = record_count[16b]
p-sm: [            96D2h] = free_space[16b]
p-sm: [              5Ch] = most_recent_addition_timestamp[32b]
p-sm: [              5Bh] = most_recent_erase_timestamp[32b]
p-sm: [               1h] =
get_sdr_repository_allocation_info_command_supported[ 1b]
p-sm: [               1h] = reserve_sdr_repository_command_supported[ 1b]
p-sm: [               0h] = partial_add_sdr_command_supported[ 1b]
p-sm: [               0h] = delete_sdr_command_supported[ 1b]
p-sm: [               0h] = reserved[ 1b]
p-sm: [               0h] =
modal_non_modal_sdr_repository_update_operation_supported[ 2b]
p-sm: [               0h] = overflow_flag[ 1b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              31h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: SDR Full Sensor Record
p-sm: =====================================================
p-sm: [              27h] = record_id[16b]
p-sm: [               1h] = sdr_version_major[ 4b]
p-sm: [               5h] = sdr_version_minor[ 4b]
p-sm: [               1h] = record_type[ 8b]
p-sm: [              37h] = record_length[ 8b]
p-sm: [               0h] = sensor_owner_id.type[ 1b]
p-sm: [              41h] = sensor_owner_id[ 7b]
p-sm: [               0h] = sensor_owner_lun[ 2b]
p-sm: [               0h] = sensor_owner_lun.reserved[ 2b]
p-sm: [               0h] = channel_number[ 4b]
p-sm: [              70h] = sensor_number[ 8b]
p-sm: [              A0h] = entity_id[ 8b]
p-sm: [              60h] = entity_instance[ 7b]
p-sm: [               0h] = entity_instance.type[ 1b]
p-sm: [               1h] = sensor_initialization.sensor_scanning[ 1b]
p-sm: [               1h] = sensor_initialization.event_generation[ 1b]
p-sm: [               0h] = sensor_initialization.init_sensor_type[ 1b]
p-sm: [               0h] = sensor_initialization.init_hysteresis[ 1b]
p-sm: [               0h] = sensor_initialization.init_thresholds[ 1b]
p-sm: [               0h] = sensor_initialization.init_events[ 1b]
p-sm: [               0h] = sensor_initialization.init_scanning[ 1b]
p-sm: [               0h] = sensor_initialization.reserved[ 1b]
p-sm: [               2h] =
sensor_capabilities.event_message_control_support[ 2b]
p-sm: [               2h] = sensor_capabilities.threshold_access_support[ 2b]
p-sm: [               3h] = sensor_capabilities.hysteresis_support[ 2b]
p-sm: [               1h] = sensor_capabilities.auto_re_arm_support[ 1b]
p-sm: [               0h] = sensor_capabilities.entity_ignore_support[ 1b]
p-sm: [               1h] = sensor_type[ 8b]
p-sm: [               1h] = event_reading_type_code[ 8b]
p-sm: [               1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
p-sm: [               1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
p-sm: [               1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
p-sm: [               1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
p-sm: [               0h] = lower_threshold_reading_mask.reserved[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
p-sm: [               1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
p-sm: [               1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
p-sm: [               1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
p-sm: [               0h] = upper_threshold_reading_mask.reserved[ 1b]
p-sm: [               1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
p-sm: [               0h] = readable_threshold_mask.reserved1[ 1b]
p-sm: [               0h] = readable_threshold_mask.reserved2[ 1b]
p-sm: [               1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
p-sm: [               0h] = settable_threshold_mask.reserved1[ 1b]
p-sm: [               0h] = settable_threshold_mask.reserved2[ 1b]
p-sm: [               0h] = sensor_unit1.percentage[ 1b]
p-sm: [               0h] = sensor_unit1.modifier_unit[ 2b]
p-sm: [               0h] = sensor_unit1.rate_unit[ 3b]
p-sm: [               2h] = sensor_unit1.analog_data_format[ 2b]
p-sm: [               1h] = sensor_unit2.base_unit[ 8b]
p-sm: [               0h] = sensor_unit3.modifier_unit[ 8b]
p-sm: [               0h] = linearization[ 7b]
p-sm: [               0h] = linearization.reserved[ 1b]
p-sm: [               1h] = m_ls[ 8b]
p-sm: [               0h] = tolerance[ 6b]
p-sm: [               0h] = m_ms[ 2b]
p-sm: [               0h] = b_ls[ 8b]
p-sm: [               3h] = accuracy_ls[ 6b]
p-sm: [               0h] = b_ms[ 2b]
p-sm: [               0h] = sensor_direction[ 2b]
p-sm: [               0h] = accuracy_exp[ 2b]
p-sm: [               0h] = accuracy_ms[ 4b]
p-sm: [               0h] = b_exponent[ 4b]
p-sm: [               0h] = r_exponent[ 4b]
p-sm: [               1h] = analog_characteristics_flag.nominal_reading[ 1b]
p-sm: [               1h] = analog_characteristics_flag.normal_max[ 1b]
p-sm: [               1h] = analog_characteristics_flag.normal_min[ 1b]
p-sm: [               0h] = analog_characteristics_flag.reserved[ 5b]
p-sm: [              28h] = nominal_reading[ 8b]
p-sm: [              37h] = normal_maximum[ 8b]
p-sm: [              19h] = normal_minimum[ 8b]
p-sm: [              7Dh] = sensor_maximum_reading[ 8b]
p-sm: [              C9h] = sensor_minimum_reading[ 8b]
p-sm: [              4Bh] = upper_non_recoverable_threshold[ 8b]
p-sm: [              41h] = upper_critical_threshold[ 8b]
p-sm: [              37h] = upper_non_critical_threshold[ 8b]
p-sm: [              F6h] = lower_non_recoverable_threshold[ 8b]
p-sm: [               0h] = lower_critical_threshold[ 8b]
p-sm: [               5h] = lower_non_critical_threshold[ 8b]
p-sm: [               3h] = positive_going_threshold_hysteresis[ 8b]
p-sm: [               3h] = negative_going_threshold_hysteresis[ 8b]
p-sm: [               0h] = reserved[16b]
p-sm: [               0h] = oem[ 8b]
p-sm: [              CCh] = id_string_type_length_code[ 8b]
p-sm: [  BYTE ARRAY ... ] = id_string[12B]
p-sm: [ 41h 52h 4Dh 20h 43h 50h 55h 20h ]
p-sm: [ 54h 65h 6Dh 70h ]
p-sm: =====================================================
p-sm: IPMI 1.5 Send Message Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [               3h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 7Eh FDh 40h 8Bh 2Eh F3h 8Ah 46h ]
p-sm: [ D7h 87h F2h 24h 49h 36h 64h A3h ]
p-sm: [              10h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               6h] = net_fn[ 6b]
p-sm: [              C8h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              37h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              34h] = cmd[ 8b]
p-sm: [               0h] = channel_number[ 4b]
p-sm: [               0h] = send_message_with_authentication[ 1b]
p-sm: [               0h] = send_message_with_encryption[ 1b]
p-sm: [               1h] = tracking_operation[ 2b]
p-sm: IPMB Message Header:
p-sm: --------------------
p-sm: [              82h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               4h] = net_fn[ 6b]
p-sm: [              6Eh] = checksum1[ 8b]
p-sm: [              20h] = rq_addr[ 8b]
p-sm: [               2h] = rq_lun[ 2b]
p-sm: [              37h] = rq_seq[ 6b]
p-sm: IPMB Message Data:
p-sm: ------------------
p-sm: [              2Dh] = cmd[ 8b]
p-sm: [              70h] = sensor_number[ 8b]
p-sm: IPMB Message Trailer:
p-sm: ---------------------
p-sm: [              65h] = checksum2[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              2Fh] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Send Message Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B55h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 48h 95h FFh A8h 65h 71h 6Fh 1Ch ]
p-sm: [ F4h 14h 13h 20h DCh 45h 2Dh 28h ]
p-sm: [               8h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               7h] = net_fn[ 6b]
p-sm: [              63h] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              37h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              34h] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              D0h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Get Sensor Reading Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B56h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 89h 23h F9h 98h C6h 9Ch 28h 9Fh ]
p-sm: [ 81h BAh 87h 18h 17h 3Eh 97h 53h ]
p-sm: [               Ch] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               5h] = net_fn[ 6b]
p-sm: [              6Bh] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              37h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              2Dh] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: [              17h] = sensor_reading[ 8b]
p-sm: [               0h] = reserved1[ 5b]
p-sm: [               0h] = reading_state[ 1b]
p-sm: [               1h] = sensor_scanning[ 1b]
p-sm: [               1h] = all_event_messages[ 1b]
p-sm: [               0h] = sensor_event_bitmask1[ 8b]
p-sm: [               0h] = sensor_event_bitmask2[ 7b]
p-sm: [               0h] = reserved2[ 1b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [               0h] = checksum2[ 8b]
Record ID: 39
ID String: ARM CPU Temp
Sensor Type: Temperature (1h)
Sensor Number: 112
IPMB Slave Address: 41h
Sensor Owner ID: 82h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: Chassis Specific (160)
Entity Instance: 96
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
p-sm: =====================================================
p-sm: IPMI 1.5 Get Sensor Thresholds Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [               5h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 0Dh A4h F2h 71h 0Dh 52h CCh A8h ]
p-sm: [ 73h 7Ah 68h 98h 57h 42h CDh 5Ch ]
p-sm: [               8h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               4h] = net_fn[ 6b]
p-sm: [              D0h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              38h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              27h] = cmd[ 8b]
p-sm: [              70h] = sensor_number[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [               8h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Get Sensor Thresholds Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B57h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ FEh B3h FBh 42h DDh 7Ah F6h 99h ]
p-sm: [ 22h B5h 9Eh 82h ACh A0h 85h 49h ]
p-sm: [               8h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               5h] = net_fn[ 6b]
p-sm: [              6Bh] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              38h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              27h] = cmd[ 8b]
p-sm: [              C9h] = comp_code[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              10h] = checksum2[ 8b]
api/ipmi-api-util.c: 354: _api_ipmi_cmd_post: error 'Parameter out of range.
One or more parameters in the data field of the Request are out of range.
This is different from  'Invalid data field' (CCh) code in that it indicates
that the erroneous field(s) has a contiguous range of possible values.' (201)
api/ipmi-sensor-cmds-api.c: 282: ipmi_cmd_get_sensor_thresholds: error
'command invalid or unsupported' (23)
ipmi_cmd_get_sensor_thresholds: command invalid or unsupported
Sensor Min. Reading: -55.000000 C
Sensor Max. Reading: 125.000000 C
Normal Min.: 25.000000 C
Normal Max.: 55.000000 C
Nominal Reading: 40.000000 C
Sensor Reading: 23.000000 C
Sensor Event: 'OK'

p-sm: =====================================================
p-sm: SDR Full Sensor Record
p-sm: =====================================================
p-sm: [              28h] = record_id[16b]
p-sm: [               1h] = sdr_version_major[ 4b]
p-sm: [               5h] = sdr_version_minor[ 4b]
p-sm: [               1h] = record_type[ 8b]
p-sm: [              39h] = record_length[ 8b]
p-sm: [               0h] = sensor_owner_id.type[ 1b]
p-sm: [              41h] = sensor_owner_id[ 7b]
p-sm: [               0h] = sensor_owner_lun[ 2b]
p-sm: [               0h] = sensor_owner_lun.reserved[ 2b]
p-sm: [               0h] = channel_number[ 4b]
p-sm: [               6h] = sensor_number[ 8b]
p-sm: [              A0h] = entity_id[ 8b]
p-sm: [              60h] = entity_instance[ 7b]
p-sm: [               0h] = entity_instance.type[ 1b]
p-sm: [               1h] = sensor_initialization.sensor_scanning[ 1b]
p-sm: [               1h] = sensor_initialization.event_generation[ 1b]
p-sm: [               0h] = sensor_initialization.init_sensor_type[ 1b]
p-sm: [               0h] = sensor_initialization.init_hysteresis[ 1b]
p-sm: [               0h] = sensor_initialization.init_thresholds[ 1b]
p-sm: [               0h] = sensor_initialization.init_events[ 1b]
p-sm: [               0h] = sensor_initialization.init_scanning[ 1b]
p-sm: [               0h] = sensor_initialization.reserved[ 1b]
p-sm: [               2h] =
sensor_capabilities.event_message_control_support[ 2b]
p-sm: [               2h] = sensor_capabilities.threshold_access_support[ 2b]
p-sm: [               3h] = sensor_capabilities.hysteresis_support[ 2b]
p-sm: [               1h] = sensor_capabilities.auto_re_arm_support[ 1b]
p-sm: [               0h] = sensor_capabilities.entity_ignore_support[ 1b]
p-sm: [               1h] = sensor_type[ 8b]
p-sm: [               1h] = event_reading_type_code[ 8b]
p-sm: [               1h] =
threshold_assertion_event_mask.lower_non_critical_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.lower_non_critical_going_high_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.lower_critical_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.lower_critical_going_high_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.upper_non_critical_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.upper_non_critical_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.upper_critical_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.upper_critical_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_assertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_assertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
p-sm: [               1h] =
lower_threshold_reading_mask.lower_non_critical_threshold_is_comparison[ 1b]
p-sm: [               1h] =
lower_threshold_reading_mask.lower_critical_threshold_is_comparison[ 1b]
p-sm: [               1h] =
lower_threshold_reading_mask.lower_non_recoverable_is_comparison[ 1b]
p-sm: [               0h] = lower_threshold_reading_mask.reserved[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.lower_non_critical_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.lower_non_critical_going_high_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.lower_critical_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.lower_critical_going_high_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_low_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.lower_non_recoverable_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.upper_non_critical_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.upper_non_critical_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.upper_critical_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.upper_critical_going_high_supported[ 1b]
p-sm: [               0h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_low_supported[ 1b]
p-sm: [               1h] =
threshold_deassertion_event_mask.upper_non_recoverable_going_high_supported[ 1b]
p-sm: [               1h] =
upper_threshold_reading_mask.upper_non_critical_threshold_is_comparison[ 1b]
p-sm: [               1h] =
upper_threshold_reading_mask.upper_critical_threshold_is_comparison[ 1b]
p-sm: [               1h] =
upper_threshold_reading_mask.upper_non_recoverable_is_comparison[ 1b]
p-sm: [               0h] = upper_threshold_reading_mask.reserved[ 1b]
p-sm: [               1h] =
readable_threshold_mask.lower_non_critical_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.lower_critical_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.lower_non_recoverable_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.upper_non_critical_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.upper_critical_threshold_is_readable[ 1b]
p-sm: [               1h] =
readable_threshold_mask.upper_non_recoverable_threshold_is_readable[ 1b]
p-sm: [               0h] = readable_threshold_mask.reserved1[ 1b]
p-sm: [               0h] = readable_threshold_mask.reserved2[ 1b]
p-sm: [               1h] =
settable_threshold_mask.lower_non_critical_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.lower_critical_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.lower_non_recoverable_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.upper_non_critical_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.upper_critical_threshold_is_settable[ 1b]
p-sm: [               1h] =
settable_threshold_mask.upper_non_recoverable_threshold_is_settable[ 1b]
p-sm: [               0h] = settable_threshold_mask.reserved1[ 1b]
p-sm: [               0h] = settable_threshold_mask.reserved2[ 1b]
p-sm: [               0h] = sensor_unit1.percentage[ 1b]
p-sm: [               0h] = sensor_unit1.modifier_unit[ 2b]
p-sm: [               0h] = sensor_unit1.rate_unit[ 3b]
p-sm: [               2h] = sensor_unit1.analog_data_format[ 2b]
p-sm: [               1h] = sensor_unit2.base_unit[ 8b]
p-sm: [               0h] = sensor_unit3.modifier_unit[ 8b]
p-sm: [               0h] = linearization[ 7b]
p-sm: [               0h] = linearization.reserved[ 1b]
p-sm: [               1h] = m_ls[ 8b]
p-sm: [               0h] = tolerance[ 6b]
p-sm: [               0h] = m_ms[ 2b]
p-sm: [               0h] = b_ls[ 8b]
p-sm: [               3h] = accuracy_ls[ 6b]
p-sm: [               0h] = b_ms[ 2b]
p-sm: [               0h] = sensor_direction[ 2b]
p-sm: [               0h] = accuracy_exp[ 2b]
p-sm: [               0h] = accuracy_ms[ 4b]
p-sm: [               0h] = b_exponent[ 4b]
p-sm: [               0h] = r_exponent[ 4b]
p-sm: [               1h] = analog_characteristics_flag.nominal_reading[ 1b]
p-sm: [               1h] = analog_characteristics_flag.normal_max[ 1b]
p-sm: [               1h] = analog_characteristics_flag.normal_min[ 1b]
p-sm: [               0h] = analog_characteristics_flag.reserved[ 5b]
p-sm: [              28h] = nominal_reading[ 8b]
p-sm: [              37h] = normal_maximum[ 8b]
p-sm: [              19h] = normal_minimum[ 8b]
p-sm: [              7Fh] = sensor_maximum_reading[ 8b]
p-sm: [              80h] = sensor_minimum_reading[ 8b]
p-sm: [              4Bh] = upper_non_recoverable_threshold[ 8b]
p-sm: [              41h] = upper_critical_threshold[ 8b]
p-sm: [              37h] = upper_non_critical_threshold[ 8b]
p-sm: [              F6h] = lower_non_recoverable_threshold[ 8b]
p-sm: [               0h] = lower_critical_threshold[ 8b]
p-sm: [               5h] = lower_non_critical_threshold[ 8b]
p-sm: [               3h] = positive_going_threshold_hysteresis[ 8b]
p-sm: [               3h] = negative_going_threshold_hysteresis[ 8b]
p-sm: [               0h] = reserved[16b]
p-sm: [               0h] = oem[ 8b]
p-sm: [              CEh] = id_string_type_length_code[ 8b]
p-sm: [  BYTE ARRAY ... ] = id_string[14B]
p-sm: [ 41h 44h 4Dh 31h 30h 36h 32h 2Dh ]
p-sm: [ 54h 45h 4Dh 50h 20h 30h ]
p-sm: =====================================================
p-sm: IPMI 1.5 Send Message Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [               6h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 75h FCh 00h D2h 22h 67h 72h 78h ]
p-sm: [ F3h C9h 26h 15h BCh A0h 9Eh D6h ]
p-sm: [              10h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               6h] = net_fn[ 6b]
p-sm: [              C8h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              39h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              34h] = cmd[ 8b]
p-sm: [               0h] = channel_number[ 4b]
p-sm: [               0h] = send_message_with_authentication[ 1b]
p-sm: [               0h] = send_message_with_encryption[ 1b]
p-sm: [               1h] = tracking_operation[ 2b]
p-sm: IPMB Message Header:
p-sm: --------------------
p-sm: [              82h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               4h] = net_fn[ 6b]
p-sm: [              6Eh] = checksum1[ 8b]
p-sm: [              20h] = rq_addr[ 8b]
p-sm: [               2h] = rq_lun[ 2b]
p-sm: [              39h] = rq_seq[ 6b]
p-sm: IPMB Message Data:
p-sm: ------------------
p-sm: [              2Dh] = cmd[ 8b]
p-sm: [               6h] = sensor_number[ 8b]
p-sm: IPMB Message Trailer:
p-sm: ---------------------
p-sm: [              C7h] = checksum2[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              27h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Send Message Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B58h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 70h EBh BEh EBh 80h EEh D2h 2Dh ]
p-sm: [ E8h EEh 03h 07h ABh E1h CFh 8Fh ]
p-sm: [               8h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               7h] = net_fn[ 6b]
p-sm: [              63h] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              39h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              34h] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              C8h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Get Sensor Reading Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B59h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 1Dh 1Ch A5h 60h A3h 85h 82h BCh ]
p-sm: [ 00h AFh 58h C2h AAh 7Dh 7Bh 44h ]
p-sm: [               Ch] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               5h] = net_fn[ 6b]
p-sm: [              6Bh] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              39h] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              2Dh] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: [              20h] = sensor_reading[ 8b]
p-sm: [               0h] = reserved1[ 5b]
p-sm: [               0h] = reading_state[ 1b]
p-sm: [               1h] = sensor_scanning[ 1b]
p-sm: [               1h] = all_event_messages[ 1b]
p-sm: [               0h] = sensor_event_bitmask1[ 8b]
p-sm: [               0h] = sensor_event_bitmask2[ 7b]
p-sm: [               0h] = reserved2[ 1b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              EFh] = checksum2[ 8b]
Record ID: 40
ID String: ADM1062-TEMP 0
Sensor Type: Temperature (1h)
Sensor Number: 6
IPMB Slave Address: 41h
Sensor Owner ID: 82h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: Chassis Specific (160)
Entity Instance: 96
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
p-sm: =====================================================
p-sm: IPMI 1.5 Get Sensor Thresholds Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [               8h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 59h A4h 6Dh 25h BBh 40h 04h 2Eh ]
p-sm: [ C9h 3Fh 42h FBh 02h 9Eh D4h 1Ah ]
p-sm: [               8h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               4h] = net_fn[ 6b]
p-sm: [              D0h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              3Ah] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              27h] = cmd[ 8b]
p-sm: [               6h] = sensor_number[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              6Ah] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Get Sensor Thresholds Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B5Ah] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ B6h 84h 59h 88h 75h BDh AFh 94h ]
p-sm: [ E6h 7Dh 96h 0Fh C2h 71h 9Bh CCh ]
p-sm: [               8h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               5h] = net_fn[ 6b]
p-sm: [              6Bh] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              3Ah] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              27h] = cmd[ 8b]
p-sm: [              FFh] = comp_code[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              D2h] = checksum2[ 8b]
api/ipmi-api-util.c: 354: _api_ipmi_cmd_post: error 'Unspecified error.' (255)
api/ipmi-sensor-cmds-api.c: 282: ipmi_cmd_get_sensor_thresholds: error 'bad
completion code' (24)
ipmi_cmd_get_sensor_thresholds: bad completion code
Sensor Min. Reading: -128.000000 C
Sensor Max. Reading: 127.000000 C
Normal Min.: 25.000000 C
Normal Max.: 55.000000 C
Nominal Reading: 40.000000 C
Sensor Reading: 32.000000 C
Sensor Event: 'OK'

p-sm: =====================================================
p-sm: IPMI 1.5 Close Session Request
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [               9h] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 4Dh BCh 4Dh 1Fh 40h 90h 0Fh 37h ]
p-sm: [ 07h 13h 9Bh 61h FAh 9Eh 17h A8h ]
p-sm: [               Bh] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [               6h] = net_fn[ 6b]
p-sm: [              C8h] = checksum1[ 8b]
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [              3Bh] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              3Ch] = cmd[ 8b]
p-sm: [              44h] = session_id[32b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              13h] = checksum2[ 8b]
p-sm: =====================================================
p-sm: IPMI 1.5 Close Session Response
p-sm: =====================================================
p-sm: RMCP Header:
p-sm: ------------
p-sm: [               6h] = version[ 8b]
p-sm: [               0h] = reserved[ 8b]
p-sm: [              FFh] = sequence_number[ 8b]
p-sm: [               7h] = message_class.class[ 5b]
p-sm: [               0h] = message_class.reserved[ 2b]
p-sm: [               0h] = message_class.ack[ 1b]
p-sm: IPMI Session Header:
p-sm: --------------------
p-sm: [               2h] = authentication_type[ 8b]
p-sm: [        4DFA9B5Bh] = session_sequence_number[32b]
p-sm: [              44h] = session_id[32b]
p-sm: [  BYTE ARRAY ... ] = authentication_code[16B]
p-sm: [ 06h F7h C3h 9Ch 2Ah 13h 31h 93h ]
p-sm: [ 23h 04h C5h BBh 06h CDh 3Bh CEh ]
p-sm: [               8h] = ipmi_msg_len[ 8b]
p-sm: IPMI Message Header:
p-sm: --------------------
p-sm: [              81h] = rq_addr[ 8b]
p-sm: [               0h] = rq_lun[ 2b]
p-sm: [               7h] = net_fn[ 6b]
p-sm: [              63h] = checksum1[ 8b]
p-sm: [              20h] = rs_addr[ 8b]
p-sm: [               0h] = rs_lun[ 2b]
p-sm: [              3Bh] = rq_seq[ 6b]
p-sm: IPMI Command Data:
p-sm: ------------------
p-sm: [              3Ch] = cmd[ 8b]
p-sm: [               0h] = comp_code[ 8b]
p-sm: IPMI Trailer:
p-sm: --------------
p-sm: [              B8h] = checksum2[ 8b]









_______________________________________________
Freeipmi-users mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/freeipmi-users

reply via email to

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