<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p>Hi Bradon,</p>
    <p>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)<br>
    </p>
    <p>I don't need to have all commands but just 1 or 2 commands like <span style="caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47);
        font-family: ui-monospace, SFMono-Regular, "SF Mono",
        Menlo, Consolas, "Liberation Mono", monospace;
        font-size: 13.600000381469727px; font-style: normal;
        font-variant-caps: normal; font-weight: 400; letter-spacing:
        normal; orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: normal; widows: auto;
        word-spacing: 0px; -webkit-text-size-adjust: auto;
        -webkit-text-stroke-width: 0px; background-color: rgba(175, 184,
        193, 0.2); text-decoration: none; display: inline !important;
        float: none;">BmcBlobGetCount or </span><span style="caret-color: rgb(36, 41, 47); color: rgb(36, 41, 47);
        font-family: ui-monospace, SFMono-Regular, "SF Mono",
        Menlo, Consolas, "Liberation Mono", monospace;
        font-size: 13.600000381469727px; font-style: normal;
        font-variant-caps: normal; font-weight: 400; letter-spacing:
        normal; orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: normal; widows: auto;
        word-spacing: 0px; -webkit-text-size-adjust: auto;
        -webkit-text-stroke-width: 0px; background-color: rgba(175, 184,
        193, 0.2); text-decoration: none; display: inline !important;
        float: none;"><span style="caret-color: rgb(36, 41, 47); color:
          rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular,
          "SF Mono", Menlo, Consolas, "Liberation
          Mono", monospace; font-size: 13.600000381469727px;
          font-style: normal; font-variant-caps: normal; font-weight:
          400; letter-spacing: normal; orphans: auto; text-align: start;
          text-indent: 0px; text-transform: none; white-space: normal;
          widows: auto; word-spacing: 0px; -webkit-text-size-adjust:
          auto; -webkit-text-stroke-width: 0px; background-color:
          rgba(175, 184, 193, 0.2); text-decoration: none; display:
          inline !important; float: none;">BmcBlobEnumerate</span></span>
      so we can have a quick check.</p>
    <p><br>
    </p>
    <p>Best Regards,</p>
    <p>Thang Q. Nguyen <br>
    </p>
    <div class="moz-cite-prefix">On 30/08/2022 00:56, Brandon Kim wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CALGRKGPZjJY=KNJexGfpfhs_bo=GQe9b4kRvvsZCiAYUa6XXdw@mail.gmail.com">
      <pre class="moz-quote-pre" wrap="">[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
<a class="moz-txt-link-rfc2396E" href="mailto:thang@amperemail.onmicrosoft.com"><thang@amperemail.onmicrosoft.com></a> wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">
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:
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">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) <a class="moz-txt-link-rfc2396E" href="mailto:Chris.Chen3@flex.com"><Chris.Chen3@flex.com></a> wrote:
</pre>
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">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]: <a class="moz-txt-link-freetext" href="Blob::getBlobCount">Blob::getBlobCount</a> - Enter

Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: SmbiosBlobHandler::getBlobIds - blobId=/smbios

Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: <a class="moz-txt-link-freetext" href="Blob::getBlobCount">Blob::getBlobCount</a> - 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]: <a class="moz-txt-link-freetext" href="Blob::openBlob">Blob::openBlob</a> - 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]: <a class="moz-txt-link-freetext" href="Blob::openBlob">Blob::openBlob</a> - 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]: <a class="moz-txt-link-freetext" href="Blob::closeBlob">Blob::closeBlob</a> - 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]: <a class="moz-txt-link-freetext" href="Blob::closeBlob">Blob::closeBlob</a> - Exit

Jan 01 00:08:25 hudsonbay-obmc ipmid[190]: handleBlobCommand (replyLength==0) - Exit

==============



Regards,

Chris Chen

________________________________

寄件者: Brandon Kim <a class="moz-txt-link-rfc2396E" href="mailto:brandonkim@google.com"><brandonkim@google.com></a>
寄件日期: 2022年8月24日 上午 12:43
收件者: Chris Chen (TPI) <a class="moz-txt-link-rfc2396E" href="mailto:Chris.Chen3@flex.com"><Chris.Chen3@flex.com></a>
副本: Jie Yang <a class="moz-txt-link-rfc2396E" href="mailto:jjy@google.com"><jjy@google.com></a>; openbmc <a class="moz-txt-link-rfc2396E" href="mailto:openbmc@lists.ozlabs.org"><openbmc@lists.ozlabs.org></a>
主旨: 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 <a class="moz-txt-link-abbreviated" href="mailto:spamsample@flex.com">spamsample@flex.com</a>.
|-------------------------------------------------------------------!

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) <a class="moz-txt-link-rfc2396E" href="mailto:Chris.Chen3@flex.com"><Chris.Chen3@flex.com></a> wrote:
</pre>
            <blockquote type="cite">
              <pre class="moz-quote-pre" wrap="">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 <a class="moz-txt-link-rfc2396E" href="https://urldefense.com/v3/__https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS55JUTxghw$">"https://urldefense.com/v3/__https://github.com/u-root/u-root/blob/main/cmds/exp/smbios_transfer/smbios_transfer.go__;!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS55JUTxghw$  "</a>. 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) <a class="moz-txt-link-rfc2396E" href="mailto:Chris.Chen3@flex.com"><Chris.Chen3@flex.com></a>
寄件日期: 2022年8月19日 下午 05:50
收件者: Thang Nguyen <a class="moz-txt-link-rfc2396E" href="mailto:thang@amperemail.onmicrosoft.com"><thang@amperemail.onmicrosoft.com></a>; Jie Yang <a class="moz-txt-link-rfc2396E" href="mailto:jjy@google.com"><jjy@google.com></a>
副本: Garrett, Mike (HPE Server Firmware) <a class="moz-txt-link-rfc2396E" href="mailto:mike.garrett@hpe.com"><mike.garrett@hpe.com></a>; Andrei Kartashev <a class="moz-txt-link-rfc2396E" href="mailto:a.kartashev@yadro.com"><a.kartashev@yadro.com></a>; CS20 CHLi30 <a class="moz-txt-link-rfc2396E" href="mailto:chli30@nuvoton.com"><chli30@nuvoton.com></a>; openbmc <a class="moz-txt-link-rfc2396E" href="mailto:openbmc@lists.ozlabs.org"><openbmc@lists.ozlabs.org></a>
主旨: 回覆: 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 <a class="moz-txt-link-rfc2396E" href="mailto:openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org"><openbmc-bounces+chris.chen3=flex.com@lists.ozlabs.org></a> 代表 Thang Nguyen <a class="moz-txt-link-rfc2396E" href="mailto:thang@amperemail.onmicrosoft.com"><thang@amperemail.onmicrosoft.com></a>
寄件日期: 2021年9月17日 下午 09:40
收件者: Jie Yang <a class="moz-txt-link-rfc2396E" href="mailto:jjy@google.com"><jjy@google.com></a>
副本: Garrett, Mike (HPE Server Firmware) <a class="moz-txt-link-rfc2396E" href="mailto:mike.garrett@hpe.com"><mike.garrett@hpe.com></a>; Andrei Kartashev <a class="moz-txt-link-rfc2396E" href="mailto:a.kartashev@yadro.com"><a.kartashev@yadro.com></a>; CS20 CHLi30 <a class="moz-txt-link-rfc2396E" href="mailto:chli30@nuvoton.com"><chli30@nuvoton.com></a>; openbmc <a class="moz-txt-link-rfc2396E" href="mailto:openbmc@lists.ozlabs.org"><openbmc@lists.ozlabs.org></a>
主旨: 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 <a class="moz-txt-link-freetext" href="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$</a>  . With this interface you can send the smbios tables to BMC either through LinuxBoot or host. The LinuxBoot code <a class="moz-txt-link-freetext" href="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$</a>  . Writing and committing to this blob will generate the MDR header.

-Jie

On Thu, Sep 16, 2021 at 4:19 AM Thang Nguyen <a class="moz-txt-link-rfc2396E" href="mailto:thang@amperemail.onmicrosoft.com"><thang@amperemail.onmicrosoft.com></a> 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

<a class="moz-txt-link-freetext" href="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$</a>

<a class="moz-txt-link-freetext" href="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$</a>

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:
</pre>
              <blockquote type="cite">
                <pre class="moz-quote-pre" wrap="">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 [<a class="moz-txt-link-freetext" href="mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org">mailto:openbmc-bounces+chli30=nuvoton.com@lists.ozlabs.org</a>] On Behalf Of Garrett, Mike (HPE Server Firmware)
Sent: Wednesday, September 15, 2021 9:19 PM
To: Andrei Kartashev <a class="moz-txt-link-rfc2396E" href="mailto:a.kartashev@yadro.com"><a.kartashev@yadro.com></a>; Thang Nguyen <a class="moz-txt-link-rfc2396E" href="mailto:thang@amperemail.onmicrosoft.com"><thang@amperemail.onmicrosoft.com></a>; openbmc <a class="moz-txt-link-rfc2396E" href="mailto:openbmc@lists.ozlabs.org"><openbmc@lists.ozlabs.org></a>
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:  <a class="moz-txt-link-freetext" href="https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$">https://urldefense.com/v3/__https://apc01.safelinks.protection.outlook.com/?url=https*3A*2F*2Fgithub.com*2Fopenbmc*2Fsmbios-mdr*2Fblob*2F33c948a473bd273fea0cff82d4c99b70b7784be6*2Finclude*2Fsmbios_mdrv2.hpp*23L114&amp;data=04*7C01*7Cchli30*40nuvoton.com*7C81a4bd29e4904bf4d84608d978510b92*7Ca3f24931d4034b4a94f17d83ac638e07*7C0*7C0*7C637673526954552742*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjo__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!HSntlCg!TV2b4jzad6O_WAZAI1wboTdRw8KbITIWTzC2fn5GNRJ7DifQr1xCsFKxRrh5vW0XmDcRgtYvjcRTS56BTyjjfg$</a>   iV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=oQwcozsSoGlgSFwztPFV3FAoPpRZGYoZ7pc0%2BxDi1MA%3D&amp;reserved=0

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

Mike

</pre>
                <blockquote type="cite">
                  <pre class="moz-quote-pre" wrap="">-----Original Message-----
From: openbmc <openbmc-
<a class="moz-txt-link-abbreviated" href="mailto:bounces+mike.garrett=hpe.com@lists.ozlabs.org">bounces+mike.garrett=hpe.com@lists.ozlabs.org</a>> On Behalf Of Andrei
Kartashev
Sent: Wednesday, September 15, 2021 3:17 AM
To: Thang Nguyen <a class="moz-txt-link-rfc2396E" href="mailto:thang@amperemail.onmicrosoft.com"><thang@amperemail.onmicrosoft.com></a>; openbmc
<a class="moz-txt-link-rfc2396E" href="mailto:openbmc@lists.ozlabs.org"><openbmc@lists.ozlabs.org></a>
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:
</pre>
                  <blockquote type="cite">
                    <pre class="moz-quote-pre" wrap="">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:
</pre>
                    <blockquote type="cite">
                      <pre class="moz-quote-pre" wrap="">No, it is not same as "dmidecode --dump-bin".

On Tue, 2021-09-14 at 13:46 +0700, Thang Nguyen wrote:
</pre>
                      <blockquote type="cite">
                        <pre class="moz-quote-pre" wrap="">On 13/09/2021 23:56, Andrei Kartashev wrote:
</pre>
                        <blockquote type="cite">
                          <pre class="moz-quote-pre" wrap="">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:
<a class="moz-txt-link-freetext" href="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$</a>
F%2Fgithub.com%2Fopenbmc%2Fintel-ipmi-&amp;data=04%7C01%7Cchli
30%40nuvoton.com%7C81a4bd29e4904bf4d84608d978510b92%7Ca3f24931
d4034b4a94f17d83ac638e07%7C0%7C0%7C637673526954552742%7CUnknow
n%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik
1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=cG6ZZzOSXkuUtcQuuoymsRdP
p24mINa%2FhCy%2BYhe%2FNmk%3D&amp;reserved=0
</pre>
                        </blockquote>
                      </blockquote>
                    </blockquote>
                  </blockquote>
                  <pre class="moz-quote-pre" wrap="">oem/blob/master/src/smbios
</pre>
                  <blockquote type="cite">
                    <blockquote type="cite">
                      <blockquote type="cite">
                        <blockquote type="cite">
                          <pre class="moz-quote-pre" wrap="">mdrv2handler.cpp
</pre>
                        </blockquote>
                        <pre class="moz-quote-pre" wrap="">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?
</pre>
                      </blockquote>
                    </blockquote>
                  </blockquote>
                  <pre class="moz-quote-pre" wrap="">or
</pre>
                  <blockquote type="cite">
                    <blockquote type="cite">
                      <blockquote type="cite">
                        <pre class="moz-quote-pre" wrap="">anything special in formatting the content to send?

</pre>
                        <blockquote type="cite">
                          <pre class="moz-quote-pre" wrap="">On Mon, 2021-09-13 at 17:40 +0300, Alexander Raih wrote:
</pre>
                          <blockquote type="cite">
                            <pre class="moz-quote-pre" wrap="">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!!!
</pre>
                          </blockquote>
                        </blockquote>
                      </blockquote>
                    </blockquote>
                  </blockquote>
                  <pre class="moz-quote-pre" wrap="">--
Best regards,
Andrei Kartashev

</pre>
                </blockquote>
                <pre class="moz-quote-pre" wrap="">________________________________
________________________________
   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.
</pre>
              </blockquote>
              <pre class="moz-quote-pre" wrap="">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!
</pre>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </body>
</html>