1.6.10-1ubuntu0.1 on lunar-proposed verified. Result is the same as jammy and kinetic which is expected.
``` ubuntu@kria:~$ apt-cache policy freeipmi freeipmi: Installed: 1.6.10-1ubuntu0.1 Candidate: 1.6.10-1ubuntu0.1 Version table: *** 1.6.10-1ubuntu0.1 100 100 http://ports.ubuntu.com/ubuntu-ports lunar-proposed/universe arm64 Packages 100 /var/lib/dpkg/status 1.6.9-2 500 500 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 Packages ubuntu@kria:~$ sudo ipmi-fru --fru-file=/sys/devices/platform/axi/ff030000.i2c/i2c-1/1-0050/eeprom --interpret-oem-data --debug FRU Inventory From File: /sys/devices/platform/axi/ff030000.i2c/i2c-1/1-0050/eeprom ===================================================== Common Header ===================================================== [ HEX DUMP ..... ] = HEX[ 8B] [ 01h 00h 00h 01h 00h 0Dh 00h F1h ] ===================================================== Common Header ===================================================== [ 1h] = format_version[ 4b] [ 0h] = reserved[ 4b] [ 0h] = internal_use_area_starting_offset[ 8b] [ 0h] = chassis_info_area_starting_offset[ 8b] [ 1h] = board_info_area_starting_offset[ 8b] [ 0h] = product_info_area_starting_offset[ 8b] [ Dh] = multirecord_area_starting_offset[ 8b] [ 0h] = pad[ 8b] [ F1h] = checksum[ 8b] ===================================================== Board Info Header ===================================================== [ 1h] = format_version[ 4b] [ 0h] = reserved[ 4b] [ Ch] = info_area_length[ 8b] ===================================================== Board Info Area ===================================================== [ HEX DUMP ..... ] = HEX[96B] [ 01h 0Ch 00h 66h C3h D3h C6h 58h ] [ 49h 4Ch 49h 4Eh 58h D0h 53h 4Dh ] [ 4Bh 2Dh 4Bh 32h 36h 2Dh 58h 43h ] [ 4Ch 32h 47h 00h 00h 00h D0h 58h ] [ 46h 4Ch 31h 54h 33h 31h 48h 31h ] [ 46h 49h 43h 00h 00h 00h 00h C9h ] [ 35h 30h 35h 37h 2Dh 30h 31h 20h ] [ 20h 01h 00h C8h 31h 00h 00h 00h ] [ 00h 00h 00h 00h 08h 10h EEh 00h ] [ 00h 00h 00h 00h 00h 10h D8h 89h ] [ DDh EEh 30h FDh 44h F3h B1h C0h ] [ 5Eh D7h 0Ch 6Ah E3h 44h C1h 33h ]
FRU Board Manufacturing Date/Time: 05/21/22 - 13:58:00 ===================================================== Type/Length Field Header ===================================================== [ HEX DUMP ..... ] = HEX[ 1B] [ C6h ] FRU Board Manufacturer: XILINX ===================================================== Type/Length Field Header ===================================================== [ HEX DUMP ..... ] = HEX[ 1B] [ D0h ] FRU Board Product Name: SMK-K26-XCL2G ===================================================== Type/Length Field Header ===================================================== [ HEX DUMP ..... ] = HEX[ 1B] [ D0h ] FRU Board Serial Number: XFL1T31H1FIC ===================================================== Type/Length Field Header ===================================================== [ HEX DUMP ..... ] = HEX[ 1B] [ C9h ] FRU Board Part Number: 5057-01 ===================================================== Type/Length Field Header ===================================================== [ HEX DUMP ..... ] = HEX[ 1B] [ 01h ] FRU FRU File ID: 00h ===================================================== Type/Length Field Header ===================================================== [ HEX DUMP ..... ] = HEX[ 1B] [ C8h ] FRU Board Custom Info: 1 ===================================================== Type/Length Field Header ===================================================== [ HEX DUMP ..... ] = HEX[ 1B] [ 08h ] FRU Board Custom Info: 10h EEh 00h 00h 00h 00h 00h 00h ===================================================== Type/Length Field Header ===================================================== [ HEX DUMP ..... ] = HEX[ 1B] [ 10h ] FRU Board Custom Info: D8h 89h DDh EEh 30h FDh 44h F3h B1h C0h 5Eh D7h 0Ch 6Ah E3h 44h ===================================================== MultiRecord Header ===================================================== [ HEX DUMP ..... ] = HEX[ 5B] [ 02h 02h 0Dh 0Ch E3h ] ===================================================== MultiRecord Header ===================================================== [ 2h] = record_type_id[ 8b] [ 2h] = record_format_version[ 4b] [ 0h] = reserved[ 3b] [ 0h] = end_of_list[ 1b] [ Dh] = record_length[ 8b] [ Ch] = record_checksum[ 8b] [ E3h] = header_checksum[ 8b] ===================================================== MultiRecord ===================================================== [ HEX DUMP ..... ] = HEX[13B] [ 01h F4h 01h C2h 01h 26h 02h 64h ] [ 00h 00h 00h A0h 0Fh ]
===================================================== FRU DC Load ===================================================== [ 1h] = output_number[ 4b] [ 0h] = reserved[ 4b] [ 1F4h] = nominal_voltage[16b] [ 1C2h] = specd_minimum_voltage[16b] [ 226h] = specd_maximum_voltage[16b] [ 64h] = specd_ripple_and_noise_pk_pk[16b] [ 0h] = minimum_current_load[16b] [ FA0h] = maximum_current_load[16b] FRU DC Load Output Number: 1 FRU DC Load Nominal Voltage: 5000 mV FRU DC Load Spec'd Minimum Voltage: 4500 mV FRU DC Load Spec'd Maximum Voltage: 5500 mV FRU DC Load Spec'd Ripple and Noise pk-pk: 100 mV FRU DC Load Minimum Current Load: 0 mA FRU DC Load Maximum Current Load: 4000 mA ===================================================== MultiRecord Header ===================================================== [ HEX DUMP ..... ] = HEX[ 5B] [ 02h 02h 0Dh 0Ch E3h ] ===================================================== MultiRecord Header ===================================================== [ 2h] = record_type_id[ 8b] [ 2h] = record_format_version[ 4b] [ 0h] = reserved[ 3b] [ 0h] = end_of_list[ 1b] [ Dh] = record_length[ 8b] [ Ch] = record_checksum[ 8b] [ E3h] = header_checksum[ 8b] ===================================================== MultiRecord Header ===================================================== [ HEX DUMP ..... ] = HEX[ 5B] [ D2h 02h 0Ah 02h 20h ] ===================================================== MultiRecord Header ===================================================== [ D2h] = record_type_id[ 8b] [ 2h] = record_format_version[ 4b] [ 0h] = reserved[ 3b] [ 0h] = end_of_list[ 1b] [ Ah] = record_length[ 8b] [ 2h] = record_checksum[ 8b] [ 20h] = header_checksum[ 8b] ===================================================== MultiRecord ===================================================== [ HEX DUMP ..... ] = HEX[10B] [ DAh 10h 00h 31h 00h 0Ah 35h 0Fh ] [ 25h 70h ]
===================================================== FRU OEM Record ===================================================== [ 10DAh] = manufacturer_id[24b] [ 70250F350A0031h] = oem_data[56b] FRU OEM Manufacturer ID: Xilinx, Inc. (10DAh) ===================================================== MultiRecord Header ===================================================== [ HEX DUMP ..... ] = HEX[ 5B] [ D2h 02h 0Ah 02h 20h ] ===================================================== MultiRecord Header ===================================================== [ D2h] = record_type_id[ 8b] [ 2h] = record_format_version[ 4b] [ 0h] = reserved[ 3b] [ 0h] = end_of_list[ 1b] [ Ah] = record_length[ 8b] [ 2h] = record_checksum[ 8b] [ 20h] = header_checksum[ 8b] FRU OEM MAC Version: DUT - MAC (31h) FRU OEM MAC ID 0: 00:0a:35:0f:25:70 ===================================================== MultiRecord Header ===================================================== [ HEX DUMP ..... ] = HEX[ 5B] [ D2h 02h 0Ah 02h 20h ] ===================================================== MultiRecord Header ===================================================== [ D2h] = record_type_id[ 8b] [ 2h] = record_format_version[ 4b] [ 0h] = reserved[ 3b] [ 0h] = end_of_list[ 1b] [ Ah] = record_length[ 8b] [ 2h] = record_checksum[ 8b] [ 20h] = header_checksum[ 8b] ===================================================== MultiRecord Header ===================================================== [ HEX DUMP ..... ] = HEX[ 5B] [ FFh FFh FFh FFh FFh ]
FRU Error: multirecord area checksum invalid ===================================================== MultiRecord Header ===================================================== [ HEX DUMP ..... ] = HEX[ 5B] [ FFh FFh FFh FFh FFh ] ipmi_fru_next: multirecord area checksum invalid
```
1.6.10-1ubuntu0.1 on lunar-proposed verified. Result is the same as jammy and kinetic which is expected.
``` ports.ubuntu. com/ubuntu- ports lunar-proposed/ universe arm64 Packages dpkg/status ports.ubuntu. com/ubuntu- ports jammy/universe arm64 Packages /sys/devices/ platform/ axi/ff030000. i2c/i2c- 1/1-0050/ eeprom --interpret- oem-data --debug platform/ axi/ff030000. i2c/i2c- 1/1-0050/ eeprom ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== use_area_ starting_ offset[ 8b] info_area_ starting_ offset[ 8b] area_starting_ offset[ 8b] info_area_ starting_ offset[ 8b] area_starting_ offset[ 8b] ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ====
ubuntu@kria:~$ apt-cache policy freeipmi
freeipmi:
Installed: 1.6.10-1ubuntu0.1
Candidate: 1.6.10-1ubuntu0.1
Version table:
*** 1.6.10-1ubuntu0.1 100
100 http://
100 /var/lib/
1.6.9-2 500
500 http://
ubuntu@kria:~$ sudo ipmi-fru --fru-file=
FRU Inventory From File: /sys/devices/
=======
Common Header
=======
[ HEX DUMP ..... ] = HEX[ 8B]
[ 01h 00h 00h 01h 00h 0Dh 00h F1h ]
=======
Common Header
=======
[ 1h] = format_version[ 4b]
[ 0h] = reserved[ 4b]
[ 0h] = internal_
[ 0h] = chassis_
[ 1h] = board_info_
[ 0h] = product_
[ Dh] = multirecord_
[ 0h] = pad[ 8b]
[ F1h] = checksum[ 8b]
=======
Board Info Header
=======
[ 1h] = format_version[ 4b]
[ 0h] = reserved[ 4b]
[ Ch] = info_area_length[ 8b]
=======
Board Info Area
=======
[ HEX DUMP ..... ] = HEX[96B]
[ 01h 0Ch 00h 66h C3h D3h C6h 58h ]
[ 49h 4Ch 49h 4Eh 58h D0h 53h 4Dh ]
[ 4Bh 2Dh 4Bh 32h 36h 2Dh 58h 43h ]
[ 4Ch 32h 47h 00h 00h 00h D0h 58h ]
[ 46h 4Ch 31h 54h 33h 31h 48h 31h ]
[ 46h 49h 43h 00h 00h 00h 00h C9h ]
[ 35h 30h 35h 37h 2Dh 30h 31h 20h ]
[ 20h 01h 00h C8h 31h 00h 00h 00h ]
[ 00h 00h 00h 00h 08h 10h EEh 00h ]
[ 00h 00h 00h 00h 00h 10h D8h 89h ]
[ DDh EEh 30h FDh 44h F3h B1h C0h ]
[ 5Eh D7h 0Ch 6Ah E3h 44h C1h 33h ]
FRU Board Manufacturing Date/Time: 05/21/22 - 13:58:00 ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== format_ version[ 4b] ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ====
=======
Type/Length Field Header
=======
[ HEX DUMP ..... ] = HEX[ 1B]
[ C6h ]
FRU Board Manufacturer: XILINX
=======
Type/Length Field Header
=======
[ HEX DUMP ..... ] = HEX[ 1B]
[ D0h ]
FRU Board Product Name: SMK-K26-XCL2G
=======
Type/Length Field Header
=======
[ HEX DUMP ..... ] = HEX[ 1B]
[ D0h ]
FRU Board Serial Number: XFL1T31H1FIC
=======
Type/Length Field Header
=======
[ HEX DUMP ..... ] = HEX[ 1B]
[ C9h ]
FRU Board Part Number: 5057-01
=======
Type/Length Field Header
=======
[ HEX DUMP ..... ] = HEX[ 1B]
[ 01h ]
FRU FRU File ID: 00h
=======
Type/Length Field Header
=======
[ HEX DUMP ..... ] = HEX[ 1B]
[ C8h ]
FRU Board Custom Info: 1
=======
Type/Length Field Header
=======
[ HEX DUMP ..... ] = HEX[ 1B]
[ 08h ]
FRU Board Custom Info: 10h EEh 00h 00h 00h 00h 00h 00h
=======
Type/Length Field Header
=======
[ HEX DUMP ..... ] = HEX[ 1B]
[ 10h ]
FRU Board Custom Info: D8h 89h DDh EEh 30h FDh 44h F3h B1h C0h 5Eh D7h 0Ch 6Ah E3h 44h
=======
MultiRecord Header
=======
[ HEX DUMP ..... ] = HEX[ 5B]
[ 02h 02h 0Dh 0Ch E3h ]
=======
MultiRecord Header
=======
[ 2h] = record_type_id[ 8b]
[ 2h] = record_
[ 0h] = reserved[ 3b]
[ 0h] = end_of_list[ 1b]
[ Dh] = record_length[ 8b]
[ Ch] = record_checksum[ 8b]
[ E3h] = header_checksum[ 8b]
=======
MultiRecord
=======
[ HEX DUMP ..... ] = HEX[13B]
[ 01h F4h 01h C2h 01h 26h 02h 64h ]
[ 00h 00h 00h A0h 0Fh ]
======= ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== voltage[ 16b] voltage[ 16b] voltage[ 16b] and_noise_ pk_pk[16b] current_ load[16b] current_ load[16b] ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== format_ version[ 4b] ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== format_ version[ 4b] ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ====
FRU DC Load
=======
[ 1h] = output_number[ 4b]
[ 0h] = reserved[ 4b]
[ 1F4h] = nominal_
[ 1C2h] = specd_minimum_
[ 226h] = specd_maximum_
[ 64h] = specd_ripple_
[ 0h] = minimum_
[ FA0h] = maximum_
FRU DC Load Output Number: 1
FRU DC Load Nominal Voltage: 5000 mV
FRU DC Load Spec'd Minimum Voltage: 4500 mV
FRU DC Load Spec'd Maximum Voltage: 5500 mV
FRU DC Load Spec'd Ripple and Noise pk-pk: 100 mV
FRU DC Load Minimum Current Load: 0 mA
FRU DC Load Maximum Current Load: 4000 mA
=======
MultiRecord Header
=======
[ HEX DUMP ..... ] = HEX[ 5B]
[ 02h 02h 0Dh 0Ch E3h ]
=======
MultiRecord Header
=======
[ 2h] = record_type_id[ 8b]
[ 2h] = record_
[ 0h] = reserved[ 3b]
[ 0h] = end_of_list[ 1b]
[ Dh] = record_length[ 8b]
[ Ch] = record_checksum[ 8b]
[ E3h] = header_checksum[ 8b]
=======
MultiRecord Header
=======
[ HEX DUMP ..... ] = HEX[ 5B]
[ D2h 02h 0Ah 02h 20h ]
=======
MultiRecord Header
=======
[ D2h] = record_type_id[ 8b]
[ 2h] = record_
[ 0h] = reserved[ 3b]
[ 0h] = end_of_list[ 1b]
[ Ah] = record_length[ 8b]
[ 2h] = record_checksum[ 8b]
[ 20h] = header_checksum[ 8b]
=======
MultiRecord
=======
[ HEX DUMP ..... ] = HEX[10B]
[ DAh 10h 00h 31h 00h 0Ah 35h 0Fh ]
[ 25h 70h ]
======= ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== id[24b] ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== format_ version[ 4b] ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ==== format_ version[ 4b] ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ====
FRU OEM Record
=======
[ 10DAh] = manufacturer_
[ 70250F350A0031h] = oem_data[56b]
FRU OEM Manufacturer ID: Xilinx, Inc. (10DAh)
=======
MultiRecord Header
=======
[ HEX DUMP ..... ] = HEX[ 5B]
[ D2h 02h 0Ah 02h 20h ]
=======
MultiRecord Header
=======
[ D2h] = record_type_id[ 8b]
[ 2h] = record_
[ 0h] = reserved[ 3b]
[ 0h] = end_of_list[ 1b]
[ Ah] = record_length[ 8b]
[ 2h] = record_checksum[ 8b]
[ 20h] = header_checksum[ 8b]
FRU OEM MAC Version: DUT - MAC (31h)
FRU OEM MAC ID 0: 00:0a:35:0f:25:70
=======
MultiRecord Header
=======
[ HEX DUMP ..... ] = HEX[ 5B]
[ D2h 02h 0Ah 02h 20h ]
=======
MultiRecord Header
=======
[ D2h] = record_type_id[ 8b]
[ 2h] = record_
[ 0h] = reserved[ 3b]
[ 0h] = end_of_list[ 1b]
[ Ah] = record_length[ 8b]
[ 2h] = record_checksum[ 8b]
[ 20h] = header_checksum[ 8b]
=======
MultiRecord Header
=======
[ HEX DUMP ..... ] = HEX[ 5B]
[ FFh FFh FFh FFh FFh ]
FRU Error: multirecord area checksum invalid ======= ======= ======= ======= ======= ======= ==== ======= ======= ======= ======= ======= ======= ====
=======
MultiRecord Header
=======
[ HEX DUMP ..... ] = HEX[ 5B]
[ FFh FFh FFh FFh FFh ]
ipmi_fru_next: multirecord area checksum invalid
```