dmidecode-devel
[Top][All Lists]
Advanced

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

Re: [dmidecode] [PATCH v4] update dmidecode to parse Modern Management C


From: Jean Delvare
Subject: Re: [dmidecode] [PATCH v4] update dmidecode to parse Modern Management Controller blocks
Date: Mon, 10 Sep 2018 17:01:37 +0200

Hi Neil,

On Fri, 7 Sep 2018 13:59:46 -0400, Neil Horman wrote:
> I'll have an updated patch to you shortly.  To answer your question above, 
> yes,
> and no.  The system I'm currently testing on (A lenovo, for which I provided 
> you
> the SMBIOS dump), is in production now, but has a back level firmware.  They 
> are
> expected to have an updated firmware that reports the correct SMBIOS level of
> 3.0.2, and corrects the errors we've found in their type 42 structure shortly.
> On that system the only critical problems I've found are:
> 
> 1) The fact that it reports SMBIOS version 3.0.0 rather than 3.0.2

You mean 3.2.0.

> 2) The fact that its protcol record count is at offset 0x7 rather than 0x6.
> 
> 3) The protcol count field is incorrect (reports 0x9c rather than 0x1)

My interpretation of the breakage is different. I think that the main
bug in the current Lenovo implementation is that the byte 0x9c is
extraneous and should not be there. It would make sense as "length of
all protocol records", but the specification does not mention such a
byte (nor is it needed). If you remove that byte from the stream, the
structure is decoded properly, as far as I can see. There's only a
minor issue with the USB serial number, but we are no longer attempting
to decode it so it doesn't really matter.

> If I modify the dmidecode tool to adjust for items 1 and 2, this patch 
> properly
> reports all information up to an including the first protocol record, after
> which it returns, as the second protocol record exceeds the overall length of
> the structure.

Not sure if we are talking about the same DMI table then. In the one
you sent to me, there's only one protocol record (with extra 0x00s at
the end).

Anyway, I'd rather modify the tables with an hexadecimal editor to make
them compliant, than modify dmidecode to properly parse broken tables.
In the latter case, you don't really prove how the unmodified dmidecode
would behave with sane tables.

I have modified the DMI table you sent to me, to make it compliant.
I'll share it with you in private.

> So I'm reasonably confident the patch is very close to correct, given that its
> allowed us to identify errors in vendors SMBIOS layout.

Properly detecting and dealing with invalid formats is certainly nice.

> While I don't have them yet, I am expecting both an updated firmware for my
> current system which will fix items (1) (2) and (3) above, as well as a system
> from another vendor that hopefully will have a more robust bmc that allows me 
> to
> configure other types of network configurations (ipv vs v4 and dhcp addressing
> vs static, etc).  I hope to have those in hand in the next few weeks.

I would appreciate if you share with me whatever you are allowed to
share with me.

I'll review v5 of your patch later today.

-- 
Jean Delvare
SUSE L3 Support



reply via email to

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