chu11 / freeipmi-mirror

Mirror of GNU FreeIPMI Git Repo - http://savannah.gnu.org/projects/freeipmi/. I maintain the upstream of FreeIPMI and can accept Github pull requests.
GNU General Public License v3.0
12 stars 16 forks source link

receiving "SEL illegal timestamp situation" in logs when using ipmiseld #35

Closed adamwoolhether closed 3 years ago

adamwoolhether commented 4 years ago

As the title says, my rsyslog files are populated only with a single entry for every SEL event: "SEL illegal timestamp situation".

This happens with default or custom-defined string output.

I can generate accurate reports with the '--test-run' option.

here's an example of my output

ipmiseld -v --poll-interval=5 --log-facility=LOG_LOCAL4 --system-event-format '%i %d %t %T %s %I %E' --oem-timestamped-event-format '%i %d %t %I %o'

and my rsyslog config in /etc/rsyslog.d/ipmiseld.conf:

# BMC System Event Log events
local4.*                                                /var/log/ipmiseld.log

Output for all events looks like:

Sep  3 10:20:44 xxx ipmiseld[359204]: SEL illegal timestamp situation
Sep  3 10:25:45 xxx ipmiseld[359204]: SEL illegal timestamp situation
Sep  3 10:40:22 xxx ipmiseld[8106]: SEL illegal timestamp situation
chu11 commented 3 years ago

sorry for late reply, completely missed seeing this. (Edit: surprise, github does not automatically subscribe you to your own repos for notifications).

What board are you running on and could you should the output of ipmi-sel -i. The "SEL illegal timestamp situation" indicates that the timestamps & record counts listed by the SEL are out of whack.

          /* This shouldn't be possible and is likely a bug in the
           * IPMI firmware (user erased entries but timestamp didn't
           * update, SEL added entries and updated timestamp but
           * didn't update entry count, etc.) we'll only save off the
           * host state for later.
           */
          if (host_data->prog_data->args->verbose_count)
            ipmiseld_syslog_host (host_data, "SEL illegal timestamp situation");
adamwoolhether commented 3 years ago

Hi @chu11 , no worries, thanks for the response.

I've ran the command on a series of Quanta servers, all of which experience the problem: for i in 1 2 3 4 5 6 7; do ssh 10.108.5.$i 'dmidecode -s system-product-name' && ipmi-sel -i -h 10.108.2.$i -u XXX -p XXX ; done

QuantaGrid Q72D-2U
SEL version                            : 1.5
Number of log entries                  : 398
Free space remaining                   : 9198 bytes
Recent addition timestamp              : 08/14/2020 - 06:42:34
Recent erase timestamp                 : Post-Init 0 s
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 511
Largest free block                     : 511 allocation units
Maximum record size                    : 1 allocation units

QuantaGrid D52G-4U
SEL version                            : 1.5
Number of log entries                  : 286
Free space remaining                   : 11214 bytes
Recent addition timestamp              : 09/16/2020 - 00:53:05
Recent erase timestamp                 : 05/14/2020 - 00:14:47
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 623
Largest free block                     : 623 allocation units
Maximum record size                    : 1 allocation units

QuantaGrid D52BV-2U
SEL version                            : 1.5
Number of log entries                  : 80
Free space remaining                   : 14922 bytes
Recent addition timestamp              : 09/10/2020 - 06:47:03
Recent erase timestamp                 : Post-Init 0 s
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 829
Largest free block                     : 829 allocation units
Maximum record size                    : 1 allocation units

QuantaGrid D52B-1U
SEL version                            : 1.5
Number of log entries                  : 233
Free space remaining                   : 12168 bytes
Recent addition timestamp              : 09/02/2020 - 02:04:15
Recent erase timestamp                 : 03/05/2020 - 05:11:52
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 676
Largest free block                     : 676 allocation units
Maximum record size                    : 1 allocation units

QuantaPlex T42D-2U
SEL version                            : 1.5
Number of log entries                  : 909
Free space remaining                   : 0 bytes
Recent addition timestamp              : 09/21/2020 - 00:54:17
Recent erase timestamp                 : 07/23/2020 - 05:38:08
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 0
Largest free block                     : 0 allocation units
Maximum record size                    : 1 allocation units

QuantaPlex T42S-2U(LBG-4) -
SEL version                            : 1.5
Number of log entries                  : 909
Free space remaining                   : 0 bytes
Recent addition timestamp              : 09/14/2020 - 08:41:25
Recent erase timestamp                 : 02/29/2020 - 17:05:02
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 0
Largest free block                     : 0 allocation units
Maximum record size                    : 1 allocation units

QuantaGrid D43K-1U
SEL version                            : 1.5
Number of log entries                  : 909
Free space remaining                   : 0 bytes
Recent addition timestamp              : 09/21/2020 - 01:04:42
Recent erase timestamp                 : 11/13/2019 - 19:56:39
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 0
Largest free block                     : 0 allocation units
Maximum record size                    : 1 allocation units

Running a standard ipmi-sel also results in the following error:

QuantaGrid Q72D-2U
ipmi_sdr_parse_sensor_units: invalid sdr record
QuantaGrid D52G-4U
ipmi_sdr_parse_sensor_units: invalid sdr record
QuantaGrid D52BV-2U 28S5BMAXXXX
ipmi_sdr_parse_sensor_units: invalid sdr record
QuantaGrid D52B-1U
ipmi_sdr_parse_sensor_units: invalid sdr record
QuantaPlex T42D-2U
ipmi_sdr_parse_sensor_units: invalid sdr record
QuantaPlex T42S-2U(LBG-4) -
ipmi_sdr_parse_sensor_units: invalid sdr record
QuantaGrid D43K-1U
ipmi_sdr_parse_sensor_units: invalid sdr record

Adding the --legacy-output tag does work, but output can't give the 'priority-level'.

Interestingly, I can run the ipmi-seld command with the --test-run flag successfully with accurate output, but daemon cannot.

chu11 commented 3 years ago

lets start with ipmi-sel, b/c it appears that something on your board is non-standard and freeipmi can't seem to handle it.

Could you do ipmi-sel --debug. If it's a lot of records, could you limit it by just outputting the first record w/ --display=RECORDID. Thanks.

adamwoolhether commented 3 years ago

Hi Chu, here's my out output from one of the D52G. I'm not able to isolate based on RecordID in the given output.

$ ipmi-sel -h 10.108.2.91 -u xxx -p xxxx --debug

10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Get Channel Authentication Capabilities Request
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [               0h] = session_sequence_number[32b]
10.108.2.91: [               0h] = session_id[32b]
10.108.2.91: [               9h] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [               6h] = net_fn[ 6b]
10.108.2.91: [              C8h] = checksum1[ 8b]
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [              3Ah] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              38h] = cmd[ 8b]
10.108.2.91: [               Eh] = channel_number[ 4b]
10.108.2.91: [               0h] = reserved1[ 3b]
10.108.2.91: [               0h] = get_ipmi_v2.0_extended_data[ 1b]
10.108.2.91: [               3h] = maximum_privilege_level[ 4b]
10.108.2.91: [               0h] = reserved2[ 4b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              4Eh] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Get Channel Authentication Capabilities Response
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [               0h] = session_sequence_number[32b]
10.108.2.91: [               0h] = session_id[32b]
10.108.2.91: [              10h] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [               7h] = net_fn[ 6b]
10.108.2.91: [              63h] = checksum1[ 8b]
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [              3Ah] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              38h] = cmd[ 8b]
10.108.2.91: [               0h] = comp_code[ 8b]
10.108.2.91: [               1h] = channel_number[ 8b]
10.108.2.91: [               0h] = authentication_type.none[ 1b]
10.108.2.91: [               0h] = authentication_type.md2[ 1b]
10.108.2.91: [               1h] = authentication_type.md5[ 1b]
10.108.2.91: [               0h] = authentication_type.reserved1[ 1b]
10.108.2.91: [               0h] = authentication_type.straight_password_key[ 1b]
10.108.2.91: [               0h] = authentication_type.oem_prop[ 1b]
10.108.2.91: [               0h] = authentication_type.reserved2[ 1b]
10.108.2.91: [               0h] = authentication_type.ipmi_v2.0_extended_capabilities_available[ 1b]
10.108.2.91: [               0h] = authentication_status.anonymous_login[ 1b]
10.108.2.91: [               0h] = authentication_status.null_username[ 1b]
10.108.2.91: [               1h] = authentication_status.non_null_username[ 1b]
10.108.2.91: [               0h] = authentication_status.user_level_authentication[ 1b]
10.108.2.91: [               1h] = authentication_status.per_message_authentication[ 1b]
10.108.2.91: [               0h] = authentication_status.k_g[ 1b]
10.108.2.91: [               0h] = authentication_status.reserved[ 2b]
10.108.2.91: [               0h] = channel_supports_ipmi_v1.5_connections[ 1b]
10.108.2.91: [               0h] = channel_supports_ipmi_v2.0_connections[ 1b]
10.108.2.91: [               0h] = reserved[ 6b]
10.108.2.91: [               0h] = oem_id[24b]
10.108.2.91: [               0h] = oem_auxiliary_data[ 8b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              A7h] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Get Session Challenge Request
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [               0h] = session_sequence_number[32b]
10.108.2.91: [               0h] = session_id[32b]
10.108.2.91: [              18h] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [               6h] = net_fn[ 6b]
10.108.2.91: [              C8h] = checksum1[ 8b]
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [              3Bh] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              39h] = cmd[ 8b]
10.108.2.91: [               2h] = authentication_type[ 4b]
10.108.2.91: [               0h] = reserved[ 4b]
10.108.2.91: [  BYTE ARRAY ... ] = user_name[16B]
10.108.2.91: [ 61h 64h 6Dh 69h 6Eh 00h 00h 00h ]
10.108.2.91: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              4Fh] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Get Session Challenge Response
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [               0h] = session_sequence_number[32b]
10.108.2.91: [               0h] = session_id[32b]
10.108.2.91: [              1Ch] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [               7h] = net_fn[ 6b]
10.108.2.91: [              63h] = checksum1[ 8b]
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [              3Bh] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              39h] = cmd[ 8b]
10.108.2.91: [               0h] = comp_code[ 8b]
10.108.2.91: [        A58CCC5Fh] = temp_session_id[32b]
10.108.2.91: [  BYTE ARRAY ... ] = challenge_string[16B]
10.108.2.91: [ 8Fh 3Dh 0Eh 35h 00h 14h 8Ah F2h ]
10.108.2.91: [ 6Bh E5h B1h C5h F8h 62h F0h EAh ]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              C6h] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Activate Session Request
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               2h] = authentication_type[ 8b]
10.108.2.91: [               0h] = session_sequence_number[32b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: [  BYTE ARRAY ... ] = authentication_code[16B]
10.108.2.91: [ 69h FEh EFh E5h 06h B9h ECh 9Fh ]
10.108.2.91: [ E5h 1Fh D7h 8Bh 2Bh 39h 78h 85h ]
10.108.2.91: [              1Dh] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [               6h] = net_fn[ 6b]
10.108.2.91: [              C8h] = checksum1[ 8b]
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [              3Ch] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              3Ah] = cmd[ 8b]
10.108.2.91: [               2h] = authentication_type[ 4b]
10.108.2.91: [               0h] = reserved1[ 4b]
10.108.2.91: [               3h] = maximum_privilege_level[ 4b]
10.108.2.91: [               0h] = reserved2[ 4b]
10.108.2.91: [  BYTE ARRAY ... ] = challenge_string[16B]
10.108.2.91: [ 8Fh 3Dh 0Eh 35h 00h 14h 8Ah F2h ]
10.108.2.91: [ 6Bh E5h B1h C5h F8h 62h F0h EAh ]
10.108.2.91: [        24BDFC5Ch] = initial_outbound_sequence_number[32b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              7Eh] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Activate Session Response
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               2h] = authentication_type[ 8b]
10.108.2.91: [        24BDFC5Ch] = session_sequence_number[32b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: [  BYTE ARRAY ... ] = authentication_code[16B]
10.108.2.91: [ FFh C2h A0h D7h 60h 04h C9h 8Fh ]
10.108.2.91: [ EBh 5Ah A9h 67h 4Ah 9Eh B6h 0Eh ]
10.108.2.91: [              12h] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [               7h] = net_fn[ 6b]
10.108.2.91: [              63h] = checksum1[ 8b]
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [              3Ch] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              3Ah] = cmd[ 8b]
10.108.2.91: [               0h] = comp_code[ 8b]
10.108.2.91: [               0h] = authentication_type[ 4b]
10.108.2.91: [               0h] = reserved1[ 4b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: [        77713A5Ch] = initial_inbound_sequence_number[32b]
10.108.2.91: [               3h] = maximum_privilege_level[ 4b]
10.108.2.91: [               0h] = reserved2[ 4b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              D9h] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Set Session Privilege Level Request
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [        77713A5Ch] = session_sequence_number[32b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: [               8h] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [               6h] = net_fn[ 6b]
10.108.2.91: [              C8h] = checksum1[ 8b]
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [              3Dh] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              3Bh] = cmd[ 8b]
10.108.2.91: [               3h] = privilege_level[ 4b]
10.108.2.91: [               0h] = reserved1[ 4b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              4Dh] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Set Session Privilege Level Response
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [        24BDFC5Dh] = session_sequence_number[32b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: [               9h] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [               7h] = net_fn[ 6b]
10.108.2.91: [              63h] = checksum1[ 8b]
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [              3Dh] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              3Bh] = cmd[ 8b]
10.108.2.91: [               0h] = comp_code[ 8b]
10.108.2.91: [               3h] = privilege_level[ 4b]
10.108.2.91: [               0h] = reserved1[ 4b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              AEh] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Get SDR Repository Info Request
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [        77713A5Dh] = session_sequence_number[32b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: [               7h] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [               Ah] = net_fn[ 6b]
10.108.2.91: [              B8h] = checksum1[ 8b]
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [              3Eh] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              20h] = cmd[ 8b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              67h] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Get SDR Repository Info Response
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [        24BDFC5Eh] = session_sequence_number[32b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: [              16h] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [               Bh] = net_fn[ 6b]
10.108.2.91: [              53h] = checksum1[ 8b]
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [              3Eh] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              20h] = cmd[ 8b]
10.108.2.91: [               0h] = comp_code[ 8b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [              ABh] = record_count[16b]
10.108.2.91: [            1700h] = free_space[16b]
10.108.2.91: [               0h] = most_recent_addition_timestamp[32b]
10.108.2.91: [               0h] = most_recent_erase_timestamp[32b]
10.108.2.91: [               1h] = get_sdr_repository_allocation_info_command_supported[ 1b]
10.108.2.91: [               1h] = reserve_sdr_repository_command_supported[ 1b]
10.108.2.91: [               1h] = partial_add_sdr_command_supported[ 1b]
10.108.2.91: [               0h] = delete_sdr_command_supported[ 1b]
10.108.2.91: [               0h] = reserved[ 1b]
10.108.2.91: [               1h] = modal_non_modal_sdr_repository_update_operation_supported[ 2b]
10.108.2.91: [               0h] = overflow_flag[ 1b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              8Eh] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: SDR Management Controller Device Locator Record
10.108.2.91: =====================================================
10.108.2.91: [               1h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [              12h] = record_type[ 8b]
10.108.2.91: [              12h] = record_length[ 8b]
10.108.2.91: [               0h] = device_slave_address.reserved[ 1b]
10.108.2.91: [              10h] = device_slave_address[ 7b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [               0h] = channel_number.reserved[ 4b]
10.108.2.91: [               0h] = global_initialization.event_message_generation[ 2b]
10.108.2.91: [               0h] = global_initialization.log_initialization_agent_errors[ 1b]
10.108.2.91: [               0h] = global_initialization.controller_logs_initialization_agent_errors[ 1b]
10.108.2.91: [               0h] = power_state_notification.reserved[ 1b]
10.108.2.91: [               0h] = power_state_notification.controller[ 1b]
10.108.2.91: [               0h] = power_state_notification.acpi_device_power_state_notification[ 1b]
10.108.2.91: [               0h] = power_state_notification.acpi_system_power_state_notification[ 1b]
10.108.2.91: [               1h] = device_capabilities.sensor_device[ 1b]
10.108.2.91: [               1h] = device_capabilities.sdr_repository_device[ 1b]
10.108.2.91: [               1h] = device_capabilities.sel_device[ 1b]
10.108.2.91: [               1h] = device_capabilities.fru_inventory_device[ 1b]
10.108.2.91: [               1h] = device_capabilities.ipmb_event_receiver[ 1b]
10.108.2.91: [               1h] = device_capabilities.ipmb_event_generator[ 1b]
10.108.2.91: [               1h] = device_capabilities.bridge[ 1b]
10.108.2.91: [               1h] = device_capabilities.chassis_device[ 1b]
10.108.2.91: [               0h] = reserved[24b]
10.108.2.91: [               0h] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              C7h] = device_id_string_type_length[ 8b]
10.108.2.91: [  30303532545341h] = device_id_string[56b]
10.108.2.91: =====================================================
10.108.2.91: SDR FRU Device Locator Record
10.108.2.91: =====================================================
10.108.2.91: [               2h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [              11h] = record_type[ 8b]
10.108.2.91: [              11h] = record_length[ 8b]
10.108.2.91: [               0h] = device_access_address.reserved[ 1b]
10.108.2.91: [              10h] = device_access_address[ 7b]
10.108.2.91: [               0h] = logical_fru_device_device_slave_address[ 8b]
10.108.2.91: [               6h] = private_bus_id[ 3b]
10.108.2.91: [               0h] = lun_for_master_write_read_fru_command[ 2b]
10.108.2.91: [               0h] = logical_physical_access_lun_bus_id.reserved[ 2b]
10.108.2.91: [               1h] = logical_physical_fru_device[ 1b]
10.108.2.91: [               0h] = channel_number.reserved[ 4b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               Fh] = device_type[ 8b]
10.108.2.91: [               0h] = device_type_modifier[ 8b]
10.108.2.91: [               7h] = fru_entity_id[ 8b]
10.108.2.91: [               1h] = fru_entity_instance[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              C6h] = device_id_string_type_length[ 8b]
10.108.2.91: [    5552465F424Dh] = device_id_string[48b]
10.108.2.91: =====================================================
10.108.2.91: SDR FRU Device Locator Record
10.108.2.91: =====================================================
10.108.2.91: [               3h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [              11h] = record_type[ 8b]
10.108.2.91: [              11h] = record_length[ 8b]
10.108.2.91: [               0h] = device_access_address.reserved[ 1b]
10.108.2.91: [              10h] = device_access_address[ 7b]
10.108.2.91: [               1h] = logical_fru_device_device_slave_address[ 8b]
10.108.2.91: [               0h] = private_bus_id[ 3b]
10.108.2.91: [               0h] = lun_for_master_write_read_fru_command[ 2b]
10.108.2.91: [               0h] = logical_physical_access_lun_bus_id.reserved[ 2b]
10.108.2.91: [               1h] = logical_physical_fru_device[ 1b]
10.108.2.91: [               0h] = channel_number.reserved[ 4b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              10h] = device_type[ 8b]
10.108.2.91: [               0h] = device_type_modifier[ 8b]
10.108.2.91: [               7h] = fru_entity_id[ 8b]
10.108.2.91: [               2h] = fru_entity_instance[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              C6h] = device_id_string_type_length[ 8b]
10.108.2.91: [    5552465F5046h] = device_id_string[48b]
10.108.2.91: =====================================================
10.108.2.91: SDR FRU Device Locator Record
10.108.2.91: =====================================================
10.108.2.91: [               4h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [              11h] = record_type[ 8b]
10.108.2.91: [              12h] = record_length[ 8b]
10.108.2.91: [               0h] = device_access_address.reserved[ 1b]
10.108.2.91: [              10h] = device_access_address[ 7b]
10.108.2.91: [               Ah] = logical_fru_device_device_slave_address[ 8b]
10.108.2.91: [               0h] = private_bus_id[ 3b]
10.108.2.91: [               0h] = lun_for_master_write_read_fru_command[ 2b]
10.108.2.91: [               0h] = logical_physical_access_lun_bus_id.reserved[ 2b]
10.108.2.91: [               1h] = logical_physical_fru_device[ 1b]
10.108.2.91: [               0h] = channel_number.reserved[ 4b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              10h] = device_type[ 8b]
10.108.2.91: [               0h] = device_type_modifier[ 8b]
10.108.2.91: [               7h] = fru_entity_id[ 8b]
10.108.2.91: [               2h] = fru_entity_instance[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              C7h] = device_id_string_type_length[ 8b]
10.108.2.91: [  5552465F43494Eh] = device_id_string[56b]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               5h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              18h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              16h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               6h] = channel_number[ 4b]
10.108.2.91: [              18h] = sensor_number[ 8b]
10.108.2.91: [              2Eh] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              DCh] = sensor_type[ 8b]
10.108.2.91: [              72h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CCh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[12B]
10.108.2.91: [ 4Eh 4Dh 20h 45h 78h 63h 65h 70h ]
10.108.2.91: [ 74h 69h 6Fh 6Eh ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               6h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              18h] = record_length[ 8b]
10.108.2.91: [               1h] = sensor_owner_id.type[ 1b]
10.108.2.91: [               0h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              90h] = sensor_number[ 8b]
10.108.2.91: [              2Bh] = entity_id[ 8b]
10.108.2.91: [               2h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              13h] = sensor_type[ 8b]
10.108.2.91: [              6Fh] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CCh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[12B]
10.108.2.91: [ 43h 72h 69h 74h 69h 63h 61h 6Ch ]
10.108.2.91: [ 20h 49h 4Eh 54h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               7h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              19h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              16h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               6h] = channel_number[ 4b]
10.108.2.91: [              17h] = sensor_number[ 8b]
10.108.2.91: [              2Eh] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              DCh] = sensor_type[ 8b]
10.108.2.91: [              75h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CDh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[13B]
10.108.2.91: [ 53h 50h 53h 20h 46h 57h 20h 48h ]
10.108.2.91: [ 65h 61h 6Ch 74h 68h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               8h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              12h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              10h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              74h] = sensor_number[ 8b]
10.108.2.91: [               7h] = entity_id[ 8b]
10.108.2.91: [               2h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               7h] = sensor_type[ 8b]
10.108.2.91: [               3h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              C6h] = id_string_type_length_code[ 8b]
10.108.2.91: [    525245544143h] = id_string[48b]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               9h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              16h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              10h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              77h] = sensor_number[ 8b]
10.108.2.91: [              13h] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               9h] = sensor_type[ 8b]
10.108.2.91: [              6Fh] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CAh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[10B]
10.108.2.91: [ 50h 6Fh 77h 65h 72h 20h 55h 6Eh ]
10.108.2.91: [ 69h 74h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               Ah] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              17h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              10h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              79h] = sensor_number[ 8b]
10.108.2.91: [              90h] = entity_id[ 8b]
10.108.2.91: [               2h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              28h] = sensor_type[ 8b]
10.108.2.91: [              6Fh] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CBh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[11B]
10.108.2.91: [ 42h 4Dh 43h 20h 46h 57h 20h 49h ]
10.108.2.91: [ 6Eh 66h 6Fh ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               Bh] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              16h] = record_length[ 8b]
10.108.2.91: [               1h] = sensor_owner_id.type[ 1b]
10.108.2.91: [               0h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              9Eh] = sensor_number[ 8b]
10.108.2.91: [              2Bh] = entity_id[ 8b]
10.108.2.91: [               3h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               Fh] = sensor_type[ 8b]
10.108.2.91: [              6Fh] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CAh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[10B]
10.108.2.91: [ 50h 4Fh 53h 54h 20h 45h 72h 72h ]
10.108.2.91: [ 6Fh 72h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               Ch] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              18h] = record_length[ 8b]
10.108.2.91: [               1h] = sensor_owner_id.type[ 1b]
10.108.2.91: [               0h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              87h] = sensor_number[ 8b]
10.108.2.91: [              2Bh] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               Ch] = sensor_type[ 8b]
10.108.2.91: [              6Fh] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CCh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[12B]
10.108.2.91: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 45h ]
10.108.2.91: [ 72h 72h 6Fh 72h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               Dh] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              1Ch] = record_length[ 8b]
10.108.2.91: [               1h] = sensor_owner_id.type[ 1b]
10.108.2.91: [               0h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              A6h] = sensor_number[ 8b]
10.108.2.91: [              2Bh] = entity_id[ 8b]
10.108.2.91: [               5h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              10h] = sensor_type[ 8b]
10.108.2.91: [              6Fh] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              D0h] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[16B]
10.108.2.91: [ 4Dh 65h 6Dh 6Fh 72h 79h 20h 45h ]
10.108.2.91: [ 72h 72h 6Fh 72h 20h 44h 69h 73h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               Eh] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              16h] = record_length[ 8b]
10.108.2.91: [               1h] = sensor_owner_id.type[ 1b]
10.108.2.91: [               0h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              A1h] = sensor_number[ 8b]
10.108.2.91: [              2Bh] = entity_id[ 8b]
10.108.2.91: [               4h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              13h] = sensor_type[ 8b]
10.108.2.91: [              6Fh] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CAh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[10B]
10.108.2.91: [ 50h 43h 49h 65h 20h 45h 72h 72h ]
10.108.2.91: [ 6Fh 72h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [               Fh] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              12h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              10h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              78h] = sensor_number[ 8b]
10.108.2.91: [              2Eh] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              14h] = sensor_type[ 8b]
10.108.2.91: [              6Fh] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              C6h] = id_string_type_length_code[ 8b]
10.108.2.91: [    6E6F74747542h] = id_string[48b]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              10h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              15h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              16h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               6h] = channel_number[ 4b]
10.108.2.91: [              19h] = sensor_number[ 8b]
10.108.2.91: [              2Eh] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              DCh] = sensor_type[ 8b]
10.108.2.91: [              73h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              C9h] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[ 9B]
10.108.2.91: [ 4Eh 4Dh 20h 48h 65h 61h 6Ch 74h ]
10.108.2.91: [ 68h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              11h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              18h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              16h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               6h] = channel_number[ 4b]
10.108.2.91: [              1Bh] = sensor_number[ 8b]
10.108.2.91: [              2Eh] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              DCh] = sensor_type[ 8b]
10.108.2.91: [              72h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CCh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[12B]
10.108.2.91: [ 4Eh 4Dh 20h 54h 68h 72h 65h 73h ]
10.108.2.91: [ 68h 6Fh 6Ch 64h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              12h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              1Bh] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              16h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               6h] = channel_number[ 4b]
10.108.2.91: [              1Ah] = sensor_number[ 8b]
10.108.2.91: [              2Eh] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              DCh] = sensor_type[ 8b]
10.108.2.91: [              74h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CFh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[15B]
10.108.2.91: [ 4Eh 4Dh 20h 43h 61h 70h 61h 62h ]
10.108.2.91: [ 69h 6Ch 69h 74h 69h 65h 73h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              13h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              15h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              10h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              7Bh] = sensor_number[ 8b]
10.108.2.91: [              D0h] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               8h] = sensor_type[ 8b]
10.108.2.91: [               3h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              C9h] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[ 9B]
10.108.2.91: [ 50h 53h 55h 20h 41h 6Ch 65h 72h ]
10.108.2.91: [ 74h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              14h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              19h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              10h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              7Ah] = sensor_number[ 8b]
10.108.2.91: [              90h] = entity_id[ 8b]
10.108.2.91: [               2h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              28h] = sensor_type[ 8b]
10.108.2.91: [              6Fh] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CDh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[13B]
10.108.2.91: [ 42h 4Dh 43h 20h 46h 57h 20h 48h ]
10.108.2.91: [ 65h 61h 6Ch 74h 68h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              15h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              1Bh] = record_length[ 8b]
10.108.2.91: [               1h] = sensor_owner_id.type[ 1b]
10.108.2.91: [               0h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              A7h] = sensor_number[ 8b]
10.108.2.91: [              2Ch] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [              13h] = sensor_type[ 8b]
10.108.2.91: [              70h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CFh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[15B]
10.108.2.91: [ 4Fh 74h 68h 65h 72h 20h 49h 49h ]
10.108.2.91: [ 4Fh 20h 45h 72h 72h 6Fh 72h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              16h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              1Ch] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              16h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               6h] = channel_number[ 4b]
10.108.2.91: [              1Ch] = sensor_number[ 8b]
10.108.2.91: [               3h] = entity_id[ 8b]
10.108.2.91: [               3h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               7h] = sensor_type[ 8b]
10.108.2.91: [              76h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              D0h] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[16B]
10.108.2.91: [ 43h 50h 55h 30h 20h 54h 68h 65h ]
10.108.2.91: [ 72h 6Dh 61h 6Ch 20h 53h 74h 61h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              17h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              1Ch] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              16h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               6h] = channel_number[ 4b]
10.108.2.91: [              1Dh] = sensor_number[ 8b]
10.108.2.91: [               3h] = entity_id[ 8b]
10.108.2.91: [               4h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               7h] = sensor_type[ 8b]
10.108.2.91: [              76h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              D0h] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[16B]
10.108.2.91: [ 43h 50h 55h 31h 20h 54h 68h 65h ]
10.108.2.91: [ 72h 6Dh 61h 6Ch 20h 53h 74h 61h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              18h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              1Ch] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              10h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              75h] = sensor_number[ 8b]
10.108.2.91: [               7h] = entity_id[ 8b]
10.108.2.91: [               3h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               1h] = sensor_type[ 8b]
10.108.2.91: [               3h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              D0h] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[16B]
10.108.2.91: [ 50h 43h 48h 20h 54h 68h 65h 72h ]
10.108.2.91: [ 6Dh 61h 6Ch 20h 54h 72h 69h 70h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              19h] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              1Bh] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              10h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               0h] = channel_number[ 4b]
10.108.2.91: [              76h] = sensor_number[ 8b]
10.108.2.91: [               7h] = entity_id[ 8b]
10.108.2.91: [               1h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               1h] = sensor_type[ 8b]
10.108.2.91: [               3h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CFh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[15B]
10.108.2.91: [ 4Dh 42h 20h 54h 68h 65h 72h 6Dh ]
10.108.2.91: [ 61h 6Ch 20h 54h 72h 69h 70h ]
10.108.2.91: =====================================================
10.108.2.91: SDR Event Only Record
10.108.2.91: =====================================================
10.108.2.91: [              1Ah] = record_id[16b]
10.108.2.91: [               1h] = sdr_version_major[ 4b]
10.108.2.91: [               5h] = sdr_version_minor[ 4b]
10.108.2.91: [               3h] = record_type[ 8b]
10.108.2.91: [              19h] = record_length[ 8b]
10.108.2.91: [               0h] = sensor_owner_id.type[ 1b]
10.108.2.91: [              16h] = sensor_owner_id[ 7b]
10.108.2.91: [               0h] = sensor_owner_lun[ 2b]
10.108.2.91: [               0h] = fru_inventory_device_owner_lun[ 2b]
10.108.2.91: [               6h] = channel_number[ 4b]
10.108.2.91: [              ADh] = sensor_number[ 8b]
10.108.2.91: [               3h] = entity_id[ 8b]
10.108.2.91: [               4h] = entity_instance[ 7b]
10.108.2.91: [               0h] = entity_instance.type[ 1b]
10.108.2.91: [               Bh] = sensor_type[ 8b]
10.108.2.91: [               1h] = event_reading_type_code[ 8b]
10.108.2.91: [               1h] = share_count[ 4b]
10.108.2.91: [               0h] = id_string_instance_modifier_type[ 2b]
10.108.2.91: [               0h] = sensor_direction[ 2b]
10.108.2.91: [               0h] = id_string_instance_modifier_offset[ 7b]
10.108.2.91: [               0h] = entity_instance_sharing[ 1b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [               0h] = oem[ 8b]
10.108.2.91: [              CDh] = id_string_type_length_code[ 8b]
10.108.2.91: [  BYTE ARRAY ... ] = id_string[13B]
10.108.2.91: [ 43h 68h 61h 73h 73h 69h 73h 20h ]
10.108.2.91: [ 50h 6Fh 77h 65h 72h ]
ipmi_sdr_parse_sensor_units: invalid sdr record
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Close Session Request
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [        77713A5Eh] = session_sequence_number[32b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: [               Bh] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [               6h] = net_fn[ 6b]
10.108.2.91: [              C8h] = checksum1[ 8b]
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [              3Fh] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              3Ch] = cmd[ 8b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              EBh] = checksum2[ 8b]
10.108.2.91: =====================================================
10.108.2.91: IPMI 1.5 Close Session Response
10.108.2.91: =====================================================
10.108.2.91: RMCP Header:
10.108.2.91: ------------
10.108.2.91: [               6h] = version[ 8b]
10.108.2.91: [               0h] = reserved[ 8b]
10.108.2.91: [              FFh] = sequence_number[ 8b]
10.108.2.91: [               7h] = message_class.class[ 5b]
10.108.2.91: [               0h] = message_class.reserved[ 2b]
10.108.2.91: [               0h] = message_class.ack[ 1b]
10.108.2.91: IPMI Session Header:
10.108.2.91: --------------------
10.108.2.91: [               0h] = authentication_type[ 8b]
10.108.2.91: [        24BDFC5Fh] = session_sequence_number[32b]
10.108.2.91: [        A58CCC5Fh] = session_id[32b]
10.108.2.91: [               8h] = ipmi_msg_len[ 8b]
10.108.2.91: IPMI Message Header:
10.108.2.91: --------------------
10.108.2.91: [              81h] = rq_addr[ 8b]
10.108.2.91: [               0h] = rq_lun[ 2b]
10.108.2.91: [               7h] = net_fn[ 6b]
10.108.2.91: [              63h] = checksum1[ 8b]
10.108.2.91: [              20h] = rs_addr[ 8b]
10.108.2.91: [               0h] = rs_lun[ 2b]
10.108.2.91: [              3Fh] = rq_seq[ 6b]
10.108.2.91: IPMI Command Data:
10.108.2.91: ------------------
10.108.2.91: [              3Ch] = cmd[ 8b]
10.108.2.91: [               0h] = comp_code[ 8b]
10.108.2.91: IPMI Trailer:
10.108.2.91: --------------
10.108.2.91: [              A8h] = checksum2[ 8b]
chu11 commented 3 years ago

hmmm, it seems that one of the SDR records is invalid and its obviously bad enough that I can't figure out the parsing.

Unfortunately the record didn't output b/c it failed before it was output. Could you try using the --comma-separated-output option? That might get us further, as I think the parsing error occurs when column widths for some pretty formatting is done.

If that doesn't work, I might have to bother you to build a debug build.

./configure --enable-debug --enable-trace; make; ipmi-sel/ipmi-sel ...

Thanks

adamwoolhether commented 3 years ago

--comma-separated-output Didn't work.

I should mention I've been using the version available in standard Centos Repo: 1.6.1

I downloaded 1.6.6, built a debug build and am able to successfully use ipmi-sel.

1.6.6 seems to fix ipmi-sel output issue, still unable to use ipmiseld

chu11 commented 3 years ago

could you try running ipmi-sel -ilike before, but run it a few times on a problem motherboard, a few minutes apart (to emulate what is done w/ ipmiseld). Want to see if it is changing.

adamwoolhether commented 3 years ago

Ran it four times, 2-3 minutes apart, on two separate machines. Output is the same.

No activity on the machine, so I initiated a mock-event, shown in the output below.

The daemon now seems to be ok so long as there is the "Number of log entries" is under 909 (with "Free Space" remaining). New logs This raises the question: Is it possible for the daemon to still apply logs above this limit? Or, can i clear the buffer without deleting all the previous logs?

Initial Output:

ipmi-sel/ipmi-sel -i -h xxx.13 -u xxx -p xxx
SEL version                            : 1.5
Number of log entries                  : 909
Free space remaining                   : 0 bytes
Recent addition timestamp              : 09/22/2020 - 06:13:47
Recent erase timestamp                 : 07/23/2020 - 05:38:08
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 0
Largest free block                     : 0 allocation units
Maximum record size                    : 1 allocation units

After mock event:

SEL version                            : 1.5
Number of log entries                  : 909
Free space remaining                   : 0 bytes
Recent addition timestamp              : 09/22/2020 - 06:32:17
Recent erase timestamp                 : 07/23/2020 - 05:38:08
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 0
Largest free block                     : 0 allocation units
Maximum record size                    : 1 allocation units

TEST 2

Initial Output

# ipmi-sel/ipmi-sel -i -h xxx.92 -u xxx -p xxx
SEL version                            : 1.5
Number of log entries                  : 286
Free space remaining                   : 11214 bytes
Recent addition timestamp              : 09/16/2020 - 00:53:05
Recent erase timestamp                 : 05/14/2020 - 00:14:47
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 623
Largest free block                     : 623 allocation units
Maximum record size                    : 1 allocation units

After mock event:

SEL version                            : 1.5
Number of log entries                  : 288
Free space remaining                   : 11178 bytes
Recent addition timestamp              : 09/22/2020 - 06:06:58
Recent erase timestamp                 : 05/14/2020 - 00:14:47
Get SEL Allocation Information Command : supported
Reserve SEL Command                    : supported
Partial Add SEL Entry Command          : supported
Delete SEL Command                     : supported
Events dropped due to lack of space    : No
Number of possible allocation units    : 909
Allocation unit size                   : 18 bytes
Number of free allocation units        : 621
Largest free block                     : 621 allocation units
Maximum record size                    : 1 allocation units
chu11 commented 3 years ago

interesting. I missed the fact that some of your boards had 0 space, which would of course lead to problems, but unsure why there would be issues on the boards w/ space.

Is it possible for the daemon to still apply logs above this limit? Or, can i clear the buffer without deleting all the previous logs?

I assume you mean "daemon to still read logs above this limit"? No, if the SEL log is full then the board simply can't store any more logs. To store more log entries, it will have to be cleared, either manually or via the ipmiseld --clear-threshold option.

adamwoolhether commented 3 years ago

I assume you mean "daemon to still read logs above this limit"? No, if the SEL log is full then the board simply can't store any more logs. To store more log entries, it will have to be cleared, either manually or via the ipmiseld --clear-threshold option.

I suppose my confusion lies here. The BMC's SEL log does continue storing more log entries. This can be verified by logging into the BMC and checking SEL logs, and also with ipmiseld --test-run, which will show all additional logs.

If we're able to continue showing additional logs with --test-run, can't we force the ipmiseld daemon to forward them to rsyslog?

Currently I'm running a cronjob script that runs ipmiseld --test-run, compares the output with the current .log file, and appends new entries by piping them to logger -p local4.info. It allows our users to retain their historical logs, but It's not the most elegant solution when done at scale for many systems.

Lastly, how can I express my gratitude for your help? Can I get you a coffee or something?

chu11 commented 3 years ago

I suppose my confusion lies here. The BMC's SEL log does continue storing more log entries. This can be verified by logging into the BMC and checking SEL logs, and also with ipmiseld --test-run, which will show all additional logs.

Huh ... that's interesting. I'm wondering if the free space / number of entries outputs in the sel info are incorrect, thus leading to the errors we were seeing earlier.

Lastly, how can I express my gratitude for your help? Can I get you a coffee or something?

haha, thanks. Supporting FreeIPMI is just part of being part of the open source community. If you live in the san francisco bay area, perhaps sometime once shelter in place is over.