* 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&data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli > > > > > 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 > > > > > d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow > > > > > n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik > > > > > 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP > > > > > p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli > >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&reserved=0 > <https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fsmbios-mdr%2Fblob%2F33c948a473bd273fea0cff82d4c99b70b7784be6%2Finclude%2Fsmbios_mdrv2.hpp%23L114&data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli > >>>>>> 30%40nuvoton.com > <http://40nuvoton.com>%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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&data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0*2BxDi1MA*3D&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-&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&sdata=cG6ZZzOSXkuUtcQuuoymsRdP >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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&data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0*2BxDi1MA*3D&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-&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&sdata=cG6ZZzOSXkuUtcQuuoymsRdP >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04%7C01%7Cchli30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli > >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&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&data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$> iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli > >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$ iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli > > >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 > > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow > > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik > > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP > > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$ iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli >>>>>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 >>>>>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow >>>>>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik >>>>>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP >>>>>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$ iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli > >>>>>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 > >>>>>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow > >>>>>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik > >>>>>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP > >>>>>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$ iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchli >>>>>>>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931 >>>>>>>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow >>>>>>>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik >>>>>>>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRdP >>>>>>>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$ iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchl > > >>>>>> i > > >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f2493 > > >>>>>> 1 > > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnkno > > >>>>>> w > > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I > > >>>>>> k > > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRd > > >>>>>> P > > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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&data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$ iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&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-&data=04%7C01%7Cchl > > > >>>>>> i > > > >>>>>> 30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f2493 > > > >>>>>> 1 > > > >>>>>> d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnkno > > > >>>>>> w > > > >>>>>> n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I > > > >>>>>> k > > > >>>>>> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cG6ZZzOSXkuUtcQuuoymsRd > > > >>>>>> P > > > >>>>>> p24mINa%2FhCy%2BYhe%2FNmk%3D&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).