Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

get_fru_inventory() fails with DecodingError('checksum failed') #186

Open
suaveolent opened this issue Jan 10, 2025 · 7 comments
Open

get_fru_inventory() fails with DecodingError('checksum failed') #186

suaveolent opened this issue Jan 10, 2025 · 7 comments

Comments

@suaveolent
Copy link

suaveolent commented Jan 10, 2025

Hi,

I have an Asrock Rack board.
When trying to call connection.get_fru_inventory() it fails to parse the CommonInfoArea at:

pyipmi/fru.py", line 225, in _from_data
    raise DecodingError('checksum failed')
pyipmi.errors.DecodingError: checksum failed

If i uncomment this check it works without any problems:

if sum(data[:self.length]) % 256 != 0:

Data going into CommonInfoArea is

b'\x01\x03\x00vq\xb4\xcaASRockRack\xc0\xc0\xc0\xc0\xc1\x00\x1b

Output of connection.read_fru_data()

b'\x01\x00\x00\x01\x04\x00\x00\xfa\x01\x03\x00vq\xb4\xcaASRockRack\xc0\xc0\xc0\xc0\xc1\x00\x1b\x01\x03\x00\xcaASRockRack\xc0\xc0\xc0\xc0\xc0\xc0\xc1\x00\x00M\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

Can you help me with that issue?

@hthiery
Copy link
Contributor

hthiery commented Jan 10, 2025

Sounds like the FRU data is broken (the last byte of the area is not correct).

@suaveolent
Copy link
Author

Thanks for your quick reply. So this would be an issue with my board?

@hthiery
Copy link
Contributor

hthiery commented Jan 13, 2025

Thanks for your quick reply. So this would be an issue with my board?

At this point I would say yes. Do you know if the ipmitool can print the FRU data without error?

@suaveolent
Copy link
Author

At this point I would say yes. Do you know if the ipmitool can print the FRU data without error?

Yes, ipmitool seems to be able to read fru data:

FRU Device Description : Builtin FRU Device (ID 0)
 Board Mfg Date        : Tue 26 Jun 2018 06:06:00 CEST CEST
 Board Mfg             : ASRockRack
 Product Manufacturer  : ASRockRack

@hthiery
Copy link
Contributor

hthiery commented Jan 15, 2025

At this point I would say yes. Do you know if the ipmitool can print the FRU data without error?

Yes, ipmitool seems to be able to read fru data:

FRU Device Description : Builtin FRU Device (ID 0)
 Board Mfg Date        : Tue 26 Jun 2018 06:06:00 CEST CEST
 Board Mfg             : ASRockRack
 Product Manufacturer  : ASRockRack

what version of ipmitool you are using?

@hthiery
Copy link
Contributor

hthiery commented Jan 15, 2025

The check in ipmitool is added here: https://codeberg.org/IPMITool/ipmitool/commit/63d59a50a6809e415cd7d8915533f236f28865f3

With that you should also see the problem on your fru data

@suaveolent
Copy link
Author

The check in ipmitool is added here: https://codeberg.org/IPMITool/ipmitool/commit/63d59a50a6809e415cd7d8915533f236f28865f3

With that you should also see the problem on your fru data

I am running version version 1.8.19 using this command

 ipmitool -I lanplus -H <host> -U <username> -P <password fru

which results in the above mentioned output.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants