openbmc.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Read smbios2 file failed
@ 2021-09-13 14:40 Alexander Raih
  2021-09-13 16:56 ` Andrei Kartashev
  0 siblings, 1 reply; 21+ messages in thread
From: Alexander Raih @ 2021-09-13 14:40 UTC (permalink / raw)
  To: openbmc

[-- Attachment #1: Type: text/plain, Size: 250 bytes --]

Hi guys, I am beginner in openbmc
I build openbmc with smbios-mdr repository and I have error:

Read data from flash error - Open MDRV2 table file failure

There isnt file in /var/lib/smbios/smbios2

How I can resolve this problem?
Help me please!!!

[-- Attachment #2: Type: text/html, Size: 370 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2021-09-13 14:40 Read smbios2 file failed Alexander Raih
@ 2021-09-13 16:56 ` Andrei Kartashev
  2021-09-14  6:46   ` Thang Nguyen
  0 siblings, 1 reply; 21+ messages in thread
From: Andrei Kartashev @ 2021-09-13 16:56 UTC (permalink / raw)
  To: openbmc

You need to somehow deliver smbios data image to BMC. This means, your
BIOS should implementat some logic to transfer this data. 
For BMC side see example here:
https://github.com/openbmc/intel-ipmi-oem/blob/master/src/smbiosmdrv2handler.cpp

On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> Hi guys, I am beginner in openbmc
> I build openbmc with smbios-mdr repository and I have error:
> 
> Read data from flash error - Open MDRV2 table file failure
> 
> There isnt file in /var/lib/smbios/smbios2
> 
> How I can resolve this problem?
> Help me please!!!

-- 
Best regards,
Andrei Kartashev



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2021-09-13 16:56 ` Andrei Kartashev
@ 2021-09-14  6:46   ` Thang Nguyen
  2021-09-14  8:51     ` Andrei Kartashev
  0 siblings, 1 reply; 21+ messages in thread
From: Thang Nguyen @ 2021-09-14  6:46 UTC (permalink / raw)
  To: openbmc


On 13/09/2021 23:56, Andrei Kartashev wrote:
> You need to somehow deliver smbios data image to BMC. This means, your
> BIOS should implementat some logic to transfer this data.
> For BMC side see example here:
> https://github.com/openbmc/intel-ipmi-oem/blob/master/src/smbiosmdrv2handler.cpp

Hi Andrei,

What is the format of smbios data to transfer to BMC? Is it the same 
content of "dmidecode --dump-bin" command from Host Linux? or anything 
special in formatting the content to send?

> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
>> Hi guys, I am beginner in openbmc
>> I build openbmc with smbios-mdr repository and I have error:
>>
>> Read data from flash error - Open MDRV2 table file failure
>>
>> There isnt file in /var/lib/smbios/smbios2
>>
>> How I can resolve this problem?
>> Help me please!!!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2021-09-14  6:46   ` Thang Nguyen
@ 2021-09-14  8:51     ` Andrei Kartashev
  2021-09-15  5:41       ` Thang Nguyen
  0 siblings, 1 reply; 21+ messages in thread
From: Andrei Kartashev @ 2021-09-14  8:51 UTC (permalink / raw)
  To: Thang Nguyen, openbmc

No, it is not same as "dmidecode --dump-bin". 

On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> 
> On 13/09/2021 23:56, Andrei Kartashev wrote:
> > You need to somehow deliver smbios data image to BMC. This means,
> > your
> > BIOS should implementat some logic to transfer this data.
> > For BMC side see example here:
> > https://github.com/openbmc/intel-ipmi-oem/blob/master/src/smbiosmdrv2handler.cpp
> 
> Hi Andrei,
> 
> What is the format of smbios data to transfer to BMC? Is it the same 
> content of "dmidecode --dump-bin" command from Host Linux? or
> anything 
> special in formatting the content to send?
> 
> > On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> > > Hi guys, I am beginner in openbmc
> > > I build openbmc with smbios-mdr repository and I have error:
> > > 
> > > Read data from flash error - Open MDRV2 table file failure
> > > 
> > > There isnt file in /var/lib/smbios/smbios2
> > > 
> > > How I can resolve this problem?
> > > Help me please!!!

-- 
Best regards,
Andrei Kartashev



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2021-09-14  8:51     ` Andrei Kartashev
@ 2021-09-15  5:41       ` Thang Nguyen
  2021-09-15  8:16         ` Andrei Kartashev
  0 siblings, 1 reply; 21+ messages in thread
From: Thang Nguyen @ 2021-09-15  5:41 UTC (permalink / raw)
  To: Andrei Kartashev, openbmc

Hi Andrei,

I see output of "dmidecode --dump-bin" follows SMBIOS specification. As 
the data for smbios-mdr does not follow this, do you know about the 
document or any information I can reference to prepare data to send to BMC??


Best Regards,

Thang Q. Nguyen

On 14/09/2021 15:51, Andrei Kartashev wrote:
> No, it is not same as "dmidecode --dump-bin".
>
> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
>> On 13/09/2021 23:56, Andrei Kartashev wrote:
>>> You need to somehow deliver smbios data image to BMC. This means,
>>> your
>>> BIOS should implementat some logic to transfer this data.
>>> For BMC side see example here:
>>> https://github.com/openbmc/intel-ipmi-oem/blob/master/src/smbiosmdrv2handler.cpp
>> Hi Andrei,
>>
>> What is the format of smbios data to transfer to BMC? Is it the same
>> content of "dmidecode --dump-bin" command from Host Linux? or
>> anything
>> special in formatting the content to send?
>>
>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
>>>> Hi guys, I am beginner in openbmc
>>>> I build openbmc with smbios-mdr repository and I have error:
>>>>
>>>> Read data from flash error - Open MDRV2 table file failure
>>>>
>>>> There isnt file in /var/lib/smbios/smbios2
>>>>
>>>> How I can resolve this problem?
>>>> Help me please!!!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2021-09-15  5:41       ` Thang Nguyen
@ 2021-09-15  8:16         ` Andrei Kartashev
  2021-09-15 13:18           ` Garrett, Mike (HPE Server Firmware)
  0 siblings, 1 reply; 21+ messages in thread
From: Andrei Kartashev @ 2021-09-15  8:16 UTC (permalink / raw)
  To: Thang Nguyen, openbmc

I don't know what is format of "dmidecode --dump-bin", but if it just
raw dump of smbios then you only need to add mdr header.

See answer for the same question here:
https://lists.ozlabs.org/pipermail/openbmc/2021-July/026882.html

On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> Hi Andrei,
> 
> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> As
> the data for smbios-mdr does not follow this, do you know about the 
> document or any information I can reference to prepare data to send
> to
> BMC??
> 
> 
> Best Regards,
> 
> Thang Q. Nguyen
> 
> On 14/09/2021 15:51, Andrei Kartashev wrote:
> > No, it is not same as "dmidecode --dump-bin".
> > 
> > On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> > > On 13/09/2021 23:56, Andrei Kartashev wrote:
> > > > You need to somehow deliver smbios data image to BMC. This
> > > > means,
> > > > your
> > > > BIOS should implementat some logic to transfer this data.
> > > > For BMC side see example here:
> > > > https://github.com/openbmc/intel-ipmi-oem/blob/master/src/smbiosmdrv2handler.cpp
> > > Hi Andrei,
> > > 
> > > What is the format of smbios data to transfer to BMC? Is it the
> > > same
> > > content of "dmidecode --dump-bin" command from Host Linux? or
> > > anything
> > > special in formatting the content to send?
> > > 
> > > > On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> > > > > Hi guys, I am beginner in openbmc
> > > > > I build openbmc with smbios-mdr repository and I have error:
> > > > > 
> > > > > Read data from flash error - Open MDRV2 table file failure
> > > > > 
> > > > > There isnt file in /var/lib/smbios/smbios2
> > > > > 
> > > > > How I can resolve this problem?
> > > > > Help me please!!!


-- 
Best regards,
Andrei Kartashev



^ permalink raw reply	[flat|nested] 21+ messages in thread

* RE: Read smbios2 file failed
  2021-09-15  8:16         ` Andrei Kartashev
@ 2021-09-15 13:18           ` Garrett, Mike (HPE Server Firmware)
  2021-09-16  2:40             ` CS20 CHLi30
  0 siblings, 1 reply; 21+ messages in thread
From: Garrett, Mike (HPE Server Firmware) @ 2021-09-15 13:18 UTC (permalink / raw)
  To: Andrei Kartashev, Thang Nguyen, openbmc

We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://github.com/openbmc/smbios-mdr/blob/33c948a473bd273fea0cff82d4c99b70b7784be6/include/smbios_mdrv2.hpp#L114

It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.

Mike

> -----Original Message-----
> From: openbmc <openbmc-
> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
> Kartashev
> Sent: Wednesday, September 15, 2021 3:17 AM
> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
> <openbmc@lists.ozlabs.org>
> Subject: Re: Read smbios2 file failed
> 
> I don't know what is format of "dmidecode --dump-bin", but if it just raw
> dump of smbios then you only need to add mdr header.
> 
> See answer for the same question here:
> INVALID URI REMOVED
> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
> 
> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> > Hi Andrei,
> >
> > I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> > As
> > the data for smbios-mdr does not follow this, do you know about the
> > document or any information I can reference to prepare data to send to
> > BMC??
> >
> >
> > Best Regards,
> >
> > Thang Q. Nguyen
> >
> > On 14/09/2021 15:51, Andrei Kartashev wrote:
> > > No, it is not same as "dmidecode --dump-bin".
> > >
> > > On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> > > > On 13/09/2021 23:56, Andrei Kartashev wrote:
> > > > > You need to somehow deliver smbios data image to BMC. This
> > > > > means, your BIOS should implementat some logic to transfer this
> > > > > data.
> > > > > For BMC side see example here:
> > > > > https://github.com/openbmc/intel-ipmi-
> oem/blob/master/src/smbios
> > > > > mdrv2handler.cpp
> > > > Hi Andrei,
> > > >
> > > > What is the format of smbios data to transfer to BMC? Is it the
> > > > same content of "dmidecode --dump-bin" command from Host Linux?
> or
> > > > anything special in formatting the content to send?
> > > >
> > > > > On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> > > > > > Hi guys, I am beginner in openbmc I build openbmc with
> > > > > > smbios-mdr repository and I have error:
> > > > > >
> > > > > > Read data from flash error - Open MDRV2 table file failure
> > > > > >
> > > > > > There isnt file in /var/lib/smbios/smbios2
> > > > > >
> > > > > > How I can resolve this problem?
> > > > > > Help me please!!!
> 
> 
> --
> Best regards,
> Andrei Kartashev
> 


^ permalink raw reply	[flat|nested] 21+ messages in thread

* RE: Read smbios2 file failed
  2021-09-15 13:18           ` Garrett, Mike (HPE Server Firmware)
@ 2021-09-16  2:40             ` CS20 CHLi30
  2021-09-16 11:18               ` Thang Nguyen
  0 siblings, 1 reply; 21+ messages in thread
From: CS20 CHLi30 @ 2021-09-16  2:40 UTC (permalink / raw)
  To: Garrett, Mike (HPE Server Firmware),
	Andrei Kartashev, Thang Nguyen, openbmc

Hi Thang,
Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?

You can refer this sysfs-firmware-dmi-tables as below:

The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.

The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.

The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
/sys/firmware/dmi/tables/smbios_entry_point
/sys/firmware/dmi/tables/DMI

Best regards,
Tim

-----Original Message-----
From: openbmc [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On Behalf Of Garrett, Mike (HPE Server Firmware)
Sent: Wednesday, September 15, 2021 9:19 PM
To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc <openbmc@lists.ozlabs.org>
Subject: RE: Read smbios2 file failed

We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fsmbios-mdr%2Fblob%2F33c948a473bd273fea0cff82d4c99b70b7784be6%2Finclude%2Fsmbios_mdrv2.hpp%23L114&amp;data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0

It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.

Mike

> -----Original Message-----
> From: openbmc <openbmc-
> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
> Kartashev
> Sent: Wednesday, September 15, 2021 3:17 AM
> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
> <openbmc@lists.ozlabs.org>
> Subject: Re: Read smbios2 file failed
>
> I don't know what is format of "dmidecode --dump-bin", but if it just
> raw dump of smbios then you only need to add mdr header.
>
> See answer for the same question here:
> INVALID URI REMOVED
> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
>
> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> > Hi Andrei,
> >
> > I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> > As
> > the data for smbios-mdr does not follow this, do you know about the
> > document or any information I can reference to prepare data to send
> > to BMC??
> >
> >
> > Best Regards,
> >
> > Thang Q. Nguyen
> >
> > On 14/09/2021 15:51, Andrei Kartashev wrote:
> > > No, it is not same as "dmidecode --dump-bin".
> > >
> > > On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> > > > On 13/09/2021 23:56, Andrei Kartashev wrote:
> > > > > You need to somehow deliver smbios data image to BMC. This
> > > > > means, your BIOS should implementat some logic to transfer
> > > > > this data.
> > > > > For BMC side see example here:
> > > > > https://apc01.safelinks.protection.outlook.com/?url=https%3A%2
> > > > > F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
> > > > > 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
> > > > > d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
> > > > > n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
> > > > > 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
> > > > > p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
> oem/blob/master/src/smbios
> > > > > mdrv2handler.cpp
> > > > Hi Andrei,
> > > >
> > > > What is the format of smbios data to transfer to BMC? Is it the
> > > > same content of "dmidecode --dump-bin" command from Host Linux?
> or
> > > > anything special in formatting the content to send?
> > > >
> > > > > On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> > > > > > Hi guys, I am beginner in openbmc I build openbmc with
> > > > > > smbios-mdr repository and I have error:
> > > > > >
> > > > > > Read data from flash error - Open MDRV2 table file failure
> > > > > >
> > > > > > There isnt file in /var/lib/smbios/smbios2
> > > > > >
> > > > > > How I can resolve this problem?
> > > > > > Help me please!!!
>
>
> --
> Best regards,
> Andrei Kartashev
>

________________________________
________________________________
 The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2021-09-16  2:40             ` CS20 CHLi30
@ 2021-09-16 11:18               ` Thang Nguyen
  2021-09-16 22:36                 ` Jie Yang
  0 siblings, 1 reply; 21+ messages in thread
From: Thang Nguyen @ 2021-09-16 11:18 UTC (permalink / raw)
  To: CS20 CHLi30, Garrett, Mike (HPE Server Firmware),
	Andrei Kartashev, openbmc

Thanks Tim, Mike and Andrei for very useful information. We can make it 
work by adding MDRv2 header.

I am finding some information about the IPMI blobs commands. I can see 
some notes at

https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md

https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md

But I have not found more description about the IPMI blob commands like 
NetFn, Func, ... that I can send a file from Host to BMC. Do you have 
any information about them?


Thanks,

Thang Q. Nguyen

On 16/09/2021 09:40, CS20 CHLi30 wrote:
> Hi Thang,
> Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
>
> You can refer this sysfs-firmware-dmi-tables as below:
>
> The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
> The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
> The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
>
> The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
> The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
>
> The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
> /sys/firmware/dmi/tables/smbios_entry_point
> /sys/firmware/dmi/tables/DMI
>
> Best regards,
> Tim
>
> -----Original Message-----
> From: openbmc [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On Behalf Of Garrett, Mike (HPE Server Firmware)
> Sent: Wednesday, September 15, 2021 9:19 PM
> To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc <openbmc@lists.ozlabs.org>
> Subject: RE: Read smbios2 file failed
>
> We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fsmbios-mdr%2Fblob%2F33c948a473bd273fea0cff82d4c99b70b7784be6%2Finclude%2Fsmbios_mdrv2.hpp%23L114&amp;data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
>
> It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
>
> Mike
>
>> -----Original Message-----
>> From: openbmc <openbmc-
>> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
>> Kartashev
>> Sent: Wednesday, September 15, 2021 3:17 AM
>> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
>> <openbmc@lists.ozlabs.org>
>> Subject: Re: Read smbios2 file failed
>>
>> I don't know what is format of "dmidecode --dump-bin", but if it just
>> raw dump of smbios then you only need to add mdr header.
>>
>> See answer for the same question here:
>> INVALID URI REMOVED
>> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
>> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
>>
>> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
>>> Hi Andrei,
>>>
>>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
>>> As
>>> the data for smbios-mdr does not follow this, do you know about the
>>> document or any information I can reference to prepare data to send
>>> to BMC??
>>>
>>>
>>> Best Regards,
>>>
>>> Thang Q. Nguyen
>>>
>>> On 14/09/2021 15:51, Andrei Kartashev wrote:
>>>> No, it is not same as "dmidecode --dump-bin".
>>>>
>>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
>>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
>>>>>> You need to somehow deliver smbios data image to BMC. This
>>>>>> means, your BIOS should implementat some logic to transfer
>>>>>> this data.
>>>>>> For BMC side see example here:
>>>>>> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2
>>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
>>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
>>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
>>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
>>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
>>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
>> oem/blob/master/src/smbios
>>>>>> mdrv2handler.cpp
>>>>> Hi Andrei,
>>>>>
>>>>> What is the format of smbios data to transfer to BMC? Is it the
>>>>> same content of "dmidecode --dump-bin" command from Host Linux?
>> or
>>>>> anything special in formatting the content to send?
>>>>>
>>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
>>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
>>>>>>> smbios-mdr repository and I have error:
>>>>>>>
>>>>>>> Read data from flash error - Open MDRV2 table file failure
>>>>>>>
>>>>>>> There isnt file in /var/lib/smbios/smbios2
>>>>>>>
>>>>>>> How I can resolve this problem?
>>>>>>> Help me please!!!
>>
>> --
>> Best regards,
>> Andrei Kartashev
>>
> ________________________________
> ________________________________
>   The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2021-09-16 11:18               ` Thang Nguyen
@ 2021-09-16 22:36                 ` Jie Yang
  2021-09-17 13:40                   ` Thang Nguyen
  0 siblings, 1 reply; 21+ messages in thread
From: Jie Yang @ 2021-09-16 22:36 UTC (permalink / raw)
  To: Thang Nguyen
  Cc: Garrett, Mike (HPE Server Firmware),
	Andrei Kartashev, CS20 CHLi30, openbmc

[-- Attachment #1: Type: text/plain, Size: 7119 bytes --]

Hi,

Actually I added an ipmi blob interface to smbios-mdr
 https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs
<https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs>.
With this interface you can send the smbios tables to BMC either through
LinuxBoot or host. The LinuxBoot code
https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer.
Writing and committing to this blob will generate the MDR header.

-Jie

On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <
thang@amperemail.onmicrosoft.com> wrote:

> Thanks Tim, Mike and Andrei for very useful information. We can make it
> work by adding MDRv2 header.
>
> I am finding some information about the IPMI blobs commands. I can see
> some notes at
>
>
> https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md
>
> https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md
>
> But I have not found more description about the IPMI blob commands like
> NetFn, Func, ... that I can send a file from Host to BMC. Do you have
> any information about them?
>
>
> Thanks,
>
> Thang Q. Nguyen
>
> On 16/09/2021 09:40, CS20 CHLi30 wrote:
> > Hi Thang,
> > Did you try to use smbios_entry_point or DMI from host to BMC
> /var/lib/smbios/smbios2 for parsing?
> >
> > You can refer this sysfs-firmware-dmi-tables as below:
> >
> > The firmware provides DMI structures as a packed list of data referenced
> by a SMBIOS table entry point.
> > The SMBIOS entry point contains general information, like SMBIOS
> version, DMI table size, etc.
> > The structure, content and size of SMBIOS entry point is dependent on
> SMBIOS version.
> >
> > The format of SMBIOS entry point and DMI structures can be read in
> SMBIOS specification.
> > The dmi/tables provides raw SMBIOS entry point and DMI tables through
> sysfs as an alternative to utilities reading them from /dev/mem.
> >
> > The raw SMBIOS entry point and DMI table are presented as binary
> attributes and are accessible via:
> > /sys/firmware/dmi/tables/smbios_entry_point
> > /sys/firmware/dmi/tables/DMI
> >
> > Best regards,
> > Tim
> >
> > -----Original Message-----
> > From: openbmc [mailto:openbmc-bounces+chli30=
> nuvoton.com@lists.ozlabs.org] On Behalf Of Garrett, Mike (HPE Server
> Firmware)
> > Sent: Wednesday, September 15, 2021 9:19 PM
> > To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen <
> thang@amperemail.onmicrosoft.com>; openbmc <openbmc@lists.ozlabs.org>
> > Subject: RE: Read smbios2 file failed
> >
> > We recently did the same thing and got it working.  All you have to do
> is take the RAW smbios records blob in binary form (delivered as noted
> below in whatever way you choose) and prepend a specific header:
> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fsmbios-mdr%2Fblob%2F33c948a473bd273fea0cff82d4c99b70b7784be6%2Finclude%2Fsmbios_mdrv2.hpp%23L114&amp;data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
> >
> > It is a little bit fragile as it introduces a dependency on the file
> download logic to write a non-standard header defined in another service
> that could potentially change.
> >
> > Mike
> >
> >> -----Original Message-----
> >> From: openbmc <openbmc-
> >> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
> >> Kartashev
> >> Sent: Wednesday, September 15, 2021 3:17 AM
> >> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
> >> <openbmc@lists.ozlabs.org>
> >> Subject: Re: Read smbios2 file failed
> >>
> >> I don't know what is format of "dmidecode --dump-bin", but if it just
> >> raw dump of smbios then you only need to add mdr header.
> >>
> >> See answer for the same question here:
> >> INVALID URI REMOVED
> >> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
> >> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
> >>
> >> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> >>> Hi Andrei,
> >>>
> >>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> >>> As
> >>> the data for smbios-mdr does not follow this, do you know about the
> >>> document or any information I can reference to prepare data to send
> >>> to BMC??
> >>>
> >>>
> >>> Best Regards,
> >>>
> >>> Thang Q. Nguyen
> >>>
> >>> On 14/09/2021 15:51, Andrei Kartashev wrote:
> >>>> No, it is not same as "dmidecode --dump-bin".
> >>>>
> >>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> >>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
> >>>>>> You need to somehow deliver smbios data image to BMC. This
> >>>>>> means, your BIOS should implementat some logic to transfer
> >>>>>> this data.
> >>>>>> For BMC side see example here:
> >>>>>> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2
> >>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
> >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
> >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
> >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
> >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
> >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
> >> oem/blob/master/src/smbios
> >>>>>> mdrv2handler.cpp
> >>>>> Hi Andrei,
> >>>>>
> >>>>> What is the format of smbios data to transfer to BMC? Is it the
> >>>>> same content of "dmidecode --dump-bin" command from Host Linux?
> >> or
> >>>>> anything special in formatting the content to send?
> >>>>>
> >>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> >>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
> >>>>>>> smbios-mdr repository and I have error:
> >>>>>>>
> >>>>>>> Read data from flash error - Open MDRV2 table file failure
> >>>>>>>
> >>>>>>> There isnt file in /var/lib/smbios/smbios2
> >>>>>>>
> >>>>>>> How I can resolve this problem?
> >>>>>>> Help me please!!!
> >>
> >> --
> >> Best regards,
> >> Andrei Kartashev
> >>
> > ________________________________
> > ________________________________
> >   The privileged confidential information contained in this email is
> intended for use only by the addressees as indicated by the original sender
> of this email. If you are not the addressee indicated in this email or are
> not responsible for delivery of the email to such a person, please kindly
> reply to the sender indicating this fact and delete all copies of it from
> your computer and network server immediately. Your cooperation is highly
> appreciated. It is advised that any unauthorized use of confidential
> information of Nuvoton is strictly prohibited; and any information in this
> email irrelevant to the official business of Nuvoton shall be deemed as
> neither given nor endorsed by Nuvoton.
>

[-- Attachment #2: Type: text/html, Size: 10260 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2021-09-16 22:36                 ` Jie Yang
@ 2021-09-17 13:40                   ` Thang Nguyen
  2022-08-19  9:50                     ` 回覆: " Chris Chen (TPI)
  0 siblings, 1 reply; 21+ messages in thread
From: Thang Nguyen @ 2021-09-17 13:40 UTC (permalink / raw)
  To: Jie Yang
  Cc: Garrett, Mike (HPE Server Firmware),
	Andrei Kartashev, CS20 CHLi30, openbmc

[-- Attachment #1: Type: text/plain, Size: 8896 bytes --]

Thanks Jia for your information

On 17/09/2021 05:36, Jie Yang wrote:
> Hi,
>
> Actually I added an ipmi blob interface to 
> smbios-mdr https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs 
> <https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs>. 
> With this interface you can send the smbios tables to BMC either 
> through LinuxBoot or host. The LinuxBoot code 
> https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer 
> <https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer>. 
> Writing and committing to this blob will generate the MDR header.
>
> -Jie
>
> On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen 
> <thang@amperemail.onmicrosoft.com 
> <mailto:thang@amperemail.onmicrosoft.com>> wrote:
>
>     Thanks Tim, Mike and Andrei for very useful information. We can
>     make it
>     work by adding MDRv2 header.
>
>     I am finding some information about the IPMI blobs commands. I can
>     see
>     some notes at
>
>     https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md
>     <https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md>
>
>     https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md
>     <https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md>
>
>     But I have not found more description about the IPMI blob commands
>     like
>     NetFn, Func, ... that I can send a file from Host to BMC. Do you have
>     any information about them?
>
>
>     Thanks,
>
>     Thang Q. Nguyen
>
>     On 16/09/2021 09:40, CS20 CHLi30 wrote:
>     > Hi Thang,
>     > Did you try to use smbios_entry_point or DMI from host to BMC
>     /var/lib/smbios/smbios2 for parsing?
>     >
>     > You can refer this sysfs-firmware-dmi-tables as below:
>     >
>     > The firmware provides DMI structures as a packed list of data
>     referenced by a SMBIOS table entry point.
>     > The SMBIOS entry point contains general information, like SMBIOS
>     version, DMI table size, etc.
>     > The structure, content and size of SMBIOS entry point is
>     dependent on SMBIOS version.
>     >
>     > The format of SMBIOS entry point and DMI structures can be read
>     in SMBIOS specification.
>     > The dmi/tables provides raw SMBIOS entry point and DMI tables
>     through sysfs as an alternative to utilities reading them from
>     /dev/mem.
>     >
>     > The raw SMBIOS entry point and DMI table are presented as binary
>     attributes and are accessible via:
>     > /sys/firmware/dmi/tables/smbios_entry_point
>     > /sys/firmware/dmi/tables/DMI
>     >
>     > Best regards,
>     > Tim
>     >
>     > -----Original Message-----
>     > From: openbmc [mailto:openbmc-bounces+chli30
>     <mailto:openbmc-bounces%2Bchli30>=nuvoton.com@lists.ozlabs.org
>     <mailto:nuvoton.com@lists.ozlabs.org>] On Behalf Of Garrett, Mike
>     (HPE Server Firmware)
>     > Sent: Wednesday, September 15, 2021 9:19 PM
>     > To: Andrei Kartashev <a.kartashev@yadro.com
>     <mailto:a.kartashev@yadro.com>>; Thang Nguyen
>     <thang@amperemail.onmicrosoft.com
>     <mailto:thang@amperemail.onmicrosoft.com>>; openbmc
>     <openbmc@lists.ozlabs.org <mailto:openbmc@lists.ozlabs.org>>
>     > Subject: RE: Read smbios2 file failed
>     >
>     > We recently did the same thing and got it working.  All you have
>     to do is take the RAW smbios records blob in binary form
>     (delivered as noted below in whatever way you choose) and prepend
>     a specific header:
>     https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fsmbios-mdr%2Fblob%2F33c948a473bd273fea0cff82d4c99b70b7784be6%2Finclude%2Fsmbios_mdrv2.hpp%23L114&amp;data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
>     <https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fsmbios-mdr%2Fblob%2F33c948a473bd273fea0cff82d4c99b70b7784be6%2Finclude%2Fsmbios_mdrv2.hpp%23L114&amp;data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0>
>     >
>     > It is a little bit fragile as it introduces a dependency on the
>     file download logic to write a non-standard header defined in
>     another service that could potentially change.
>     >
>     > Mike
>     >
>     >> -----Original Message-----
>     >> From: openbmc <openbmc-
>     >> bounces+mike.garrett=hpe.com@lists.ozlabs.org
>     <mailto:hpe.com@lists.ozlabs.org>> On Behalf Of Andrei
>     >> Kartashev
>     >> Sent: Wednesday, September 15, 2021 3:17 AM
>     >> To: Thang Nguyen <thang@amperemail.onmicrosoft.com
>     <mailto:thang@amperemail.onmicrosoft.com>>; openbmc
>     >> <openbmc@lists.ozlabs.org <mailto:openbmc@lists.ozlabs.org>>
>     >> Subject: Re: Read smbios2 file failed
>     >>
>     >> I don't know what is format of "dmidecode --dump-bin", but if
>     it just
>     >> raw dump of smbios then you only need to add mdr header.
>     >>
>     >> See answer for the same question here:
>     >> INVALID URI REMOVED
>     >> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
>     >> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
>     >>
>     >> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
>     >>> Hi Andrei,
>     >>>
>     >>> I see output of "dmidecode --dump-bin" follows SMBIOS
>     specification.
>     >>> As
>     >>> the data for smbios-mdr does not follow this, do you know
>     about the
>     >>> document or any information I can reference to prepare data to
>     send
>     >>> to BMC??
>     >>>
>     >>>
>     >>> Best Regards,
>     >>>
>     >>> Thang Q. Nguyen
>     >>>
>     >>> On 14/09/2021 15:51, Andrei Kartashev wrote:
>     >>>> No, it is not same as "dmidecode --dump-bin".
>     >>>>
>     >>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
>     >>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
>     >>>>>> You need to somehow deliver smbios data image to BMC. This
>     >>>>>> means, your BIOS should implementat some logic to transfer
>     >>>>>> this data.
>     >>>>>> For BMC side see example here:
>     >>>>>>
>     https://apc01.safelinks.protection.outlook.com/?url=https%3A%2
>     <https://apc01.safelinks.protection.outlook.com/?url=https%3A%2>
>     >>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
>     >>>>>> 30%40nuvoton.com
>     <http://40nuvoton.com>%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
>     >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
>     >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
>     >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
>     >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
>     >> oem/blob/master/src/smbios
>     >>>>>> mdrv2handler.cpp
>     >>>>> Hi Andrei,
>     >>>>>
>     >>>>> What is the format of smbios data to transfer to BMC? Is it the
>     >>>>> same content of "dmidecode --dump-bin" command from Host Linux?
>     >> or
>     >>>>> anything special in formatting the content to send?
>     >>>>>
>     >>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
>     >>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
>     >>>>>>> smbios-mdr repository and I have error:
>     >>>>>>>
>     >>>>>>> Read data from flash error - Open MDRV2 table file failure
>     >>>>>>>
>     >>>>>>> There isnt file in /var/lib/smbios/smbios2
>     >>>>>>>
>     >>>>>>> How I can resolve this problem?
>     >>>>>>> Help me please!!!
>     >>
>     >> --
>     >> Best regards,
>     >> Andrei Kartashev
>     >>
>     > ________________________________
>     > ________________________________
>     >   The privileged confidential information contained in this
>     email is intended for use only by the addressees as indicated by
>     the original sender of this email. If you are not the addressee
>     indicated in this email or are not responsible for delivery of the
>     email to such a person, please kindly reply to the sender
>     indicating this fact and delete all copies of it from your
>     computer and network server immediately. Your cooperation is
>     highly appreciated. It is advised that any unauthorized use of
>     confidential information of Nuvoton is strictly prohibited; and
>     any information in this email irrelevant to the official business
>     of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
>

[-- Attachment #2: Type: text/html, Size: 12924 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* 回覆: Read smbios2 file failed
  2021-09-17 13:40                   ` Thang Nguyen
@ 2022-08-19  9:50                     ` Chris Chen (TPI)
  2022-08-23  7:38                       ` Chris Chen (TPI)
  0 siblings, 1 reply; 21+ messages in thread
From: Chris Chen (TPI) @ 2022-08-19  9:50 UTC (permalink / raw)
  To: Thang Nguyen, Jie Yang
  Cc: Garrett, Mike (HPE Server Firmware),
	openbmc, Andrei Kartashev, CS20 CHLi30

[-- Attachment #1: Type: text/plain, Size: 10460 bytes --]

Hello everyone,

I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. But, after reviewing all your discussions, I still have no idea how to enable the feature. Could you help to share more details with me? for example,

  1.  How to generate a raw SMBIOS table with MDRv2 header? (like using "dmidecode --dump-bin" and what else?)
  2.  How do start sending SMBIOS binary file at Host-side? (As I know, the FW update mechanism through IPMI blob would need to build a host-tool, named burn-my-bmc, on the Host and then run the tool to start image data transformation. Does the "smbios-ipmi-blobs" with the same method?)

p.s. The OS running on the Host is Ubuntu 20.04.

Thanks.

Regards,
Chris Chen

________________________________
寄件者: openbmc <openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org> 代表 Thang Nguyen <thang@amperemail.onmicrosoft.com>
寄件日期: 2021年9月17日 下午 09:40
收件者: Jie Yang <jjy@google.com>
副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
主旨: Re: Read smbios2 file failed


Thanks Jia for your information

On 17/09/2021 05:36, Jie Yang wrote:
Hi,

Actually I added an ipmi blob interface to smbios-mdr https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs<https://urldefense.com/v3/__https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtvpYjCWU$>. With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer<https://urldefense.com/v3/__https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtiWmoL2X$>. Writing and committing to this blob will generate the MDR header.

-Jie

On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <thang@amperemail.onmicrosoft.com<mailto:thang@amperemail.onmicrosoft.com>> wrote:
Thanks Tim, Mike and Andrei for very useful information. We can make it
work by adding MDRv2 header.

I am finding some information about the IPMI blobs commands. I can see
some notes at

https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md<https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtoaEVKUv$>

https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md<https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtrf-IcxD$>

But I have not found more description about the IPMI blob commands like
NetFn, Func, ... that I can send a file from Host to BMC. Do you have
any information about them?


Thanks,

Thang Q. Nguyen

On 16/09/2021 09:40, CS20 CHLi30 wrote:
> Hi Thang,
> Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
>
> You can refer this sysfs-firmware-dmi-tables as below:
>
> The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
> The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
> The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
>
> The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
> The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
>
> The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
> /sys/firmware/dmi/tables/smbios_entry_point
> /sys/firmware/dmi/tables/DMI
>
> Best regards,
> Tim
>
> -----Original Message-----
> From: openbmc [mailto:openbmc-bounces+chli30<mailto:openbmc-bounces%2Bchli30>=nuvoton.com@lists.ozlabs.org<mailto:nuvoton.com@lists.ozlabs.org>] On Behalf Of Garrett, Mike (HPE Server Firmware)
> Sent: Wednesday, September 15, 2021 9:19 PM
> To: Andrei Kartashev <a.kartashev@yadro.com<mailto:a.kartashev@yadro.com>>; Thang Nguyen <thang@amperemail.onmicrosoft.com<mailto:thang@amperemail.onmicrosoft.com>>; openbmc <openbmc@lists.ozlabs.org<mailto:openbmc@lists.ozlabs.org>>
> Subject: RE: Read smbios2 file failed
>
> We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fsmbios-mdr%2Fblob%2F33c948a473bd273fea0cff82d4c99b70b7784be6%2Finclude%2Fsmbios_mdrv2.hpp%23L114&amp;data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0<https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0*2BxDi1MA*3D&amp;reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUl!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtsg8Gx_y$>
>
> It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
>
> Mike
>
>> -----Original Message-----
>> From: openbmc <openbmc-
>> bounces+mike.garrett=hpe.com@lists.ozlabs.org<mailto:hpe.com@lists.ozlabs.org>> On Behalf Of Andrei
>> Kartashev
>> Sent: Wednesday, September 15, 2021 3:17 AM
>> To: Thang Nguyen <thang@amperemail.onmicrosoft.com<mailto:thang@amperemail.onmicrosoft.com>>; openbmc
>> <openbmc@lists.ozlabs.org<mailto:openbmc@lists.ozlabs.org>>
>> Subject: Re: Read smbios2 file failed
>>
>> I don't know what is format of "dmidecode --dump-bin", but if it just
>> raw dump of smbios then you only need to add mdr header.
>>
>> See answer for the same question here:
>> INVALID URI REMOVED
>> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
>> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
>>
>> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
>>> Hi Andrei,
>>>
>>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
>>> As
>>> the data for smbios-mdr does not follow this, do you know about the
>>> document or any information I can reference to prepare data to send
>>> to BMC??
>>>
>>>
>>> Best Regards,
>>>
>>> Thang Q. Nguyen
>>>
>>> On 14/09/2021 15:51, Andrei Kartashev wrote:
>>>> No, it is not same as "dmidecode --dump-bin".
>>>>
>>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
>>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
>>>>>> You need to somehow deliver smbios data image to BMC. This
>>>>>> means, your BIOS should implementat some logic to transfer
>>>>>> this data.
>>>>>> For BMC side see example here:
>>>>>> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2<https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtgGDlRqi$>
>>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
>>>>>> 30%40nuvoton.com<https://urldefense.com/v3/__http://40nuvoton.com__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xthWsemHr$>%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
>>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
>>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
>>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
>>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
>> oem/blob/master/src/smbios
>>>>>> mdrv2handler.cpp
>>>>> Hi Andrei,
>>>>>
>>>>> What is the format of smbios data to transfer to BMC? Is it the
>>>>> same content of "dmidecode --dump-bin" command from Host Linux?
>> or
>>>>> anything special in formatting the content to send?
>>>>>
>>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
>>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
>>>>>>> smbios-mdr repository and I have error:
>>>>>>>
>>>>>>> Read data from flash error - Open MDRV2 table file failure
>>>>>>>
>>>>>>> There isnt file in /var/lib/smbios/smbios2
>>>>>>>
>>>>>>> How I can resolve this problem?
>>>>>>> Help me please!!!
>>
>> --
>> Best regards,
>> Andrei Kartashev
>>
> ________________________________
> ________________________________
>   The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.

Legal Disclaimer :
The information contained in this message may be privileged and confidential. 
It is intended to be read only by the individual or entity to whom it is addressed 
or by their designee. If the reader of this message is not the intended recipient, 
you are on notice that any distribution of this message, in any form, 
is strictly prohibited. If you have received this message in error, 
please immediately notify the sender and delete or destroy any copy of this message!

[-- Attachment #2: Type: text/html, Size: 14830 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* 回覆: Read smbios2 file failed
  2022-08-19  9:50                     ` 回覆: " Chris Chen (TPI)
@ 2022-08-23  7:38                       ` Chris Chen (TPI)
  2022-08-23 16:43                         ` Brandon Kim
  0 siblings, 1 reply; 21+ messages in thread
From: Chris Chen (TPI) @ 2022-08-23  7:38 UTC (permalink / raw)
  To: Brandon Kim, Jie Yang; +Cc: openbmc

[-- Attachment #1: Type: text/plain, Size: 12561 bytes --]

Hi Brandon and Jie,

I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. And according to Jie's clue (can send the smbios tables to BMC either through LinuxBoot or host), and then I saw both of you were contributing to the "https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go". Therefore, I have some questions about this, could you help to answer them?

  1.
I'm assuming that I can build "smbios_transfer" command and execute it on the Host-side (with installed Ubuntu 20.04), am i correct?

In fact, I'm not familiar with u-root and GO language. However, after referring to some websites to install GO and download u-root, I for now have built the cmd out and run it on my Host. Unfortunately, the result looks like failed.
===
$ sudo ./smbios_transfer
2022/08/23 14:47:14 Transferring SMBIOS tables, attempt 1/2
2022/08/23 14:47:34 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
2022/08/23 14:47:34 Transferring SMBIOS tables, attempt 2/2
2022/08/23 14:47:54 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
===

Do you have any suggestions on this error?

ps. I'm sure the IPMI BT interface is workable.

  1.  On the BMC-side, I just need to enable smbios-mdr package, correct? or anything else?

Thanks.

Regards,
Chris Chen

________________________________
寄件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
寄件日期: 2022年8月19日 下午 05:50
收件者: Thang Nguyen <thang@amperemail.onmicrosoft.com>; Jie Yang <jjy@google.com>
副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
主旨: 回覆: Read smbios2 file failed

Hello everyone,

I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. But, after reviewing all your discussions, I still have no idea how to enable the feature. Could you help to share more details with me? for example,

  1.  How to generate a raw SMBIOS table with MDRv2 header? (like using "dmidecode --dump-bin" and what else?)
  2.  How do start sending SMBIOS binary file at Host-side? (As I know, the FW update mechanism through IPMI blob would need to build a host-tool, named burn-my-bmc, on the Host and then run the tool to start image data transformation. Does the "smbios-ipmi-blobs" with the same method?)

p.s. The OS running on the Host is Ubuntu 20.04.

Thanks.

Regards,
Chris Chen

________________________________
寄件者: openbmc <openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org> 代表 Thang Nguyen <thang@amperemail.onmicrosoft.com>
寄件日期: 2021年9月17日 下午 09:40
收件者: Jie Yang <jjy@google.com>
副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
主旨: Re: Read smbios2 file failed


Thanks Jia for your information

On 17/09/2021 05:36, Jie Yang wrote:
Hi,

Actually I added an ipmi blob interface to smbios-mdr https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs<https://urldefense.com/v3/__https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtvpYjCWU$>. With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer<https://urldefense.com/v3/__https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtiWmoL2X$>. Writing and committing to this blob will generate the MDR header.

-Jie

On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <thang@amperemail.onmicrosoft.com<mailto:thang@amperemail.onmicrosoft.com>> wrote:
Thanks Tim, Mike and Andrei for very useful information. We can make it
work by adding MDRv2 header.

I am finding some information about the IPMI blobs commands. I can see
some notes at

https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md<https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtoaEVKUv$>

https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md<https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtrf-IcxD$>

But I have not found more description about the IPMI blob commands like
NetFn, Func, ... that I can send a file from Host to BMC. Do you have
any information about them?


Thanks,

Thang Q. Nguyen

On 16/09/2021 09:40, CS20 CHLi30 wrote:
> Hi Thang,
> Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
>
> You can refer this sysfs-firmware-dmi-tables as below:
>
> The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
> The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
> The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
>
> The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
> The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
>
> The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
> /sys/firmware/dmi/tables/smbios_entry_point
> /sys/firmware/dmi/tables/DMI
>
> Best regards,
> Tim
>
> -----Original Message-----
> From: openbmc [mailto:openbmc-bounces+chli30<mailto:openbmc-bounces%2Bchli30>=nuvoton.com@lists.ozlabs.org<mailto:nuvoton.com@lists.ozlabs.org>] On Behalf Of Garrett, Mike (HPE Server Firmware)
> Sent: Wednesday, September 15, 2021 9:19 PM
> To: Andrei Kartashev <a.kartashev@yadro.com<mailto:a.kartashev@yadro.com>>; Thang Nguyen <thang@amperemail.onmicrosoft.com<mailto:thang@amperemail.onmicrosoft.com>>; openbmc <openbmc@lists.ozlabs.org<mailto:openbmc@lists.ozlabs.org>>
> Subject: RE: Read smbios2 file failed
>
> We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fsmbios-mdr%2Fblob%2F33c948a473bd273fea0cff82d4c99b70b7784be6%2Finclude%2Fsmbios_mdrv2.hpp%23L114&amp;data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0<https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0*2BxDi1MA*3D&amp;reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUl!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtsg8Gx_y$>
>
> It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
>
> Mike
>
>> -----Original Message-----
>> From: openbmc <openbmc-
>> bounces+mike.garrett=hpe.com@lists.ozlabs.org<mailto:hpe.com@lists.ozlabs.org>> On Behalf Of Andrei
>> Kartashev
>> Sent: Wednesday, September 15, 2021 3:17 AM
>> To: Thang Nguyen <thang@amperemail.onmicrosoft.com<mailto:thang@amperemail.onmicrosoft.com>>; openbmc
>> <openbmc@lists.ozlabs.org<mailto:openbmc@lists.ozlabs.org>>
>> Subject: Re: Read smbios2 file failed
>>
>> I don't know what is format of "dmidecode --dump-bin", but if it just
>> raw dump of smbios then you only need to add mdr header.
>>
>> See answer for the same question here:
>> INVALID URI REMOVED
>> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
>> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
>>
>> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
>>> Hi Andrei,
>>>
>>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
>>> As
>>> the data for smbios-mdr does not follow this, do you know about the
>>> document or any information I can reference to prepare data to send
>>> to BMC??
>>>
>>>
>>> Best Regards,
>>>
>>> Thang Q. Nguyen
>>>
>>> On 14/09/2021 15:51, Andrei Kartashev wrote:
>>>> No, it is not same as "dmidecode --dump-bin".
>>>>
>>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
>>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
>>>>>> You need to somehow deliver smbios data image to BMC. This
>>>>>> means, your BIOS should implementat some logic to transfer
>>>>>> this data.
>>>>>> For BMC side see example here:
>>>>>> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2<https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xtgGDlRqi$>
>>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
>>>>>> 30%40nuvoton.com<https://urldefense.com/v3/__http://40nuvoton.com__;!!HSntlCg!EtwhV18i5GdJ-OcUFIP0uI2ezn8lbBtTEAcWRgPad7EUuOOzOfTVuW4xthWsemHr$>%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
>>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
>>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
>>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
>>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
>> oem/blob/master/src/smbios
>>>>>> mdrv2handler.cpp
>>>>> Hi Andrei,
>>>>>
>>>>> What is the format of smbios data to transfer to BMC? Is it the
>>>>> same content of "dmidecode --dump-bin" command from Host Linux?
>> or
>>>>> anything special in formatting the content to send?
>>>>>
>>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
>>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
>>>>>>> smbios-mdr repository and I have error:
>>>>>>>
>>>>>>> Read data from flash error - Open MDRV2 table file failure
>>>>>>>
>>>>>>> There isnt file in /var/lib/smbios/smbios2
>>>>>>>
>>>>>>> How I can resolve this problem?
>>>>>>> Help me please!!!
>>
>> --
>> Best regards,
>> Andrei Kartashev
>>
> ________________________________
> ________________________________
>   The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.

Legal Disclaimer :
The information contained in this message may be privileged and confidential. 
It is intended to be read only by the individual or entity to whom it is addressed 
or by their designee. If the reader of this message is not the intended recipient, 
you are on notice that any distribution of this message, in any form, 
is strictly prohibited. If you have received this message in error, 
please immediately notify the sender and delete or destroy any copy of this message!

[-- Attachment #2: Type: text/html, Size: 18247 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2022-08-23  7:38                       ` Chris Chen (TPI)
@ 2022-08-23 16:43                         ` Brandon Kim
  2022-08-24  9:25                           ` 回覆: " Chris Chen (TPI)
  0 siblings, 1 reply; 21+ messages in thread
From: Brandon Kim @ 2022-08-23 16:43 UTC (permalink / raw)
  To: Chris Chen (TPI); +Cc: Jie Yang, openbmc

Hi Chris,

Yes, running the go program you compile and running smbios_transfer
binary as you did, should do what you expect. However, there is a
PACKAGE_CONFIG you will have to append for the ipmi-blob side of
things to work:

Please try building with the following line in your meta layer's
recipes-phosphor/smbios/smbios-mdr_%.bbappend

```
PACKAGECONFIG:append = " smbios-ipmi-blob"
```

Cheers,
Brandon


On Tue, Aug 23, 2022 at 12:40 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandon and Jie,
>
> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. And according to Jie's clue (can send the smbios tables to BMC either through LinuxBoot or host), and then I saw both of you were contributing to the "https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go". Therefore, I have some questions about this, could you help to answer them?
>
> I'm assuming that I can build "smbios_transfer" command and execute it on the Host-side (with installed Ubuntu 20.04), am i correct?
>
> In fact, I'm not familiar with u-root and GO language. However, after referring to some websites to install GO and download u-root, I for now have built the cmd out and run it on my Host. Unfortunately, the result looks like failed.
> ===
> $ sudo ./smbios_transfer
> 2022/08/23 14:47:14 Transferring SMBIOS tables, attempt 1/2
> 2022/08/23 14:47:34 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
> 2022/08/23 14:47:34 Transferring SMBIOS tables, attempt 2/2
> 2022/08/23 14:47:54 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
> ===
>
> Do you have any suggestions on this error?
>
> ps. I'm sure the IPMI BT interface is workable.
>
> On the BMC-side, I just need to enable smbios-mdr package, correct? or anything else?
>
>
> Thanks.
>
> Regards,
> Chris Chen
>
> ________________________________
> 寄件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> 寄件日期: 2022年8月19日 下午 05:50
> 收件者: Thang Nguyen <thang@amperemail.onmicrosoft.com>; Jie Yang <jjy@google.com>
> 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> 主旨: 回覆: Read smbios2 file failed
>
> Hello everyone,
>
> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. But, after reviewing all your discussions, I still have no idea how to enable the feature. Could you help to share more details with me? for example,
>
> How to generate a raw SMBIOS table with MDRv2 header? (like using "dmidecode --dump-bin" and what else?)
> How do start sending SMBIOS binary file at Host-side? (As I know, the FW update mechanism through IPMI blob would need to build a host-tool, named burn-my-bmc, on the Host and then run the tool to start image data transformation. Does the "smbios-ipmi-blobs" with the same method?)
>
>
> p.s. The OS running on the Host is Ubuntu 20.04.
>
> Thanks.
>
> Regards,
> Chris Chen
>
> ________________________________
> 寄件者: openbmc <openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org> 代表 Thang Nguyen <thang@amperemail.onmicrosoft.com>
> 寄件日期: 2021年9月17日 下午 09:40
> 收件者: Jie Yang <jjy@google.com>
> 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> 主旨: Re: Read smbios2 file failed
>
>
> Thanks Jia for your information
>
> On 17/09/2021 05:36, Jie Yang wrote:
>
> Hi,
>
> Actually I added an ipmi blob interface to smbios-mdr https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs. With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer. Writing and committing to this blob will generate the MDR header.
>
> -Jie
>
> On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <thang@amperemail.onmicrosoft.com> wrote:
>
> Thanks Tim, Mike and Andrei for very useful information. We can make it
> work by adding MDRv2 header.
>
> I am finding some information about the IPMI blobs commands. I can see
> some notes at
>
> https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md
>
> https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md
>
> But I have not found more description about the IPMI blob commands like
> NetFn, Func, ... that I can send a file from Host to BMC. Do you have
> any information about them?
>
>
> Thanks,
>
> Thang Q. Nguyen
>
> On 16/09/2021 09:40, CS20 CHLi30 wrote:
> > Hi Thang,
> > Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
> >
> > You can refer this sysfs-firmware-dmi-tables as below:
> >
> > The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
> > The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
> > The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
> >
> > The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
> > The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
> >
> > The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
> > /sys/firmware/dmi/tables/smbios_entry_point
> > /sys/firmware/dmi/tables/DMI
> >
> > Best regards,
> > Tim
> >
> > -----Original Message-----
> > From: openbmc [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On Behalf Of Garrett, Mike (HPE Server Firmware)
> > Sent: Wednesday, September 15, 2021 9:19 PM
> > To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc <openbmc@lists.ozlabs.org>
> > Subject: RE: Read smbios2 file failed
> >
> > We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fsmbios-mdr%2Fblob%2F33c948a473bd273fea0cff82d4c99b70b7784be6%2Finclude%2Fsmbios_mdrv2.hpp%23L114&amp;data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
> >
> > It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
> >
> > Mike
> >
> >> -----Original Message-----
> >> From: openbmc <openbmc-
> >> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
> >> Kartashev
> >> Sent: Wednesday, September 15, 2021 3:17 AM
> >> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
> >> <openbmc@lists.ozlabs.org>
> >> Subject: Re: Read smbios2 file failed
> >>
> >> I don't know what is format of "dmidecode --dump-bin", but if it just
> >> raw dump of smbios then you only need to add mdr header.
> >>
> >> See answer for the same question here:
> >> INVALID URI REMOVED
> >> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
> >> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
> >>
> >> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> >>> Hi Andrei,
> >>>
> >>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> >>> As
> >>> the data for smbios-mdr does not follow this, do you know about the
> >>> document or any information I can reference to prepare data to send
> >>> to BMC??
> >>>
> >>>
> >>> Best Regards,
> >>>
> >>> Thang Q. Nguyen
> >>>
> >>> On 14/09/2021 15:51, Andrei Kartashev wrote:
> >>>> No, it is not same as "dmidecode --dump-bin".
> >>>>
> >>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> >>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
> >>>>>> You need to somehow deliver smbios data image to BMC. This
> >>>>>> means, your BIOS should implementat some logic to transfer
> >>>>>> this data.
> >>>>>> For BMC side see example here:
> >>>>>> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2
> >>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
> >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
> >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
> >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
> >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
> >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
> >> oem/blob/master/src/smbios
> >>>>>> mdrv2handler.cpp
> >>>>> Hi Andrei,
> >>>>>
> >>>>> What is the format of smbios data to transfer to BMC? Is it the
> >>>>> same content of "dmidecode --dump-bin" command from Host Linux?
> >> or
> >>>>> anything special in formatting the content to send?
> >>>>>
> >>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> >>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
> >>>>>>> smbios-mdr repository and I have error:
> >>>>>>>
> >>>>>>> Read data from flash error - Open MDRV2 table file failure
> >>>>>>>
> >>>>>>> There isnt file in /var/lib/smbios/smbios2
> >>>>>>>
> >>>>>>> How I can resolve this problem?
> >>>>>>> Help me please!!!
> >>
> >> --
> >> Best regards,
> >> Andrei Kartashev
> >>
> > ________________________________
> > ________________________________
> >   The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
>
> Legal Disclaimer :
> The information contained in this message may be privileged and confidential.
> It is intended to be read only by the individual or entity to whom it is addressed
> or by their designee. If the reader of this message is not the intended recipient,
> you are on notice that any distribution of this message, in any form,
> is strictly prohibited. If you have received this message in error,
> please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* 回覆: Read smbios2 file failed
  2022-08-23 16:43                         ` Brandon Kim
@ 2022-08-24  9:25                           ` Chris Chen (TPI)
  2022-08-24 16:37                             ` Brandon Kim
  0 siblings, 1 reply; 21+ messages in thread
From: Chris Chen (TPI) @ 2022-08-24  9:25 UTC (permalink / raw)
  To: Brandon Kim, Jie Yang; +Cc: openbmc

[-- Attachment #1: Type: text/plain, Size: 19622 bytes --]

Hi Brandon and Jie,

I think I have added "smbios-ipmi-blob" library and also updated the SRCREV to the latest in the smbios-mdr_git.bbappend file.

So, I added some debug messages in the "phosphor-ipmi-blobs" and the "u-root" repos respectively. I figured out one weird thing that is the BMC-side doesn't receive the "bmcBlobWrite" command, and then Host-side gets failed due to no response. Following are the messages I captured, could you help to have a look at it and give some clues? Thank you.

=== Host-side ===
$ sudo ./smbios_transfer -num_retries 1
2022/08/24 16:40:53 Transferring SMBIOS tables, attempt 1/1
2022/08/24 16:40:53 BlobGetCount
2022/08/24 16:40:53 ctransferSmbiosData - total blobCount=4
2022/08/24 16:40:53 BlobEnumerate
2022/08/24 16:40:53 ctransferSmbiosData id=/flash/hash
2022/08/24 16:40:53 BlobEnumerate
2022/08/24 16:40:53 ctransferSmbiosData id=/flash/image
2022/08/24 16:40:53 BlobEnumerate
2022/08/24 16:40:53 ctransferSmbiosData id=/smbios
2022/08/24 16:40:53 BlobOpen
2022/08/24 16:40:53 BlobWrite
2022/08/24 16:41:03 ReceiveResponse - failed to read rawconn: i/o timeout
2022/08/24 16:41:03 BlobClose
2022/08/24 16:41:13 ReceiveResponse - failed to read rawconn: i/o timeout
2022/08/24 16:41:13 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
==============

=== BMC-side ===
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: Registering OEM:[0X00C2CF], Cmd:[0X80] for Blob Commands
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries - Enter
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwareblob.so
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: config loaded: /flash/image
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libsmbiosstore.so.0
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler - createHandler
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/liblogblob.so
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libversionblob.so
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwarecleanupblob.so
Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries - Exit
…
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=0
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Enter
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::getBlobIds - blobId=/smbios
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Exit
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit

Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/hash
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit

Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/image
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit

Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/smbios
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit

Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=2
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Enter
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: openBlob path=/smbios
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Enter
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Exit
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Exit
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit

Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=6
Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Enter
Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Enter
Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Exit
Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Exit
Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand (replyLength==0) - Exit
==============

Regards,
Chris Chen
________________________________
寄件者: Brandon Kim <brandonkim@google.com>
寄件日期: 2022年8月24日 上午 12:43
收件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
副本: Jie Yang <jjy@google.com>; openbmc <openbmc@lists.ozlabs.org>
主旨: Re: Read smbios2 file failed

!-------------------------------------------------------------------|

  This email was sent from someone outside of Flex. Do not
  click on any links, reply or open attachments unless you
  recognize the sender and know the content is safe. If
  suspicious, report it to spamsample@flex.com.
|-------------------------------------------------------------------!

Hi Chris,

Yes, running the go program you compile and running smbios_transfer
binary as you did, should do what you expect. However, there is a
PACKAGE_CONFIG you will have to append for the ipmi-blob side of
things to work:

Please try building with the following line in your meta layer's
recipes-phosphor/smbios/smbios-mdr_%.bbappend

```
PACKAGECONFIG:append = " smbios-ipmi-blob"
```

Cheers,
Brandon


On Tue, Aug 23, 2022 at 12:40 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandon and Jie,
>
> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. And according to Jie's clue (can send the smbios tables to BMC either through LinuxBoot or host), and then I saw both of you were contributing to the "https://urldefense.com/v3/__https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS55JUTxghw$  ". Therefore, I have some questions about this, could you help to answer them?
>
> I'm assuming that I can build "smbios_transfer" command and execute it on the Host-side (with installed Ubuntu 20.04), am i correct?
>
> In fact, I'm not familiar with u-root and GO language. However, after referring to some websites to install GO and download u-root, I for now have built the cmd out and run it on my Host. Unfortunately, the result looks like failed.
> ===
> $ sudo ./smbios_transfer
> 2022/08/23 14:47:14 Transferring SMBIOS tables, attempt 1/2
> 2022/08/23 14:47:34 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
> 2022/08/23 14:47:34 Transferring SMBIOS tables, attempt 2/2
> 2022/08/23 14:47:54 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
> ===
>
> Do you have any suggestions on this error?
>
> ps. I'm sure the IPMI BT interface is workable.
>
> On the BMC-side, I just need to enable smbios-mdr package, correct? or anything else?
>
>
> Thanks.
>
> Regards,
> Chris Chen
>
> ________________________________
> 寄件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> 寄件日期: 2022年8月19日 下午 05:50
> 收件者: Thang Nguyen <thang@amperemail.onmicrosoft.com>; Jie Yang <jjy@google.com>
> 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> 主旨: 回覆: Read smbios2 file failed
>
> Hello everyone,
>
> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. But, after reviewing all your discussions, I still have no idea how to enable the feature. Could you help to share more details with me? for example,
>
> How to generate a raw SMBIOS table with MDRv2 header? (like using "dmidecode --dump-bin" and what else?)
> How do start sending SMBIOS binary file at Host-side? (As I know, the FW update mechanism through IPMI blob would need to build a host-tool, named burn-my-bmc, on the Host and then run the tool to start image data transformation. Does the "smbios-ipmi-blobs" with the same method?)
>
>
> p.s. The OS running on the Host is Ubuntu 20.04.
>
> Thanks.
>
> Regards,
> Chris Chen
>
> ________________________________
> 寄件者: openbmc <openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org> 代表 Thang Nguyen <thang@amperemail.onmicrosoft.com>
> 寄件日期: 2021年9月17日 下午 09:40
> 收件者: Jie Yang <jjy@google.com>
> 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> 主旨: Re: Read smbios2 file failed
>
>
> Thanks Jia for your information
>
> On 17/09/2021 05:36, Jie Yang wrote:
>
> Hi,
>
> Actually I added an ipmi blob interface to smbios-mdr https://urldefense.com/v3/__https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54qpIAumA$<https://urldefense.com/v3/__https:/github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54qpIAumA$>  . With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code https://urldefense.com/v3/__https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54GUWKtiw$<https://urldefense.com/v3/__https:/github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54GUWKtiw$>  . Writing and committing to this blob will generate the MDR header.
>
> -Jie
>
> On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <thang@amperemail.onmicrosoft.com> wrote:
>
> Thanks Tim, Mike and Andrei for very useful information. We can make it
> work by adding MDRv2 header.
>
> I am finding some information about the IPMI blobs commands. I can see
> some notes at
>
> https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57DJil0FA$<https://urldefense.com/v3/__https:/github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57DJil0FA$>
>
> https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56DlU_SCA$<https://urldefense.com/v3/__https:/github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56DlU_SCA$>
>
> But I have not found more description about the IPMI blob commands like
> NetFn, Func, ... that I can send a file from Host to BMC. Do you have
> any information about them?
>
>
> Thanks,
>
> Thang Q. Nguyen
>
> On 16/09/2021 09:40, CS20 CHLi30 wrote:
> > Hi Thang,
> > Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
> >
> > You can refer this sysfs-firmware-dmi-tables as below:
> >
> > The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
> > The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
> > The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
> >
> > The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
> > The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
> >
> > The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
> > /sys/firmware/dmi/tables/smbios_entry_point
> > /sys/firmware/dmi/tables/DMI
> >
> > Best regards,
> > Tim
> >
> > -----Original Message-----
> > From: openbmc [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On Behalf Of Garrett, Mike (HPE Server Firmware)
> > Sent: Wednesday, September 15, 2021 9:19 PM
> > To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc <openbmc@lists.ozlabs.org>
> > Subject: RE: Read smbios2 file failed
> >
> > We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$<https://urldefense.com/v3/__https:/apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$>   iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
> >
> > It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
> >
> > Mike
> >
> >> -----Original Message-----
> >> From: openbmc <openbmc-
> >> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
> >> Kartashev
> >> Sent: Wednesday, September 15, 2021 3:17 AM
> >> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
> >> <openbmc@lists.ozlabs.org>
> >> Subject: Re: Read smbios2 file failed
> >>
> >> I don't know what is format of "dmidecode --dump-bin", but if it just
> >> raw dump of smbios then you only need to add mdr header.
> >>
> >> See answer for the same question here:
> >> INVALID URI REMOVED
> >> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
> >> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
> >>
> >> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> >>> Hi Andrei,
> >>>
> >>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> >>> As
> >>> the data for smbios-mdr does not follow this, do you know about the
> >>> document or any information I can reference to prepare data to send
> >>> to BMC??
> >>>
> >>>
> >>> Best Regards,
> >>>
> >>> Thang Q. Nguyen
> >>>
> >>> On 14/09/2021 15:51, Andrei Kartashev wrote:
> >>>> No, it is not same as "dmidecode --dump-bin".
> >>>>
> >>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> >>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
> >>>>>> You need to somehow deliver smbios data image to BMC. This
> >>>>>> means, your BIOS should implementat some logic to transfer
> >>>>>> this data.
> >>>>>> For BMC side see example here:
> >>>>>> https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57ySTDXQQ$<https://urldefense.com/v3/__https:/apc01.safelinks.protection.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57ySTDXQQ$>
> >>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
> >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
> >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
> >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
> >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
> >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
> >> oem/blob/master/src/smbios
> >>>>>> mdrv2handler.cpp
> >>>>> Hi Andrei,
> >>>>>
> >>>>> What is the format of smbios data to transfer to BMC? Is it the
> >>>>> same content of "dmidecode --dump-bin" command from Host Linux?
> >> or
> >>>>> anything special in formatting the content to send?
> >>>>>
> >>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> >>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
> >>>>>>> smbios-mdr repository and I have error:
> >>>>>>>
> >>>>>>> Read data from flash error - Open MDRV2 table file failure
> >>>>>>>
> >>>>>>> There isnt file in /var/lib/smbios/smbios2
> >>>>>>>
> >>>>>>> How I can resolve this problem?
> >>>>>>> Help me please!!!
> >>
> >> --
> >> Best regards,
> >> Andrei Kartashev
> >>
> > ________________________________
> > ________________________________
> >   The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
>
> Legal Disclaimer :
> The information contained in this message may be privileged and confidential.
> It is intended to be read only by the individual or entity to whom it is addressed
> or by their designee. If the reader of this message is not the intended recipient,
> you are on notice that any distribution of this message, in any form,
> is strictly prohibited. If you have received this message in error,
> please immediately notify the sender and delete or destroy any copy of this message!

[-- Attachment #2: Type: text/html, Size: 39721 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2022-08-24  9:25                           ` 回覆: " Chris Chen (TPI)
@ 2022-08-24 16:37                             ` Brandon Kim
  2022-08-29  3:51                               ` Thang Q. Nguyen
  2022-08-30  7:39                               ` Chris Chen (TPI)
  0 siblings, 2 replies; 21+ messages in thread
From: Brandon Kim @ 2022-08-24 16:37 UTC (permalink / raw)
  To: Chris Chen (TPI); +Cc: Jie Yang, openbmc

Hi Chris, thanks for adding more debug messages.

We don't see this failure.. I'm guessing we're 100% sure that IPMI is
not an issue here (I think not, since we're able to enumerate the
blobs)? Could you check to see if the open was actually successful and
that it was written with the correct flags?

Could you also ensure you're at the very latest SRCREV of OpenBMC as well?

Thanks,
Brandon

On Wed, Aug 24, 2022 at 2:25 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandon and Jie,
>
>
>
> I think I have added "smbios-ipmi-blob" library and also updated the SRCREV to the latest in the smbios-mdr_git.bbappend file.
>
>
>
> So, I added some debug messages in the "phosphor-ipmi-blobs" and the "u-root" repos respectively. I figured out one weird thing that is the BMC-side doesn't receive the "bmcBlobWrite" command, and then Host-side gets failed due to no response. Following are the messages I captured, could you help to have a look at it and give some clues? Thank you.
>
>
>
> === Host-side ===
>
> $ sudo ./smbios_transfer -num_retries 1
>
> 2022/08/24 16:40:53 Transferring SMBIOS tables, attempt 1/1
>
> 2022/08/24 16:40:53 BlobGetCount
>
> 2022/08/24 16:40:53 ctransferSmbiosData - total blobCount=4
>
> 2022/08/24 16:40:53 BlobEnumerate
>
> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/hash
>
> 2022/08/24 16:40:53 BlobEnumerate
>
> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/image
>
> 2022/08/24 16:40:53 BlobEnumerate
>
> 2022/08/24 16:40:53 ctransferSmbiosData id=/smbios
>
> 2022/08/24 16:40:53 BlobOpen
>
> 2022/08/24 16:40:53 BlobWrite
>
> 2022/08/24 16:41:03 ReceiveResponse - failed to read rawconn: i/o timeout
>
> 2022/08/24 16:41:03 BlobClose
>
> 2022/08/24 16:41:13 ReceiveResponse - failed to read rawconn: i/o timeout
>
> 2022/08/24 16:41:13 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
>
> ==============
>
>
>
> === BMC-side ===
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: Registering OEM:[0X00C2CF], Cmd:[0X80] for Blob Commands
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries - Enter
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwareblob.so
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: config loaded: /flash/image
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libsmbiosstore.so.0
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler - createHandler
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/liblogblob.so
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libversionblob.so
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwarecleanupblob.so
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries – Exit
>
> …
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=0
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::getBlobIds - blobId=/smbios
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Exit
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/hash
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/image
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/smbios
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=2
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: openBlob path=/smbios
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Exit
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Exit
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=6
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Enter
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Enter
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Exit
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Exit
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand (replyLength==0) - Exit
>
> ==============
>
>
>
> Regards,
>
> Chris Chen
>
> ________________________________
>
> 寄件者: Brandon Kim <brandonkim@google.com>
> 寄件日期: 2022年8月24日 上午 12:43
> 收件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> 副本: Jie Yang <jjy@google.com>; openbmc <openbmc@lists.ozlabs.org>
> 主旨: Re: Read smbios2 file failed
>
>
>
> !-------------------------------------------------------------------|
>
>   This email was sent from someone outside of Flex. Do not
>   click on any links, reply or open attachments unless you
>   recognize the sender and know the content is safe. If
>   suspicious, report it to spamsample@flex.com.
> |-------------------------------------------------------------------!
>
> Hi Chris,
>
> Yes, running the go program you compile and running smbios_transfer
> binary as you did, should do what you expect. However, there is a
> PACKAGE_CONFIG you will have to append for the ipmi-blob side of
> things to work:
>
> Please try building with the following line in your meta layer's
> recipes-phosphor/smbios/smbios-mdr_%.bbappend
>
> ```
> PACKAGECONFIG:append = " smbios-ipmi-blob"
> ```
>
> Cheers,
> Brandon
>
>
> On Tue, Aug 23, 2022 at 12:40 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> >
> > Hi Brandon and Jie,
> >
> > I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. And according to Jie's clue (can send the smbios tables to BMC either through LinuxBoot or host), and then I saw both of you were contributing to the "https://urldefense.com/v3/__https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS55JUTxghw$  ". Therefore, I have some questions about this, could you help to answer them?
> >
> > I'm assuming that I can build "smbios_transfer" command and execute it on the Host-side (with installed Ubuntu 20.04), am i correct?
> >
> > In fact, I'm not familiar with u-root and GO language. However, after referring to some websites to install GO and download u-root, I for now have built the cmd out and run it on my Host. Unfortunately, the result looks like failed.
> > ===
> > $ sudo ./smbios_transfer
> > 2022/08/23 14:47:14 Transferring SMBIOS tables, attempt 1/2
> > 2022/08/23 14:47:34 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
> > 2022/08/23 14:47:34 Transferring SMBIOS tables, attempt 2/2
> > 2022/08/23 14:47:54 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
> > ===
> >
> > Do you have any suggestions on this error?
> >
> > ps. I'm sure the IPMI BT interface is workable.
> >
> > On the BMC-side, I just need to enable smbios-mdr package, correct? or anything else?
> >
> >
> > Thanks.
> >
> > Regards,
> > Chris Chen
> >
> > ________________________________
> > 寄件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> > 寄件日期: 2022年8月19日 下午 05:50
> > 收件者: Thang Nguyen <thang@amperemail.onmicrosoft.com>; Jie Yang <jjy@google.com>
> > 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> > 主旨: 回覆: Read smbios2 file failed
> >
> > Hello everyone,
> >
> > I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. But, after reviewing all your discussions, I still have no idea how to enable the feature. Could you help to share more details with me? for example,
> >
> > How to generate a raw SMBIOS table with MDRv2 header? (like using "dmidecode --dump-bin" and what else?)
> > How do start sending SMBIOS binary file at Host-side? (As I know, the FW update mechanism through IPMI blob would need to build a host-tool, named burn-my-bmc, on the Host and then run the tool to start image data transformation. Does the "smbios-ipmi-blobs" with the same method?)
> >
> >
> > p.s. The OS running on the Host is Ubuntu 20.04.
> >
> > Thanks.
> >
> > Regards,
> > Chris Chen
> >
> > ________________________________
> > 寄件者: openbmc <openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org> 代表 Thang Nguyen <thang@amperemail.onmicrosoft.com>
> > 寄件日期: 2021年9月17日 下午 09:40
> > 收件者: Jie Yang <jjy@google.com>
> > 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> > 主旨: Re: Read smbios2 file failed
> >
> >
> > Thanks Jia for your information
> >
> > On 17/09/2021 05:36, Jie Yang wrote:
> >
> > Hi,
> >
> > Actually I added an ipmi blob interface to smbios-mdr https://urldefense.com/v3/__https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54qpIAumA$  . With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code https://urldefense.com/v3/__https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54GUWKtiw$  . Writing and committing to this blob will generate the MDR header.
> >
> > -Jie
> >
> > On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <thang@amperemail.onmicrosoft.com> wrote:
> >
> > Thanks Tim, Mike and Andrei for very useful information. We can make it
> > work by adding MDRv2 header.
> >
> > I am finding some information about the IPMI blobs commands. I can see
> > some notes at
> >
> > https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57DJil0FA$
> >
> > https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56DlU_SCA$
> >
> > But I have not found more description about the IPMI blob commands like
> > NetFn, Func, ... that I can send a file from Host to BMC. Do you have
> > any information about them?
> >
> >
> > Thanks,
> >
> > Thang Q. Nguyen
> >
> > On 16/09/2021 09:40, CS20 CHLi30 wrote:
> > > Hi Thang,
> > > Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
> > >
> > > You can refer this sysfs-firmware-dmi-tables as below:
> > >
> > > The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
> > > The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
> > > The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
> > >
> > > The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
> > > The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
> > >
> > > The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
> > > /sys/firmware/dmi/tables/smbios_entry_point
> > > /sys/firmware/dmi/tables/DMI
> > >
> > > Best regards,
> > > Tim
> > >
> > > -----Original Message-----
> > > From: openbmc [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On Behalf Of Garrett, Mike (HPE Server Firmware)
> > > Sent: Wednesday, September 15, 2021 9:19 PM
> > > To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc <openbmc@lists.ozlabs.org>
> > > Subject: RE: Read smbios2 file failed
> > >
> > > We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$   iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
> > >
> > > It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
> > >
> > > Mike
> > >
> > >> -----Original Message-----
> > >> From: openbmc <openbmc-
> > >> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
> > >> Kartashev
> > >> Sent: Wednesday, September 15, 2021 3:17 AM
> > >> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
> > >> <openbmc@lists.ozlabs.org>
> > >> Subject: Re: Read smbios2 file failed
> > >>
> > >> I don't know what is format of "dmidecode --dump-bin", but if it just
> > >> raw dump of smbios then you only need to add mdr header.
> > >>
> > >> See answer for the same question here:
> > >> INVALID URI REMOVED
> > >> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
> > >> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
> > >>
> > >> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> > >>> Hi Andrei,
> > >>>
> > >>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> > >>> As
> > >>> the data for smbios-mdr does not follow this, do you know about the
> > >>> document or any information I can reference to prepare data to send
> > >>> to BMC??
> > >>>
> > >>>
> > >>> Best Regards,
> > >>>
> > >>> Thang Q. Nguyen
> > >>>
> > >>> On 14/09/2021 15:51, Andrei Kartashev wrote:
> > >>>> No, it is not same as "dmidecode --dump-bin".
> > >>>>
> > >>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> > >>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
> > >>>>>> You need to somehow deliver smbios data image to BMC. This
> > >>>>>> means, your BIOS should implementat some logic to transfer
> > >>>>>> this data.
> > >>>>>> For BMC side see example here:
> > >>>>>> https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57ySTDXQQ$
> > >>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
> > >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
> > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
> > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
> > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
> > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
> > >> oem/blob/master/src/smbios
> > >>>>>> mdrv2handler.cpp
> > >>>>> Hi Andrei,
> > >>>>>
> > >>>>> What is the format of smbios data to transfer to BMC? Is it the
> > >>>>> same content of "dmidecode --dump-bin" command from Host Linux?
> > >> or
> > >>>>> anything special in formatting the content to send?
> > >>>>>
> > >>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> > >>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
> > >>>>>>> smbios-mdr repository and I have error:
> > >>>>>>>
> > >>>>>>> Read data from flash error - Open MDRV2 table file failure
> > >>>>>>>
> > >>>>>>> There isnt file in /var/lib/smbios/smbios2
> > >>>>>>>
> > >>>>>>> How I can resolve this problem?
> > >>>>>>> Help me please!!!
> > >>
> > >> --
> > >> Best regards,
> > >> Andrei Kartashev
> > >>
> > > ________________________________
> > > ________________________________
> > >   The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
> >
> > Legal Disclaimer :
> > The information contained in this message may be privileged and confidential.
> > It is intended to be read only by the individual or entity to whom it is addressed
> > or by their designee. If the reader of this message is not the intended recipient,
> > you are on notice that any distribution of this message, in any form,
> > is strictly prohibited. If you have received this message in error,
> > please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2022-08-24 16:37                             ` Brandon Kim
@ 2022-08-29  3:51                               ` Thang Q. Nguyen
  2022-08-29 17:56                                 ` Brandon Kim
  2022-08-30  7:39                               ` Chris Chen (TPI)
  1 sibling, 1 reply; 21+ messages in thread
From: Thang Q. Nguyen @ 2022-08-29  3:51 UTC (permalink / raw)
  To: openbmc

Hi,

Instead of using  smbios_transfer in u-root, what is the IPMI raw 
command to send blob data to BMC?


Thanks,

Thang Q. Nguyen

On 24/08/2022 23:37, Brandon Kim wrote:
> Hi Chris, thanks for adding more debug messages.
>
> We don't see this failure.. I'm guessing we're 100% sure that IPMI is
> not an issue here (I think not, since we're able to enumerate the
> blobs)? Could you check to see if the open was actually successful and
> that it was written with the correct flags?
>
> Could you also ensure you're at the very latest SRCREV of OpenBMC as well?
>
> Thanks,
> Brandon
>
> On Wed, Aug 24, 2022 at 2:25 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>> Hi Brandon and Jie,
>>
>>
>>
>> I think I have added "smbios-ipmi-blob" library and also updated the SRCREV to the latest in the smbios-mdr_git.bbappend file.
>>
>>
>>
>> So, I added some debug messages in the "phosphor-ipmi-blobs" and the "u-root" repos respectively. I figured out one weird thing that is the BMC-side doesn't receive the "bmcBlobWrite" command, and then Host-side gets failed due to no response. Following are the messages I captured, could you help to have a look at it and give some clues? Thank you.
>>
>>
>>
>> === Host-side ===
>>
>> $ sudo ./smbios_transfer -num_retries 1
>>
>> 2022/08/24 16:40:53 Transferring SMBIOS tables, attempt 1/1
>>
>> 2022/08/24 16:40:53 BlobGetCount
>>
>> 2022/08/24 16:40:53 ctransferSmbiosData - total blobCount=4
>>
>> 2022/08/24 16:40:53 BlobEnumerate
>>
>> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/hash
>>
>> 2022/08/24 16:40:53 BlobEnumerate
>>
>> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/image
>>
>> 2022/08/24 16:40:53 BlobEnumerate
>>
>> 2022/08/24 16:40:53 ctransferSmbiosData id=/smbios
>>
>> 2022/08/24 16:40:53 BlobOpen
>>
>> 2022/08/24 16:40:53 BlobWrite
>>
>> 2022/08/24 16:41:03 ReceiveResponse - failed to read rawconn: i/o timeout
>>
>> 2022/08/24 16:41:03 BlobClose
>>
>> 2022/08/24 16:41:13 ReceiveResponse - failed to read rawconn: i/o timeout
>>
>> 2022/08/24 16:41:13 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
>>
>> ==============
>>
>>
>>
>> === BMC-side ===
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: Registering OEM:[0X00C2CF], Cmd:[0X80] for Blob Commands
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries - Enter
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwareblob.so
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: config loaded: /flash/image
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libsmbiosstore.so.0
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler - createHandler
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/liblogblob.so
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libversionblob.so
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwarecleanupblob.so
>>
>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries – Exit
>>
>> …
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=0
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Enter
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::getBlobIds - blobId=/smbios
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Exit
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/hash
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/image
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/smbios
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=2
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Enter
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: openBlob path=/smbios
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Enter
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Exit
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Exit
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>
>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=6
>>
>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Enter
>>
>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Enter
>>
>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Exit
>>
>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Exit
>>
>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand (replyLength==0) - Exit
>>
>> ==============
>>
>>
>>
>> Regards,
>>
>> Chris Chen
>>
>> ________________________________
>>
>> 寄件者: Brandon Kim <brandonkim@google.com>
>> 寄件日期: 2022年8月24日 上午 12:43
>> 收件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
>> 副本: Jie Yang <jjy@google.com>; openbmc <openbmc@lists.ozlabs.org>
>> 主旨: Re: Read smbios2 file failed
>>
>>
>>
>> !-------------------------------------------------------------------|
>>
>>    This email was sent from someone outside of Flex. Do not
>>    click on any links, reply or open attachments unless you
>>    recognize the sender and know the content is safe. If
>>    suspicious, report it to spamsample@flex.com.
>> |-------------------------------------------------------------------!
>>
>> Hi Chris,
>>
>> Yes, running the go program you compile and running smbios_transfer
>> binary as you did, should do what you expect. However, there is a
>> PACKAGE_CONFIG you will have to append for the ipmi-blob side of
>> things to work:
>>
>> Please try building with the following line in your meta layer's
>> recipes-phosphor/smbios/smbios-mdr_%.bbappend
>>
>> ```
>> PACKAGECONFIG:append = " smbios-ipmi-blob"
>> ```
>>
>> Cheers,
>> Brandon
>>
>>
>> On Tue, Aug 23, 2022 at 12:40 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>>> Hi Brandon and Jie,
>>>
>>> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. And according to Jie's clue (can send the smbios tables to BMC either through LinuxBoot or host), and then I saw both of you were contributing to the "https://urldefense.com/v3/__https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS55JUTxghw$  ". Therefore, I have some questions about this, could you help to answer them?
>>>
>>> I'm assuming that I can build "smbios_transfer" command and execute it on the Host-side (with installed Ubuntu 20.04), am i correct?
>>>
>>> In fact, I'm not familiar with u-root and GO language. However, after referring to some websites to install GO and download u-root, I for now have built the cmd out and run it on my Host. Unfortunately, the result looks like failed.
>>> ===
>>> $ sudo ./smbios_transfer
>>> 2022/08/23 14:47:14 Transferring SMBIOS tables, attempt 1/2
>>> 2022/08/23 14:47:34 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
>>> 2022/08/23 14:47:34 Transferring SMBIOS tables, attempt 2/2
>>> 2022/08/23 14:47:54 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
>>> ===
>>>
>>> Do you have any suggestions on this error?
>>>
>>> ps. I'm sure the IPMI BT interface is workable.
>>>
>>> On the BMC-side, I just need to enable smbios-mdr package, correct? or anything else?
>>>
>>>
>>> Thanks.
>>>
>>> Regards,
>>> Chris Chen
>>>
>>> ________________________________
>>> 寄件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
>>> 寄件日期: 2022年8月19日 下午 05:50
>>> 收件者: Thang Nguyen <thang@amperemail.onmicrosoft.com>; Jie Yang <jjy@google.com>
>>> 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
>>> 主旨: 回覆: Read smbios2 file failed
>>>
>>> Hello everyone,
>>>
>>> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. But, after reviewing all your discussions, I still have no idea how to enable the feature. Could you help to share more details with me? for example,
>>>
>>> How to generate a raw SMBIOS table with MDRv2 header? (like using "dmidecode --dump-bin" and what else?)
>>> How do start sending SMBIOS binary file at Host-side? (As I know, the FW update mechanism through IPMI blob would need to build a host-tool, named burn-my-bmc, on the Host and then run the tool to start image data transformation. Does the "smbios-ipmi-blobs" with the same method?)
>>>
>>>
>>> p.s. The OS running on the Host is Ubuntu 20.04.
>>>
>>> Thanks.
>>>
>>> Regards,
>>> Chris Chen
>>>
>>> ________________________________
>>> 寄件者: openbmc <openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org> 代表 Thang Nguyen <thang@amperemail.onmicrosoft.com>
>>> 寄件日期: 2021年9月17日 下午 09:40
>>> 收件者: Jie Yang <jjy@google.com>
>>> 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
>>> 主旨: Re: Read smbios2 file failed
>>>
>>>
>>> Thanks Jia for your information
>>>
>>> On 17/09/2021 05:36, Jie Yang wrote:
>>>
>>> Hi,
>>>
>>> Actually I added an ipmi blob interface to smbios-mdr https://urldefense.com/v3/__https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54qpIAumA$  . With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code https://urldefense.com/v3/__https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54GUWKtiw$  . Writing and committing to this blob will generate the MDR header.
>>>
>>> -Jie
>>>
>>> On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <thang@amperemail.onmicrosoft.com> wrote:
>>>
>>> Thanks Tim, Mike and Andrei for very useful information. We can make it
>>> work by adding MDRv2 header.
>>>
>>> I am finding some information about the IPMI blobs commands. I can see
>>> some notes at
>>>
>>> https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57DJil0FA$
>>>
>>> https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56DlU_SCA$
>>>
>>> But I have not found more description about the IPMI blob commands like
>>> NetFn, Func, ... that I can send a file from Host to BMC. Do you have
>>> any information about them?
>>>
>>>
>>> Thanks,
>>>
>>> Thang Q. Nguyen
>>>
>>> On 16/09/2021 09:40, CS20 CHLi30 wrote:
>>>> Hi Thang,
>>>> Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
>>>>
>>>> You can refer this sysfs-firmware-dmi-tables as below:
>>>>
>>>> The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
>>>> The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
>>>> The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
>>>>
>>>> The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
>>>> The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
>>>>
>>>> The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
>>>> /sys/firmware/dmi/tables/smbios_entry_point
>>>> /sys/firmware/dmi/tables/DMI
>>>>
>>>> Best regards,
>>>> Tim
>>>>
>>>> -----Original Message-----
>>>> From: openbmc [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On Behalf Of Garrett, Mike (HPE Server Firmware)
>>>> Sent: Wednesday, September 15, 2021 9:19 PM
>>>> To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc <openbmc@lists.ozlabs.org>
>>>> Subject: RE: Read smbios2 file failed
>>>>
>>>> We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$   iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
>>>>
>>>> It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
>>>>
>>>> Mike
>>>>
>>>>> -----Original Message-----
>>>>> From: openbmc <openbmc-
>>>>> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
>>>>> Kartashev
>>>>> Sent: Wednesday, September 15, 2021 3:17 AM
>>>>> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
>>>>> <openbmc@lists.ozlabs.org>
>>>>> Subject: Re: Read smbios2 file failed
>>>>>
>>>>> I don't know what is format of "dmidecode --dump-bin", but if it just
>>>>> raw dump of smbios then you only need to add mdr header.
>>>>>
>>>>> See answer for the same question here:
>>>>> INVALID URI REMOVED
>>>>> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
>>>>> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
>>>>>
>>>>> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
>>>>>> Hi Andrei,
>>>>>>
>>>>>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
>>>>>> As
>>>>>> the data for smbios-mdr does not follow this, do you know about the
>>>>>> document or any information I can reference to prepare data to send
>>>>>> to BMC??
>>>>>>
>>>>>>
>>>>>> Best Regards,
>>>>>>
>>>>>> Thang Q. Nguyen
>>>>>>
>>>>>> On 14/09/2021 15:51, Andrei Kartashev wrote:
>>>>>>> No, it is not same as "dmidecode --dump-bin".
>>>>>>>
>>>>>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
>>>>>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
>>>>>>>>> You need to somehow deliver smbios data image to BMC. This
>>>>>>>>> means, your BIOS should implementat some logic to transfer
>>>>>>>>> this data.
>>>>>>>>> For BMC side see example here:
>>>>>>>>> https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57ySTDXQQ$
>>>>>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
>>>>>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
>>>>>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
>>>>>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
>>>>>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
>>>>>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
>>>>> oem/blob/master/src/smbios
>>>>>>>>> mdrv2handler.cpp
>>>>>>>> Hi Andrei,
>>>>>>>>
>>>>>>>> What is the format of smbios data to transfer to BMC? Is it the
>>>>>>>> same content of "dmidecode --dump-bin" command from Host Linux?
>>>>> or
>>>>>>>> anything special in formatting the content to send?
>>>>>>>>
>>>>>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
>>>>>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
>>>>>>>>>> smbios-mdr repository and I have error:
>>>>>>>>>>
>>>>>>>>>> Read data from flash error - Open MDRV2 table file failure
>>>>>>>>>>
>>>>>>>>>> There isnt file in /var/lib/smbios/smbios2
>>>>>>>>>>
>>>>>>>>>> How I can resolve this problem?
>>>>>>>>>> Help me please!!!
>>>>> --
>>>>> Best regards,
>>>>> Andrei Kartashev
>>>>>
>>>> ________________________________
>>>> ________________________________
>>>>    The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
>>> Legal Disclaimer :
>>> The information contained in this message may be privileged and confidential.
>>> It is intended to be read only by the individual or entity to whom it is addressed
>>> or by their designee. If the reader of this message is not the intended recipient,
>>> you are on notice that any distribution of this message, in any form,
>>> is strictly prohibited. If you have received this message in error,
>>> please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2022-08-29  3:51                               ` Thang Q. Nguyen
@ 2022-08-29 17:56                                 ` Brandon Kim
  2022-08-30  1:09                                   ` Thang Q. Nguyen
  0 siblings, 1 reply; 21+ messages in thread
From: Brandon Kim @ 2022-08-29 17:56 UTC (permalink / raw)
  To: Thang Q. Nguyen; +Cc: openbmc

Hi Thang,

Because we use IPMI blob - it's not so easy to list out all the raw
IPMI commands, but it's certainly doable. However, the smbios_transfer
code is the easiest way (and "should" work) to send all the correct
IPMI commands. Are you also facing similar issues?

Thanks,
Brandon


On Sun, Aug 28, 2022 at 8:52 PM Thang Q. Nguyen
<thang@amperemail.onmicrosoft.com> wrote:
>
> Hi,
>
> Instead of using  smbios_transfer in u-root, what is the IPMI raw
> command to send blob data to BMC?
>
>
> Thanks,
>
> Thang Q. Nguyen
>
> On 24/08/2022 23:37, Brandon Kim wrote:
> > Hi Chris, thanks for adding more debug messages.
> >
> > We don't see this failure.. I'm guessing we're 100% sure that IPMI is
> > not an issue here (I think not, since we're able to enumerate the
> > blobs)? Could you check to see if the open was actually successful and
> > that it was written with the correct flags?
> >
> > Could you also ensure you're at the very latest SRCREV of OpenBMC as well?
> >
> > Thanks,
> > Brandon
> >
> > On Wed, Aug 24, 2022 at 2:25 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> >> Hi Brandon and Jie,
> >>
> >>
> >>
> >> I think I have added "smbios-ipmi-blob" library and also updated the SRCREV to the latest in the smbios-mdr_git.bbappend file.
> >>
> >>
> >>
> >> So, I added some debug messages in the "phosphor-ipmi-blobs" and the "u-root" repos respectively. I figured out one weird thing that is the BMC-side doesn't receive the "bmcBlobWrite" command, and then Host-side gets failed due to no response. Following are the messages I captured, could you help to have a look at it and give some clues? Thank you.
> >>
> >>
> >>
> >> === Host-side ===
> >>
> >> $ sudo ./smbios_transfer -num_retries 1
> >>
> >> 2022/08/24 16:40:53 Transferring SMBIOS tables, attempt 1/1
> >>
> >> 2022/08/24 16:40:53 BlobGetCount
> >>
> >> 2022/08/24 16:40:53 ctransferSmbiosData - total blobCount=4
> >>
> >> 2022/08/24 16:40:53 BlobEnumerate
> >>
> >> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/hash
> >>
> >> 2022/08/24 16:40:53 BlobEnumerate
> >>
> >> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/image
> >>
> >> 2022/08/24 16:40:53 BlobEnumerate
> >>
> >> 2022/08/24 16:40:53 ctransferSmbiosData id=/smbios
> >>
> >> 2022/08/24 16:40:53 BlobOpen
> >>
> >> 2022/08/24 16:40:53 BlobWrite
> >>
> >> 2022/08/24 16:41:03 ReceiveResponse - failed to read rawconn: i/o timeout
> >>
> >> 2022/08/24 16:41:03 BlobClose
> >>
> >> 2022/08/24 16:41:13 ReceiveResponse - failed to read rawconn: i/o timeout
> >>
> >> 2022/08/24 16:41:13 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
> >>
> >> ==============
> >>
> >>
> >>
> >> === BMC-side ===
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: Registering OEM:[0X00C2CF], Cmd:[0X80] for Blob Commands
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries - Enter
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwareblob.so
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: config loaded: /flash/image
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libsmbiosstore.so.0
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler - createHandler
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/liblogblob.so
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libversionblob.so
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwarecleanupblob.so
> >>
> >> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries – Exit
> >>
> >> …
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=0
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Enter
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::getBlobIds - blobId=/smbios
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Exit
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >>
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/hash
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >>
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/image
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >>
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/smbios
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >>
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=2
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Enter
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: openBlob path=/smbios
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Enter
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Exit
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Exit
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >>
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >>
> >> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=6
> >>
> >> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Enter
> >>
> >> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Enter
> >>
> >> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Exit
> >>
> >> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Exit
> >>
> >> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand (replyLength==0) - Exit
> >>
> >> ==============
> >>
> >>
> >>
> >> Regards,
> >>
> >> Chris Chen
> >>
> >> ________________________________
> >>
> >> 寄件者: Brandon Kim <brandonkim@google.com>
> >> 寄件日期: 2022年8月24日 上午 12:43
> >> 收件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> >> 副本: Jie Yang <jjy@google.com>; openbmc <openbmc@lists.ozlabs.org>
> >> 主旨: Re: Read smbios2 file failed
> >>
> >>
> >>
> >> !-------------------------------------------------------------------|
> >>
> >>    This email was sent from someone outside of Flex. Do not
> >>    click on any links, reply or open attachments unless you
> >>    recognize the sender and know the content is safe. If
> >>    suspicious, report it to spamsample@flex.com.
> >> |-------------------------------------------------------------------!
> >>
> >> Hi Chris,
> >>
> >> Yes, running the go program you compile and running smbios_transfer
> >> binary as you did, should do what you expect. However, there is a
> >> PACKAGE_CONFIG you will have to append for the ipmi-blob side of
> >> things to work:
> >>
> >> Please try building with the following line in your meta layer's
> >> recipes-phosphor/smbios/smbios-mdr_%.bbappend
> >>
> >> ```
> >> PACKAGECONFIG:append = " smbios-ipmi-blob"
> >> ```
> >>
> >> Cheers,
> >> Brandon
> >>
> >>
> >> On Tue, Aug 23, 2022 at 12:40 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> >>> Hi Brandon and Jie,
> >>>
> >>> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. And according to Jie's clue (can send the smbios tables to BMC either through LinuxBoot or host), and then I saw both of you were contributing to the "https://urldefense.com/v3/__https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS55JUTxghw$  ". Therefore, I have some questions about this, could you help to answer them?
> >>>
> >>> I'm assuming that I can build "smbios_transfer" command and execute it on the Host-side (with installed Ubuntu 20.04), am i correct?
> >>>
> >>> In fact, I'm not familiar with u-root and GO language. However, after referring to some websites to install GO and download u-root, I for now have built the cmd out and run it on my Host. Unfortunately, the result looks like failed.
> >>> ===
> >>> $ sudo ./smbios_transfer
> >>> 2022/08/23 14:47:14 Transferring SMBIOS tables, attempt 1/2
> >>> 2022/08/23 14:47:34 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
> >>> 2022/08/23 14:47:34 Transferring SMBIOS tables, attempt 2/2
> >>> 2022/08/23 14:47:54 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
> >>> ===
> >>>
> >>> Do you have any suggestions on this error?
> >>>
> >>> ps. I'm sure the IPMI BT interface is workable.
> >>>
> >>> On the BMC-side, I just need to enable smbios-mdr package, correct? or anything else?
> >>>
> >>>
> >>> Thanks.
> >>>
> >>> Regards,
> >>> Chris Chen
> >>>
> >>> ________________________________
> >>> 寄件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> >>> 寄件日期: 2022年8月19日 下午 05:50
> >>> 收件者: Thang Nguyen <thang@amperemail.onmicrosoft.com>; Jie Yang <jjy@google.com>
> >>> 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> >>> 主旨: 回覆: Read smbios2 file failed
> >>>
> >>> Hello everyone,
> >>>
> >>> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. But, after reviewing all your discussions, I still have no idea how to enable the feature. Could you help to share more details with me? for example,
> >>>
> >>> How to generate a raw SMBIOS table with MDRv2 header? (like using "dmidecode --dump-bin" and what else?)
> >>> How do start sending SMBIOS binary file at Host-side? (As I know, the FW update mechanism through IPMI blob would need to build a host-tool, named burn-my-bmc, on the Host and then run the tool to start image data transformation. Does the "smbios-ipmi-blobs" with the same method?)
> >>>
> >>>
> >>> p.s. The OS running on the Host is Ubuntu 20.04.
> >>>
> >>> Thanks.
> >>>
> >>> Regards,
> >>> Chris Chen
> >>>
> >>> ________________________________
> >>> 寄件者: openbmc <openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org> 代表 Thang Nguyen <thang@amperemail.onmicrosoft.com>
> >>> 寄件日期: 2021年9月17日 下午 09:40
> >>> 收件者: Jie Yang <jjy@google.com>
> >>> 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> >>> 主旨: Re: Read smbios2 file failed
> >>>
> >>>
> >>> Thanks Jia for your information
> >>>
> >>> On 17/09/2021 05:36, Jie Yang wrote:
> >>>
> >>> Hi,
> >>>
> >>> Actually I added an ipmi blob interface to smbios-mdr https://urldefense.com/v3/__https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54qpIAumA$  . With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code https://urldefense.com/v3/__https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54GUWKtiw$  . Writing and committing to this blob will generate the MDR header.
> >>>
> >>> -Jie
> >>>
> >>> On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <thang@amperemail.onmicrosoft.com> wrote:
> >>>
> >>> Thanks Tim, Mike and Andrei for very useful information. We can make it
> >>> work by adding MDRv2 header.
> >>>
> >>> I am finding some information about the IPMI blobs commands. I can see
> >>> some notes at
> >>>
> >>> https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57DJil0FA$
> >>>
> >>> https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56DlU_SCA$
> >>>
> >>> But I have not found more description about the IPMI blob commands like
> >>> NetFn, Func, ... that I can send a file from Host to BMC. Do you have
> >>> any information about them?
> >>>
> >>>
> >>> Thanks,
> >>>
> >>> Thang Q. Nguyen
> >>>
> >>> On 16/09/2021 09:40, CS20 CHLi30 wrote:
> >>>> Hi Thang,
> >>>> Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
> >>>>
> >>>> You can refer this sysfs-firmware-dmi-tables as below:
> >>>>
> >>>> The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
> >>>> The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
> >>>> The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
> >>>>
> >>>> The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
> >>>> The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
> >>>>
> >>>> The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
> >>>> /sys/firmware/dmi/tables/smbios_entry_point
> >>>> /sys/firmware/dmi/tables/DMI
> >>>>
> >>>> Best regards,
> >>>> Tim
> >>>>
> >>>> -----Original Message-----
> >>>> From: openbmc [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On Behalf Of Garrett, Mike (HPE Server Firmware)
> >>>> Sent: Wednesday, September 15, 2021 9:19 PM
> >>>> To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc <openbmc@lists.ozlabs.org>
> >>>> Subject: RE: Read smbios2 file failed
> >>>>
> >>>> We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$   iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
> >>>>
> >>>> It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
> >>>>
> >>>> Mike
> >>>>
> >>>>> -----Original Message-----
> >>>>> From: openbmc <openbmc-
> >>>>> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
> >>>>> Kartashev
> >>>>> Sent: Wednesday, September 15, 2021 3:17 AM
> >>>>> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
> >>>>> <openbmc@lists.ozlabs.org>
> >>>>> Subject: Re: Read smbios2 file failed
> >>>>>
> >>>>> I don't know what is format of "dmidecode --dump-bin", but if it just
> >>>>> raw dump of smbios then you only need to add mdr header.
> >>>>>
> >>>>> See answer for the same question here:
> >>>>> INVALID URI REMOVED
> >>>>> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
> >>>>> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
> >>>>>
> >>>>> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> >>>>>> Hi Andrei,
> >>>>>>
> >>>>>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> >>>>>> As
> >>>>>> the data for smbios-mdr does not follow this, do you know about the
> >>>>>> document or any information I can reference to prepare data to send
> >>>>>> to BMC??
> >>>>>>
> >>>>>>
> >>>>>> Best Regards,
> >>>>>>
> >>>>>> Thang Q. Nguyen
> >>>>>>
> >>>>>> On 14/09/2021 15:51, Andrei Kartashev wrote:
> >>>>>>> No, it is not same as "dmidecode --dump-bin".
> >>>>>>>
> >>>>>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> >>>>>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
> >>>>>>>>> You need to somehow deliver smbios data image to BMC. This
> >>>>>>>>> means, your BIOS should implementat some logic to transfer
> >>>>>>>>> this data.
> >>>>>>>>> For BMC side see example here:
> >>>>>>>>> https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57ySTDXQQ$
> >>>>>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
> >>>>>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
> >>>>>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
> >>>>>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
> >>>>>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
> >>>>>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
> >>>>> oem/blob/master/src/smbios
> >>>>>>>>> mdrv2handler.cpp
> >>>>>>>> Hi Andrei,
> >>>>>>>>
> >>>>>>>> What is the format of smbios data to transfer to BMC? Is it the
> >>>>>>>> same content of "dmidecode --dump-bin" command from Host Linux?
> >>>>> or
> >>>>>>>> anything special in formatting the content to send?
> >>>>>>>>
> >>>>>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> >>>>>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
> >>>>>>>>>> smbios-mdr repository and I have error:
> >>>>>>>>>>
> >>>>>>>>>> Read data from flash error - Open MDRV2 table file failure
> >>>>>>>>>>
> >>>>>>>>>> There isnt file in /var/lib/smbios/smbios2
> >>>>>>>>>>
> >>>>>>>>>> How I can resolve this problem?
> >>>>>>>>>> Help me please!!!
> >>>>> --
> >>>>> Best regards,
> >>>>> Andrei Kartashev
> >>>>>
> >>>> ________________________________
> >>>> ________________________________
> >>>>    The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
> >>> Legal Disclaimer :
> >>> The information contained in this message may be privileged and confidential.
> >>> It is intended to be read only by the individual or entity to whom it is addressed
> >>> or by their designee. If the reader of this message is not the intended recipient,
> >>> you are on notice that any distribution of this message, in any form,
> >>> is strictly prohibited. If you have received this message in error,
> >>> please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2022-08-29 17:56                                 ` Brandon Kim
@ 2022-08-30  1:09                                   ` Thang Q. Nguyen
  0 siblings, 0 replies; 21+ messages in thread
From: Thang Q. Nguyen @ 2022-08-30  1:09 UTC (permalink / raw)
  To: Brandon Kim; +Cc: openbmc

[-- Attachment #1: Type: text/plain, Size: 21065 bytes --]

Hi Bradon,

smbios_transfer in u-root is from linuxboot in which not all systems 
have. I just want to evaluate if it can be supported in other 
environment like EDKII via inband IPMI (for example SSIF). However, I 
can still not be able to send any raw command (might be missing some things)

I don't need to have all commands but just 1 or 2 commands like 
BmcBlobGetCount or BmcBlobEnumerate so we can have a quick check.


Best Regards,

Thang Q. Nguyen

On 30/08/2022 00:56, Brandon Kim wrote:
> [EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please be mindful of safe email handling and proprietary information protection practices.]
>
>
> Hi Thang,
>
> Because we use IPMI blob - it's not so easy to list out all the raw
> IPMI commands, but it's certainly doable. However, the smbios_transfer
> code is the easiest way (and "should" work) to send all the correct
> IPMI commands. Are you also facing similar issues?
>
> Thanks,
> Brandon
>
>
> On Sun, Aug 28, 2022 at 8:52 PM Thang Q. Nguyen
> <thang@amperemail.onmicrosoft.com>  wrote:
>> Hi,
>>
>> Instead of using  smbios_transfer in u-root, what is the IPMI raw
>> command to send blob data to BMC?
>>
>>
>> Thanks,
>>
>> Thang Q. Nguyen
>>
>> On 24/08/2022 23:37, Brandon Kim wrote:
>>> Hi Chris, thanks for adding more debug messages.
>>>
>>> We don't see this failure.. I'm guessing we're 100% sure that IPMI is
>>> not an issue here (I think not, since we're able to enumerate the
>>> blobs)? Could you check to see if the open was actually successful and
>>> that it was written with the correct flags?
>>>
>>> Could you also ensure you're at the very latest SRCREV of OpenBMC as well?
>>>
>>> Thanks,
>>> Brandon
>>>
>>> On Wed, Aug 24, 2022 at 2:25 AM Chris Chen (TPI)<Chris.Chen3@flex.com>  wrote:
>>>> Hi Brandon and Jie,
>>>>
>>>>
>>>>
>>>> I think I have added "smbios-ipmi-blob" library and also updated the SRCREV to the latest in the smbios-mdr_git.bbappend file.
>>>>
>>>>
>>>>
>>>> So, I added some debug messages in the "phosphor-ipmi-blobs" and the "u-root" repos respectively. I figured out one weird thing that is the BMC-side doesn't receive the "bmcBlobWrite" command, and then Host-side gets failed due to no response. Following are the messages I captured, could you help to have a look at it and give some clues? Thank you.
>>>>
>>>>
>>>>
>>>> === Host-side ===
>>>>
>>>> $ sudo ./smbios_transfer -num_retries 1
>>>>
>>>> 2022/08/24 16:40:53 Transferring SMBIOS tables, attempt 1/1
>>>>
>>>> 2022/08/24 16:40:53 BlobGetCount
>>>>
>>>> 2022/08/24 16:40:53 ctransferSmbiosData - total blobCount=4
>>>>
>>>> 2022/08/24 16:40:53 BlobEnumerate
>>>>
>>>> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/hash
>>>>
>>>> 2022/08/24 16:40:53 BlobEnumerate
>>>>
>>>> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/image
>>>>
>>>> 2022/08/24 16:40:53 BlobEnumerate
>>>>
>>>> 2022/08/24 16:40:53 ctransferSmbiosData id=/smbios
>>>>
>>>> 2022/08/24 16:40:53 BlobOpen
>>>>
>>>> 2022/08/24 16:40:53 BlobWrite
>>>>
>>>> 2022/08/24 16:41:03 ReceiveResponse - failed to read rawconn: i/o timeout
>>>>
>>>> 2022/08/24 16:41:03 BlobClose
>>>>
>>>> 2022/08/24 16:41:13 ReceiveResponse - failed to read rawconn: i/o timeout
>>>>
>>>> 2022/08/24 16:41:13 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
>>>>
>>>> ==============
>>>>
>>>>
>>>>
>>>> === BMC-side ===
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: Registering OEM:[0X00C2CF], Cmd:[0X80] for Blob Commands
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries - Enter
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwareblob.so
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: config loaded: /flash/image
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libsmbiosstore.so.0
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler - createHandler
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/liblogblob.so
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libversionblob.so
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries dlopen:/usr/lib/blob-ipmid/libfirmwarecleanupblob.so
>>>>
>>>> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries – Exit
>>>>
>>>> …
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=0
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]:Blob::getBlobCount  - Enter
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::getBlobIds - blobId=/smbios
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]:Blob::getBlobCount  - Exit
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>>>
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/hash
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>>>
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/flash/image
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>>>
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=1
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - ids=/smbios
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>>>
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=2
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]:Blob::openBlob  - Enter
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: openBlob path=/smbios
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Enter
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - Exit
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]:Blob::openBlob  - Exit
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>>>>
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>>>>
>>>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd num=6
>>>>
>>>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]:Blob::closeBlob  - Enter
>>>>
>>>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Enter
>>>>
>>>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - Exit
>>>>
>>>> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]:Blob::closeBlob  - Exit
>>>>
>>>> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand (replyLength==0) - Exit
>>>>
>>>> ==============
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Chris Chen
>>>>
>>>> ________________________________
>>>>
>>>> 寄件者: Brandon Kim<brandonkim@google.com>
>>>> 寄件日期: 2022年8月24日 上午 12:43
>>>> 收件者: Chris Chen (TPI)<Chris.Chen3@flex.com>
>>>> 副本: Jie Yang<jjy@google.com>; openbmc<openbmc@lists.ozlabs.org>
>>>> 主旨: Re: Read smbios2 file failed
>>>>
>>>>
>>>>
>>>> !-------------------------------------------------------------------|
>>>>
>>>>     This email was sent from someone outside of Flex. Do not
>>>>     click on any links, reply or open attachments unless you
>>>>     recognize the sender and know the content is safe. If
>>>>     suspicious, report it tospamsample@flex.com.
>>>> |-------------------------------------------------------------------!
>>>>
>>>> Hi Chris,
>>>>
>>>> Yes, running the go program you compile and running smbios_transfer
>>>> binary as you did, should do what you expect. However, there is a
>>>> PACKAGE_CONFIG you will have to append for the ipmi-blob side of
>>>> things to work:
>>>>
>>>> Please try building with the following line in your meta layer's
>>>> recipes-phosphor/smbios/smbios-mdr_%.bbappend
>>>>
>>>> ```
>>>> PACKAGECONFIG:append = " smbios-ipmi-blob"
>>>> ```
>>>>
>>>> Cheers,
>>>> Brandon
>>>>
>>>>
>>>> On Tue, Aug 23, 2022 at 12:40 AM Chris Chen (TPI)<Chris.Chen3@flex.com>  wrote:
>>>>> Hi Brandon and Jie,
>>>>>
>>>>> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. And according to Jie's clue (can send the smbios tables to BMC either through LinuxBoot or host), and then I saw both of you were contributing to the"https://urldefense.com/v3/__https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS55JUTxghw$ 
>>>>> ". Therefore, I have some questions about this, could you help to answer them?
>>>>>
>>>>> I'm assuming that I can build "smbios_transfer" command and execute it on the Host-side (with installed Ubuntu 20.04), am i correct?
>>>>>
>>>>> In fact, I'm not familiar with u-root and GO language. However, after referring to some websites to install GO and download u-root, I for now have built the cmd out and run it on my Host. Unfortunately, the result looks like failed.
>>>>> ===
>>>>> $ sudo ./smbios_transfer
>>>>> 2022/08/23 14:47:14 Transferring SMBIOS tables, attempt 1/2
>>>>> 2022/08/23 14:47:34 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
>>>>> 2022/08/23 14:47:34 Transferring SMBIOS tables, attempt 2/2
>>>>> 2022/08/23 14:47:54 Error tranferring SMBIOS tables over IPMI: failed to write and commit blob /smbios: IPMI BlobWrite /smbios failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: failed to read rawconn: i/o timeout
>>>>> ===
>>>>>
>>>>> Do you have any suggestions on this error?
>>>>>
>>>>> ps. I'm sure the IPMI BT interface is workable.
>>>>>
>>>>> On the BMC-side, I just need to enable smbios-mdr package, correct? or anything else?
>>>>>
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Regards,
>>>>> Chris Chen
>>>>>
>>>>> ________________________________
>>>>> 寄件者: Chris Chen (TPI)<Chris.Chen3@flex.com>
>>>>> 寄件日期: 2022年8月19日 下午 05:50
>>>>> 收件者: Thang Nguyen<thang@amperemail.onmicrosoft.com>; Jie Yang<jjy@google.com>
>>>>> 副本: Garrett, Mike (HPE Server Firmware)<mike.garrett@hpe.com>; Andrei Kartashev<a.kartashev@yadro.com>; CS20 CHLi30<chli30@nuvoton.com>; openbmc<openbmc@lists.ozlabs.org>
>>>>> 主旨: 回覆: Read smbios2 file failed
>>>>>
>>>>> Hello everyone,
>>>>>
>>>>> I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. But, after reviewing all your discussions, I still have no idea how to enable the feature. Could you help to share more details with me? for example,
>>>>>
>>>>> How to generate a raw SMBIOS table with MDRv2 header? (like using "dmidecode --dump-bin" and what else?)
>>>>> How do start sending SMBIOS binary file at Host-side? (As I know, the FW update mechanism through IPMI blob would need to build a host-tool, named burn-my-bmc, on the Host and then run the tool to start image data transformation. Does the "smbios-ipmi-blobs" with the same method?)
>>>>>
>>>>>
>>>>> p.s. The OS running on the Host is Ubuntu 20.04.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Regards,
>>>>> Chris Chen
>>>>>
>>>>> ________________________________
>>>>> 寄件者: openbmc<openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org>  代表 Thang Nguyen<thang@amperemail.onmicrosoft.com>
>>>>> 寄件日期: 2021年9月17日 下午 09:40
>>>>> 收件者: Jie Yang<jjy@google.com>
>>>>> 副本: Garrett, Mike (HPE Server Firmware)<mike.garrett@hpe.com>; Andrei Kartashev<a.kartashev@yadro.com>; CS20 CHLi30<chli30@nuvoton.com>; openbmc<openbmc@lists.ozlabs.org>
>>>>> 主旨: Re: Read smbios2 file failed
>>>>>
>>>>>
>>>>> Thanks Jia for your information
>>>>>
>>>>> On 17/09/2021 05:36, Jie Yang wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Actually I added an ipmi blob interface to smbios-mdrhttps://urldefense.com/v3/__https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54qpIAumA$   . With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot codehttps://urldefense.com/v3/__https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54GUWKtiw$   . Writing and committing to this blob will generate the MDR header.
>>>>>
>>>>> -Jie
>>>>>
>>>>> On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen<thang@amperemail.onmicrosoft.com>  wrote:
>>>>>
>>>>> Thanks Tim, Mike and Andrei for very useful information. We can make it
>>>>> work by adding MDRv2 header.
>>>>>
>>>>> I am finding some information about the IPMI blobs commands. I can see
>>>>> some notes at
>>>>>
>>>>> https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/master/designs/binarystore-via-blobs.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57DJil0FA$
>>>>>
>>>>> https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56DlU_SCA$
>>>>>
>>>>> But I have not found more description about the IPMI blob commands like
>>>>> NetFn, Func, ... that I can send a file from Host to BMC. Do you have
>>>>> any information about them?
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Thang Q. Nguyen
>>>>>
>>>>> On 16/09/2021 09:40, CS20 CHLi30 wrote:
>>>>>> Hi Thang,
>>>>>> Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
>>>>>>
>>>>>> You can refer this sysfs-firmware-dmi-tables as below:
>>>>>>
>>>>>> The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
>>>>>> The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
>>>>>> The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
>>>>>>
>>>>>> The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
>>>>>> The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
>>>>>>
>>>>>> The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
>>>>>> /sys/firmware/dmi/tables/smbios_entry_point
>>>>>> /sys/firmware/dmi/tables/DMI
>>>>>>
>>>>>> Best regards,
>>>>>> Tim
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: openbmc [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On Behalf Of Garrett, Mike (HPE Server Firmware)
>>>>>> Sent: Wednesday, September 15, 2021 9:19 PM
>>>>>> To: Andrei Kartashev<a.kartashev@yadro.com>; Thang Nguyen<thang@amperemail.onmicrosoft.com>; openbmc<openbmc@lists.ozlabs.org>
>>>>>> Subject: RE: Read smbios2 file failed
>>>>>>
>>>>>> We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$    iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
>>>>>>
>>>>>> It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
>>>>>>
>>>>>> Mike
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: openbmc <openbmc-
>>>>>>> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of Andrei
>>>>>>> Kartashev
>>>>>>> Sent: Wednesday, September 15, 2021 3:17 AM
>>>>>>> To: Thang Nguyen<thang@amperemail.onmicrosoft.com>; openbmc
>>>>>>> <openbmc@lists.ozlabs.org>
>>>>>>> Subject: Re: Read smbios2 file failed
>>>>>>>
>>>>>>> I don't know what is format of "dmidecode --dump-bin", but if it just
>>>>>>> raw dump of smbios then you only need to add mdr header.
>>>>>>>
>>>>>>> See answer for the same question here:
>>>>>>> INVALID URI REMOVED
>>>>>>> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
>>>>>>> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
>>>>>>>
>>>>>>> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
>>>>>>>> Hi Andrei,
>>>>>>>>
>>>>>>>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
>>>>>>>> As
>>>>>>>> the data for smbios-mdr does not follow this, do you know about the
>>>>>>>> document or any information I can reference to prepare data to send
>>>>>>>> to BMC??
>>>>>>>>
>>>>>>>>
>>>>>>>> Best Regards,
>>>>>>>>
>>>>>>>> Thang Q. Nguyen
>>>>>>>>
>>>>>>>> On 14/09/2021 15:51, Andrei Kartashev wrote:
>>>>>>>>> No, it is not same as "dmidecode --dump-bin".
>>>>>>>>>
>>>>>>>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
>>>>>>>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
>>>>>>>>>>> You need to somehow deliver smbios data image to BMC. This
>>>>>>>>>>> means, your BIOS should implementat some logic to transfer
>>>>>>>>>>> this data.
>>>>>>>>>>> For BMC side see example here:
>>>>>>>>>>> https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57ySTDXQQ$
>>>>>>>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
>>>>>>>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
>>>>>>>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
>>>>>>>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
>>>>>>>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
>>>>>>>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
>>>>>>> oem/blob/master/src/smbios
>>>>>>>>>>> mdrv2handler.cpp
>>>>>>>>>> Hi Andrei,
>>>>>>>>>>
>>>>>>>>>> What is the format of smbios data to transfer to BMC? Is it the
>>>>>>>>>> same content of "dmidecode --dump-bin" command from Host Linux?
>>>>>>> or
>>>>>>>>>> anything special in formatting the content to send?
>>>>>>>>>>
>>>>>>>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
>>>>>>>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
>>>>>>>>>>>> smbios-mdr repository and I have error:
>>>>>>>>>>>>
>>>>>>>>>>>> Read data from flash error - Open MDRV2 table file failure
>>>>>>>>>>>>
>>>>>>>>>>>> There isnt file in /var/lib/smbios/smbios2
>>>>>>>>>>>>
>>>>>>>>>>>> How I can resolve this problem?
>>>>>>>>>>>> Help me please!!!
>>>>>>> --
>>>>>>> Best regards,
>>>>>>> Andrei Kartashev
>>>>>>>
>>>>>> ________________________________
>>>>>> ________________________________
>>>>>>     The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
>>>>> Legal Disclaimer :
>>>>> The information contained in this message may be privileged and confidential.
>>>>> It is intended to be read only by the individual or entity to whom it is addressed
>>>>> or by their designee. If the reader of this message is not the intended recipient,
>>>>> you are on notice that any distribution of this message, in any form,
>>>>> is strictly prohibited. If you have received this message in error,
>>>>> please immediately notify the sender and delete or destroy any copy of this message!

[-- Attachment #2: Type: text/html, Size: 29530 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* RE: Read smbios2 file failed
  2022-08-24 16:37                             ` Brandon Kim
  2022-08-29  3:51                               ` Thang Q. Nguyen
@ 2022-08-30  7:39                               ` Chris Chen (TPI)
  2022-08-30 16:22                                 ` Brandon Kim
  1 sibling, 1 reply; 21+ messages in thread
From: Chris Chen (TPI) @ 2022-08-30  7:39 UTC (permalink / raw)
  To: Brandon Kim; +Cc: Jie Yang, openbmc

Hi Brandon,

Sorry for the late response. After digging more details, the cause should be max rx/tx data bytes mismatched between the btbridged process and smbios_transfer command.

In btbridged.c, the BT_MAX_MESSAGE is 64, however, the maxWriteSize is 128 in smbios_transfer.go.

I for now changed the BT_MAX_MESSAGE into 256, then the SMBIOS table is able to be received on the BMC-side successfully.

Thanks.

Regards,
Chris Chen

-----Original Message-----
From: Brandon Kim <brandonkim@google.com> 
Sent: Thursday, August 25, 2022 12:37 AM
To: Chris Chen (TPI) <Chris.Chen3@flex.com>
Cc: Jie Yang <jjy@google.com>; openbmc <openbmc@lists.ozlabs.org>
Subject: Re: Read smbios2 file failed

!-------------------------------------------------------------------|

  This email was sent from someone outside of Flex. Do not
  click on any links, reply or open attachments unless you
  recognize the sender and know the content is safe. If
  suspicious, report it to spamsample@flex.com.
|-------------------------------------------------------------------!

Hi Chris, thanks for adding more debug messages.

We don't see this failure.. I'm guessing we're 100% sure that IPMI is not an issue here (I think not, since we're able to enumerate the blobs)? Could you check to see if the open was actually successful and that it was written with the correct flags?

Could you also ensure you're at the very latest SRCREV of OpenBMC as well?

Thanks,
Brandon

On Wed, Aug 24, 2022 at 2:25 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandon and Jie,
>
>
>
> I think I have added "smbios-ipmi-blob" library and also updated the SRCREV to the latest in the smbios-mdr_git.bbappend file.
>
>
>
> So, I added some debug messages in the "phosphor-ipmi-blobs" and the "u-root" repos respectively. I figured out one weird thing that is the BMC-side doesn't receive the "bmcBlobWrite" command, and then Host-side gets failed due to no response. Following are the messages I captured, could you help to have a look at it and give some clues? Thank you.
>
>
>
> === Host-side ===
>
> $ sudo ./smbios_transfer -num_retries 1
>
> 2022/08/24 16:40:53 Transferring SMBIOS tables, attempt 1/1
>
> 2022/08/24 16:40:53 BlobGetCount
>
> 2022/08/24 16:40:53 ctransferSmbiosData - total blobCount=4
>
> 2022/08/24 16:40:53 BlobEnumerate
>
> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/hash
>
> 2022/08/24 16:40:53 BlobEnumerate
>
> 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/image
>
> 2022/08/24 16:40:53 BlobEnumerate
>
> 2022/08/24 16:40:53 ctransferSmbiosData id=/smbios
>
> 2022/08/24 16:40:53 BlobOpen
>
> 2022/08/24 16:40:53 BlobWrite
>
> 2022/08/24 16:41:03 ReceiveResponse - failed to read rawconn: i/o 
> timeout
>
> 2022/08/24 16:41:03 BlobClose
>
> 2022/08/24 16:41:13 ReceiveResponse - failed to read rawconn: i/o 
> timeout
>
> 2022/08/24 16:41:13 Error tranferring SMBIOS tables over IPMI: failed 
> to write and commit blob /smbios: IPMI BlobWrite /smbios failed: 
> failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed: 
> failed to read rawconn: i/o timeout
>
> ==============
>
>
>
> === BMC-side ===
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: Registering OEM:[0X00C2CF], 
> Cmd:[0X80] for Blob Commands
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries - Enter
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries 
> dlopen:/usr/lib/blob-ipmid/libfirmwareblob.so
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: config loaded: /flash/image
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries 
> dlopen:/usr/lib/blob-ipmid/libsmbiosstore.so.0
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler - 
> createHandler
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries 
> dlopen:/usr/lib/blob-ipmid/liblogblob.so
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries 
> dlopen:/usr/lib/blob-ipmid/libversionblob.so
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries 
> dlopen:/usr/lib/blob-ipmid/libfirmwarecleanupblob.so
>
> Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries – Exit
>
> …
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd 
> num=0
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: 
> SmbiosBlobHandler::getBlobIds - blobId=/smbios
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Exit
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd 
> num=1
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - 
> ids=/flash/hash
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd 
> num=1
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - 
> ids=/flash/image
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd 
> num=1
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId - 
> ids=/smbios
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd 
> num=2
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: openBlob path=/smbios
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - 
> Enter
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open - 
> Exit
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Exit
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
>
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd 
> num=6
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Enter
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - 
> Enter
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close - 
> Exit
>
> Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Exit
>
> Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand 
> (replyLength==0) - Exit
>
> ==============
>
>
>
> Regards,
>
> Chris Chen
>
> ________________________________
>
> 寄件者: Brandon Kim <brandonkim@google.com>
> 寄件日期: 2022年8月24日 上午 12:43
> 收件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> 副本: Jie Yang <jjy@google.com>; openbmc <openbmc@lists.ozlabs.org>
> 主旨: Re: Read smbios2 file failed
>
>
>
> !-------------------------------------------------------------------|
>
>   This email was sent from someone outside of Flex. Do not
>   click on any links, reply or open attachments unless you
>   recognize the sender and know the content is safe. If
>   suspicious, report it to spamsample@flex.com.
> |-------------------------------------------------------------------!
>
> Hi Chris,
>
> Yes, running the go program you compile and running smbios_transfer 
> binary as you did, should do what you expect. However, there is a 
> PACKAGE_CONFIG you will have to append for the ipmi-blob side of 
> things to work:
>
> Please try building with the following line in your meta layer's 
> recipes-phosphor/smbios/smbios-mdr_%.bbappend
>
> ```
> PACKAGECONFIG:append = " smbios-ipmi-blob"
> ```
>
> Cheers,
> Brandon
>
>
> On Tue, Aug 23, 2022 at 12:40 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> >
> > Hi Brandon and Jie,
> >
> > I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. And according to Jie's clue (can send the smbios tables to BMC either through LinuxBoot or host), and then I saw both of you were contributing to the "https://urldefense.com/v3/__https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS55JUTxghw$  ". Therefore, I have some questions about this, could you help to answer them?
> >
> > I'm assuming that I can build "smbios_transfer" command and execute it on the Host-side (with installed Ubuntu 20.04), am i correct?
> >
> > In fact, I'm not familiar with u-root and GO language. However, after referring to some websites to install GO and download u-root, I for now have built the cmd out and run it on my Host. Unfortunately, the result looks like failed.
> > ===
> > $ sudo ./smbios_transfer
> > 2022/08/23 14:47:14 Transferring SMBIOS tables, attempt 1/2
> > 2022/08/23 14:47:34 Error tranferring SMBIOS tables over IPMI: 
> > failed to write and commit blob /smbios: IPMI BlobWrite /smbios 
> > failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios 
> > failed: failed to read rawconn: i/o timeout
> > 2022/08/23 14:47:34 Transferring SMBIOS tables, attempt 2/2
> > 2022/08/23 14:47:54 Error tranferring SMBIOS tables over IPMI: 
> > failed to write and commit blob /smbios: IPMI BlobWrite /smbios 
> > failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios 
> > failed: failed to read rawconn: i/o timeout ===
> >
> > Do you have any suggestions on this error?
> >
> > ps. I'm sure the IPMI BT interface is workable.
> >
> > On the BMC-side, I just need to enable smbios-mdr package, correct? or anything else?
> >
> >
> > Thanks.
> >
> > Regards,
> > Chris Chen
> >
> > ________________________________
> > 寄件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> > 寄件日期: 2022年8月19日 下午 05:50
> > 收件者: Thang Nguyen <thang@amperemail.onmicrosoft.com>; Jie Yang 
> > <jjy@google.com>
> > 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; 
> > Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 
> > <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> > 主旨: 回覆: Read smbios2 file failed
> >
> > Hello everyone,
> >
> > I would like to send the SMBIOS table from Host to BMC by using 
> > "smbios-ipmi-blobs" interface. But, after reviewing all your 
> > discussions, I still have no idea how to enable the feature. Could 
> > you help to share more details with me? for example,
> >
> > How to generate a raw SMBIOS table with MDRv2 header? (like using 
> > "dmidecode --dump-bin" and what else?) How do start sending SMBIOS 
> > binary file at Host-side? (As I know, the FW update mechanism 
> > through IPMI blob would need to build a host-tool, named 
> > burn-my-bmc, on the Host and then run the tool to start image data 
> > transformation. Does the "smbios-ipmi-blobs" with the same method?)
> >
> >
> > p.s. The OS running on the Host is Ubuntu 20.04.
> >
> > Thanks.
> >
> > Regards,
> > Chris Chen
> >
> > ________________________________
> > 寄件者: openbmc <openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org> 
> > 代表 Thang Nguyen <thang@amperemail.onmicrosoft.com>
> > 寄件日期: 2021年9月17日 下午 09:40
> > 收件者: Jie Yang <jjy@google.com>
> > 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>; 
> > Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30 
> > <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> > 主旨: Re: Read smbios2 file failed
> >
> >
> > Thanks Jia for your information
> >
> > On 17/09/2021 05:36, Jie Yang wrote:
> >
> > Hi,
> >
> > Actually I added an ipmi blob interface to smbios-mdr https://urldefense.com/v3/__https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54qpIAumA$  . With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code https://urldefense.com/v3/__https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54GUWKtiw$  . Writing and committing to this blob will generate the MDR header.
> >
> > -Jie
> >
> > On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <thang@amperemail.onmicrosoft.com> wrote:
> >
> > Thanks Tim, Mike and Andrei for very useful information. We can make 
> > it work by adding MDRv2 header.
> >
> > I am finding some information about the IPMI blobs commands. I can 
> > see some notes at
> >
> > https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/mas
> > ter/designs/binarystore-via-blobs.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1w
> > boTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57DJil0FA$
> >
> > https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi
> > -blobs/blob/master/README.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8K
> > bITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56DlU_SCA$
> >
> > But I have not found more description about the IPMI blob commands 
> > like NetFn, Func, ... that I can send a file from Host to BMC. Do 
> > you have any information about them?
> >
> >
> > Thanks,
> >
> > Thang Q. Nguyen
> >
> > On 16/09/2021 09:40, CS20 CHLi30 wrote:
> > > Hi Thang,
> > > Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
> > >
> > > You can refer this sysfs-firmware-dmi-tables as below:
> > >
> > > The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
> > > The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
> > > The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
> > >
> > > The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
> > > The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
> > >
> > > The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
> > > /sys/firmware/dmi/tables/smbios_entry_point
> > > /sys/firmware/dmi/tables/DMI
> > >
> > > Best regards,
> > > Tim
> > >
> > > -----Original Message-----
> > > From: openbmc 
> > > [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On 
> > > Behalf Of Garrett, Mike (HPE Server Firmware)
> > > Sent: Wednesday, September 15, 2021 9:19 PM
> > > To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen 
> > > <thang@amperemail.onmicrosoft.com>; openbmc 
> > > <openbmc@lists.ozlabs.org>
> > > Subject: RE: Read smbios2 file failed
> > >
> > > We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$   iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
> > >
> > > It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
> > >
> > > Mike
> > >
> > >> -----Original Message-----
> > >> From: openbmc <openbmc-
> > >> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of 
> > >> bounces+Andrei
> > >> Kartashev
> > >> Sent: Wednesday, September 15, 2021 3:17 AM
> > >> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc 
> > >> <openbmc@lists.ozlabs.org>
> > >> Subject: Re: Read smbios2 file failed
> > >>
> > >> I don't know what is format of "dmidecode --dump-bin", but if it 
> > >> just raw dump of smbios then you only need to add mdr header.
> > >>
> > >> See answer for the same question here:
> > >> INVALID URI REMOVED
> > >> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
> > >> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
> > >>
> > >> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> > >>> Hi Andrei,
> > >>>
> > >>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> > >>> As
> > >>> the data for smbios-mdr does not follow this, do you know about 
> > >>> the document or any information I can reference to prepare data 
> > >>> to send to BMC??
> > >>>
> > >>>
> > >>> Best Regards,
> > >>>
> > >>> Thang Q. Nguyen
> > >>>
> > >>> On 14/09/2021 15:51, Andrei Kartashev wrote:
> > >>>> No, it is not same as "dmidecode --dump-bin".
> > >>>>
> > >>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> > >>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
> > >>>>>> You need to somehow deliver smbios data image to BMC. This 
> > >>>>>> means, your BIOS should implementat some logic to transfer 
> > >>>>>> this data.
> > >>>>>> For BMC side see example here:
> > >>>>>> https://urldefense.com/v3/__https://apc01.safelinks.protectio
> > >>>>>> n.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!TV2b4jzad6O_WAZA
> > >>>>>> I1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS
> > >>>>>> 57ySTDXQQ$ 
> > >>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchl
> > >>>>>> i
> > >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f2493
> > >>>>>> 1 
> > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnkno
> > >>>>>> w 
> > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I
> > >>>>>> k 
> > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRd
> > >>>>>> P
> > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
> > >> oem/blob/master/src/smbios
> > >>>>>> mdrv2handler.cpp
> > >>>>> Hi Andrei,
> > >>>>>
> > >>>>> What is the format of smbios data to transfer to BMC? Is it 
> > >>>>> the same content of "dmidecode --dump-bin" command from Host Linux?
> > >> or
> > >>>>> anything special in formatting the content to send?
> > >>>>>
> > >>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> > >>>>>>> Hi guys, I am beginner in openbmc I build openbmc with 
> > >>>>>>> smbios-mdr repository and I have error:
> > >>>>>>>
> > >>>>>>> Read data from flash error - Open MDRV2 table file failure
> > >>>>>>>
> > >>>>>>> There isnt file in /var/lib/smbios/smbios2
> > >>>>>>>
> > >>>>>>> How I can resolve this problem?
> > >>>>>>> Help me please!!!
> > >>
> > >> --
> > >> Best regards,
> > >> Andrei Kartashev
> > >>
> > > ________________________________
> > > ________________________________
> > >   The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
> >
> > Legal Disclaimer :
> > The information contained in this message may be privileged and confidential.
> > It is intended to be read only by the individual or entity to whom 
> > it is addressed or by their designee. If the reader of this message 
> > is not the intended recipient, you are on notice that any 
> > distribution of this message, in any form, is strictly prohibited. 
> > If you have received this message in error, please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Read smbios2 file failed
  2022-08-30  7:39                               ` Chris Chen (TPI)
@ 2022-08-30 16:22                                 ` Brandon Kim
  0 siblings, 0 replies; 21+ messages in thread
From: Brandon Kim @ 2022-08-30 16:22 UTC (permalink / raw)
  To: Chris Chen (TPI); +Cc: Jie Yang, openbmc

Hi Thang,

Note that you're able to create just the smbios_transfer go binary and
then run it on the host with `go build` command run from the
smbios_transfer (directory
https://github.com/u-root/u-root/tree/da4f04a4d9dbac7408c8046754eedc10b71a527d/cmds/exp/smbios_transfer).

Hi Chris,

Glad you were able to find the answer! We do not use
`phosphor-ipmi-bt` internally (which brings in btbridge) which is
probably why we weren't seeing this issue.

Cheers,
Brandon

On Tue, Aug 30, 2022 at 12:39 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandon,
>
> Sorry for the late response. After digging more details, the cause should be max rx/tx data bytes mismatched between the btbridged process and smbios_transfer command.
>
> In btbridged.c, the BT_MAX_MESSAGE is 64, however, the maxWriteSize is 128 in smbios_transfer.go.
>
> I for now changed the BT_MAX_MESSAGE into 256, then the SMBIOS table is able to be received on the BMC-side successfully.
>
> Thanks.
>
> Regards,
> Chris Chen
>
> -----Original Message-----
> From: Brandon Kim <brandonkim@google.com>
> Sent: Thursday, August 25, 2022 12:37 AM
> To: Chris Chen (TPI) <Chris.Chen3@flex.com>
> Cc: Jie Yang <jjy@google.com>; openbmc <openbmc@lists.ozlabs.org>
> Subject: Re: Read smbios2 file failed
>
> !-------------------------------------------------------------------|
>
>   This email was sent from someone outside of Flex. Do not
>   click on any links, reply or open attachments unless you
>   recognize the sender and know the content is safe. If
>   suspicious, report it to spamsample@flex.com.
> |-------------------------------------------------------------------!
>
> Hi Chris, thanks for adding more debug messages.
>
> We don't see this failure.. I'm guessing we're 100% sure that IPMI is not an issue here (I think not, since we're able to enumerate the blobs)? Could you check to see if the open was actually successful and that it was written with the correct flags?
>
> Could you also ensure you're at the very latest SRCREV of OpenBMC as well?
>
> Thanks,
> Brandon
>
> On Wed, Aug 24, 2022 at 2:25 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> >
> > Hi Brandon and Jie,
> >
> >
> >
> > I think I have added "smbios-ipmi-blob" library and also updated the SRCREV to the latest in the smbios-mdr_git.bbappend file.
> >
> >
> >
> > So, I added some debug messages in the "phosphor-ipmi-blobs" and the "u-root" repos respectively. I figured out one weird thing that is the BMC-side doesn't receive the "bmcBlobWrite" command, and then Host-side gets failed due to no response. Following are the messages I captured, could you help to have a look at it and give some clues? Thank you.
> >
> >
> >
> > === Host-side ===
> >
> > $ sudo ./smbios_transfer -num_retries 1
> >
> > 2022/08/24 16:40:53 Transferring SMBIOS tables, attempt 1/1
> >
> > 2022/08/24 16:40:53 BlobGetCount
> >
> > 2022/08/24 16:40:53 ctransferSmbiosData - total blobCount=4
> >
> > 2022/08/24 16:40:53 BlobEnumerate
> >
> > 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/hash
> >
> > 2022/08/24 16:40:53 BlobEnumerate
> >
> > 2022/08/24 16:40:53 ctransferSmbiosData id=/flash/image
> >
> > 2022/08/24 16:40:53 BlobEnumerate
> >
> > 2022/08/24 16:40:53 ctransferSmbiosData id=/smbios
> >
> > 2022/08/24 16:40:53 BlobOpen
> >
> > 2022/08/24 16:40:53 BlobWrite
> >
> > 2022/08/24 16:41:03 ReceiveResponse - failed to read rawconn: i/o
> > timeout
> >
> > 2022/08/24 16:41:03 BlobClose
> >
> > 2022/08/24 16:41:13 ReceiveResponse - failed to read rawconn: i/o
> > timeout
> >
> > 2022/08/24 16:41:13 Error tranferring SMBIOS tables over IPMI: failed
> > to write and commit blob /smbios: IPMI BlobWrite /smbios failed:
> > failed to read rawconn: i/o timeout; IPMI BlobClose /smbios failed:
> > failed to read rawconn: i/o timeout
> >
> > ==============
> >
> >
> >
> > === BMC-side ===
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: Registering OEM:[0X00C2CF],
> > Cmd:[0X80] for Blob Commands
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries - Enter
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries
> > dlopen:/usr/lib/blob-ipmid/libfirmwareblob.so
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: config loaded: /flash/image
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries
> > dlopen:/usr/lib/blob-ipmid/libsmbiosstore.so.0
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler -
> > createHandler
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries
> > dlopen:/usr/lib/blob-ipmid/liblogblob.so
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries
> > dlopen:/usr/lib/blob-ipmid/libversionblob.so
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries
> > dlopen:/usr/lib/blob-ipmid/libfirmwarecleanupblob.so
> >
> > Jan 01 00:00:16 hudsonbay-obmc ipmid[190]: loadLibraries – Exit
> >
> > …
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd
> > num=0
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Enter
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]:
> > SmbiosBlobHandler::getBlobIds - blobId=/smbios
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::getBlobCount - Exit
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd
> > num=1
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId -
> > ids=/flash/hash
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd
> > num=1
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId -
> > ids=/flash/image
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd
> > num=1
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: BlobManager::getBlobId -
> > ids=/smbios
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd
> > num=2
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Enter
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: openBlob path=/smbios
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open -
> > Enter
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::open -
> > Exit
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: Blob::openBlob - Exit
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Exit
> >
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand - Enter
> >
> > Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: handleBlobCommand - cmd
> > num=6
> >
> > Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Enter
> >
> > Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close -
> > Enter
> >
> > Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::close -
> > Exit
> >
> > Jan 01 00:08:35 hudsonbay-obmc ipmid[190]: Blob::closeBlob - Exit
> >
> > Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand
> > (replyLength==0) - Exit
> >
> > ==============
> >
> >
> >
> > Regards,
> >
> > Chris Chen
> >
> > ________________________________
> >
> > 寄件者: Brandon Kim <brandonkim@google.com>
> > 寄件日期: 2022年8月24日 上午 12:43
> > 收件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> > 副本: Jie Yang <jjy@google.com>; openbmc <openbmc@lists.ozlabs.org>
> > 主旨: Re: Read smbios2 file failed
> >
> >
> >
> > !-------------------------------------------------------------------|
> >
> >   This email was sent from someone outside of Flex. Do not
> >   click on any links, reply or open attachments unless you
> >   recognize the sender and know the content is safe. If
> >   suspicious, report it to spamsample@flex.com.
> > |-------------------------------------------------------------------!
> >
> > Hi Chris,
> >
> > Yes, running the go program you compile and running smbios_transfer
> > binary as you did, should do what you expect. However, there is a
> > PACKAGE_CONFIG you will have to append for the ipmi-blob side of
> > things to work:
> >
> > Please try building with the following line in your meta layer's
> > recipes-phosphor/smbios/smbios-mdr_%.bbappend
> >
> > ```
> > PACKAGECONFIG:append = " smbios-ipmi-blob"
> > ```
> >
> > Cheers,
> > Brandon
> >
> >
> > On Tue, Aug 23, 2022 at 12:40 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> > >
> > > Hi Brandon and Jie,
> > >
> > > I would like to send the SMBIOS table from Host to BMC by using "smbios-ipmi-blobs" interface. And according to Jie's clue (can send the smbios tables to BMC either through LinuxBoot or host), and then I saw both of you were contributing to the "https://urldefense.com/v3/__https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS55JUTxghw$  ". Therefore, I have some questions about this, could you help to answer them?
> > >
> > > I'm assuming that I can build "smbios_transfer" command and execute it on the Host-side (with installed Ubuntu 20.04), am i correct?
> > >
> > > In fact, I'm not familiar with u-root and GO language. However, after referring to some websites to install GO and download u-root, I for now have built the cmd out and run it on my Host. Unfortunately, the result looks like failed.
> > > ===
> > > $ sudo ./smbios_transfer
> > > 2022/08/23 14:47:14 Transferring SMBIOS tables, attempt 1/2
> > > 2022/08/23 14:47:34 Error tranferring SMBIOS tables over IPMI:
> > > failed to write and commit blob /smbios: IPMI BlobWrite /smbios
> > > failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios
> > > failed: failed to read rawconn: i/o timeout
> > > 2022/08/23 14:47:34 Transferring SMBIOS tables, attempt 2/2
> > > 2022/08/23 14:47:54 Error tranferring SMBIOS tables over IPMI:
> > > failed to write and commit blob /smbios: IPMI BlobWrite /smbios
> > > failed: failed to read rawconn: i/o timeout; IPMI BlobClose /smbios
> > > failed: failed to read rawconn: i/o timeout ===
> > >
> > > Do you have any suggestions on this error?
> > >
> > > ps. I'm sure the IPMI BT interface is workable.
> > >
> > > On the BMC-side, I just need to enable smbios-mdr package, correct? or anything else?
> > >
> > >
> > > Thanks.
> > >
> > > Regards,
> > > Chris Chen
> > >
> > > ________________________________
> > > 寄件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> > > 寄件日期: 2022年8月19日 下午 05:50
> > > 收件者: Thang Nguyen <thang@amperemail.onmicrosoft.com>; Jie Yang
> > > <jjy@google.com>
> > > 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>;
> > > Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30
> > > <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> > > 主旨: 回覆: Read smbios2 file failed
> > >
> > > Hello everyone,
> > >
> > > I would like to send the SMBIOS table from Host to BMC by using
> > > "smbios-ipmi-blobs" interface. But, after reviewing all your
> > > discussions, I still have no idea how to enable the feature. Could
> > > you help to share more details with me? for example,
> > >
> > > How to generate a raw SMBIOS table with MDRv2 header? (like using
> > > "dmidecode --dump-bin" and what else?) How do start sending SMBIOS
> > > binary file at Host-side? (As I know, the FW update mechanism
> > > through IPMI blob would need to build a host-tool, named
> > > burn-my-bmc, on the Host and then run the tool to start image data
> > > transformation. Does the "smbios-ipmi-blobs" with the same method?)
> > >
> > >
> > > p.s. The OS running on the Host is Ubuntu 20.04.
> > >
> > > Thanks.
> > >
> > > Regards,
> > > Chris Chen
> > >
> > > ________________________________
> > > 寄件者: openbmc <openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org>
> > > 代表 Thang Nguyen <thang@amperemail.onmicrosoft.com>
> > > 寄件日期: 2021年9月17日 下午 09:40
> > > 收件者: Jie Yang <jjy@google.com>
> > > 副本: Garrett, Mike (HPE Server Firmware) <mike.garrett@hpe.com>;
> > > Andrei Kartashev <a.kartashev@yadro.com>; CS20 CHLi30
> > > <chli30@nuvoton.com>; openbmc <openbmc@lists.ozlabs.org>
> > > 主旨: Re: Read smbios2 file failed
> > >
> > >
> > > Thanks Jia for your information
> > >
> > > On 17/09/2021 05:36, Jie Yang wrote:
> > >
> > > Hi,
> > >
> > > Actually I added an ipmi blob interface to smbios-mdr https://urldefense.com/v3/__https://github.com/openbmc/smbios-mdr/tree/master/src/smbios-ipmi-blobs__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54qpIAumA$  . With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code https://urldefense.com/v3/__https://github.com/u-root/u-root/tree/master/cmds/exp/smbios_transfer__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS54GUWKtiw$  . Writing and committing to this blob will generate the MDR header.
> > >
> > > -Jie
> > >
> > > On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <thang@amperemail.onmicrosoft.com> wrote:
> > >
> > > Thanks Tim, Mike and Andrei for very useful information. We can make
> > > it work by adding MDRv2 header.
> > >
> > > I am finding some information about the IPMI blobs commands. I can
> > > see some notes at
> > >
> > > https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/mas
> > > ter/designs/binarystore-via-blobs.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1w
> > > boTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS57DJil0FA$
> > >
> > > https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi
> > > -blobs/blob/master/README.md__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8K
> > > bITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56DlU_SCA$
> > >
> > > But I have not found more description about the IPMI blob commands
> > > like NetFn, Func, ... that I can send a file from Host to BMC. Do
> > > you have any information about them?
> > >
> > >
> > > Thanks,
> > >
> > > Thang Q. Nguyen
> > >
> > > On 16/09/2021 09:40, CS20 CHLi30 wrote:
> > > > Hi Thang,
> > > > Did you try to use smbios_entry_point or DMI from host to BMC /var/lib/smbios/smbios2 for parsing?
> > > >
> > > > You can refer this sysfs-firmware-dmi-tables as below:
> > > >
> > > > The firmware provides DMI structures as a packed list of data referenced by a SMBIOS table entry point.
> > > > The SMBIOS entry point contains general information, like SMBIOS version, DMI table size, etc.
> > > > The structure, content and size of SMBIOS entry point is dependent on SMBIOS version.
> > > >
> > > > The format of SMBIOS entry point and DMI structures can be read in SMBIOS specification.
> > > > The dmi/tables provides raw SMBIOS entry point and DMI tables through sysfs as an alternative to utilities reading them from /dev/mem.
> > > >
> > > > The raw SMBIOS entry point and DMI table are presented as binary attributes and are accessible via:
> > > > /sys/firmware/dmi/tables/smbios_entry_point
> > > > /sys/firmware/dmi/tables/DMI
> > > >
> > > > Best regards,
> > > > Tim
> > > >
> > > > -----Original Message-----
> > > > From: openbmc
> > > > [mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org] On
> > > > Behalf Of Garrett, Mike (HPE Server Firmware)
> > > > Sent: Wednesday, September 15, 2021 9:19 PM
> > > > To: Andrei Kartashev <a.kartashev@yadro.com>; Thang Nguyen
> > > > <thang@amperemail.onmicrosoft.com>; openbmc
> > > > <openbmc@lists.ozlabs.org>
> > > > Subject: RE: Read smbios2 file failed
> > > >
> > > > We recently did the same thing and got it working.  All you have to do is take the RAW smbios records blob in binary form (delivered as noted below in whatever way you choose) and prepend a specific header:  https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$   iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0
> > > >
> > > > It is a little bit fragile as it introduces a dependency on the file download logic to write a non-standard header defined in another service that could potentially change.
> > > >
> > > > Mike
> > > >
> > > >> -----Original Message-----
> > > >> From: openbmc <openbmc-
> > > >> bounces+mike.garrett=hpe.com@lists.ozlabs.org> On Behalf Of
> > > >> bounces+Andrei
> > > >> Kartashev
> > > >> Sent: Wednesday, September 15, 2021 3:17 AM
> > > >> To: Thang Nguyen <thang@amperemail.onmicrosoft.com>; openbmc
> > > >> <openbmc@lists.ozlabs.org>
> > > >> Subject: Re: Read smbios2 file failed
> > > >>
> > > >> I don't know what is format of "dmidecode --dump-bin", but if it
> > > >> just raw dump of smbios then you only need to add mdr header.
> > > >>
> > > >> See answer for the same question here:
> > > >> INVALID URI REMOVED
> > > >> 021-July/026882.html__;!!NpxR!2w0FkPs2KyaB6XOvB8et52bWKqAMLImmL-
> > > >> iUk9A_zZbJ8WLhMeXdvRAp-pcxt8Q$
> > > >>
> > > >> On Wed, 2021-09-15 at 12:41 +0700, Thang Nguyen wrote:
> > > >>> Hi Andrei,
> > > >>>
> > > >>> I see output of "dmidecode --dump-bin" follows SMBIOS specification.
> > > >>> As
> > > >>> the data for smbios-mdr does not follow this, do you know about
> > > >>> the document or any information I can reference to prepare data
> > > >>> to send to BMC??
> > > >>>
> > > >>>
> > > >>> Best Regards,
> > > >>>
> > > >>> Thang Q. Nguyen
> > > >>>
> > > >>> On 14/09/2021 15:51, Andrei Kartashev wrote:
> > > >>>> No, it is not same as "dmidecode --dump-bin".
> > > >>>>
> > > >>>> On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
> > > >>>>> On 13/09/2021 23:56, Andrei Kartashev wrote:
> > > >>>>>> You need to somehow deliver smbios data image to BMC. This
> > > >>>>>> means, your BIOS should implementat some logic to transfer
> > > >>>>>> this data.
> > > >>>>>> For BMC side see example here:
> > > >>>>>> https://urldefense.com/v3/__https://apc01.safelinks.protectio
> > > >>>>>> n.outlook.com/?url=https*3A*2__;JSU!!HSntlCg!TV2b4jzad6O_WAZA
> > > >>>>>> I1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS
> > > >>>>>> 57ySTDXQQ$
> > > >>>>>> F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchl
> > > >>>>>> i
> > > >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f2493
> > > >>>>>> 1
> > > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnkno
> > > >>>>>> w
> > > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I
> > > >>>>>> k
> > > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRd
> > > >>>>>> P
> > > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
> > > >> oem/blob/master/src/smbios
> > > >>>>>> mdrv2handler.cpp
> > > >>>>> Hi Andrei,
> > > >>>>>
> > > >>>>> What is the format of smbios data to transfer to BMC? Is it
> > > >>>>> the same content of "dmidecode --dump-bin" command from Host Linux?
> > > >> or
> > > >>>>> anything special in formatting the content to send?
> > > >>>>>
> > > >>>>>> On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
> > > >>>>>>> Hi guys, I am beginner in openbmc I build openbmc with
> > > >>>>>>> smbios-mdr repository and I have error:
> > > >>>>>>>
> > > >>>>>>> Read data from flash error - Open MDRV2 table file failure
> > > >>>>>>>
> > > >>>>>>> There isnt file in /var/lib/smbios/smbios2
> > > >>>>>>>
> > > >>>>>>> How I can resolve this problem?
> > > >>>>>>> Help me please!!!
> > > >>
> > > >> --
> > > >> Best regards,
> > > >> Andrei Kartashev
> > > >>
> > > > ________________________________
> > > > ________________________________
> > > >   The privileged confidential information contained in this email is intended for use only by the addressees as indicated by the original sender of this email. If you are not the addressee indicated in this email or are not responsible for delivery of the email to such a person, please kindly reply to the sender indicating this fact and delete all copies of it from your computer and network server immediately. Your cooperation is highly appreciated. It is advised that any unauthorized use of confidential information of Nuvoton is strictly prohibited; and any information in this email irrelevant to the official business of Nuvoton shall be deemed as neither given nor endorsed by Nuvoton.
> > >
> > > Legal Disclaimer :
> > > The information contained in this message may be privileged and confidential.
> > > It is intended to be read only by the individual or entity to whom
> > > it is addressed or by their designee. If the reader of this message
> > > is not the intended recipient, you are on notice that any
> > > distribution of this message, in any form, is strictly prohibited.
> > > If you have received this message in error, please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2022-08-30 16:23 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-13 14:40 Read smbios2 file failed Alexander Raih
2021-09-13 16:56 ` Andrei Kartashev
2021-09-14  6:46   ` Thang Nguyen
2021-09-14  8:51     ` Andrei Kartashev
2021-09-15  5:41       ` Thang Nguyen
2021-09-15  8:16         ` Andrei Kartashev
2021-09-15 13:18           ` Garrett, Mike (HPE Server Firmware)
2021-09-16  2:40             ` CS20 CHLi30
2021-09-16 11:18               ` Thang Nguyen
2021-09-16 22:36                 ` Jie Yang
2021-09-17 13:40                   ` Thang Nguyen
2022-08-19  9:50                     ` 回覆: " Chris Chen (TPI)
2022-08-23  7:38                       ` Chris Chen (TPI)
2022-08-23 16:43                         ` Brandon Kim
2022-08-24  9:25                           ` 回覆: " Chris Chen (TPI)
2022-08-24 16:37                             ` Brandon Kim
2022-08-29  3:51                               ` Thang Q. Nguyen
2022-08-29 17:56                                 ` Brandon Kim
2022-08-30  1:09                                   ` Thang Q. Nguyen
2022-08-30  7:39                               ` Chris Chen (TPI)
2022-08-30 16:22                                 ` Brandon Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).