<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Intel Clear";
        panose-1:2 11 6 4 2 2 3 2 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Bradley Hand ITC";
        panose-1:3 7 4 2 5 3 2 3 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma",sans-serif;
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma",sans-serif;
        color:black;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Yes, we currently have to use MAC address as the unique serial number of a board.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">David  Wei                                
<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext"> elinux-MinnowBoard [mailto:elinux-minnowboard-bounces@lists.elinux.org]
<b>On Behalf Of </b>Wu, Mike<br>
<b>Sent:</b> Saturday, February 04, 2017 10:43 AM<br>
<b>To:</b> MinnowBoard Community Email List <elinux-minnowboard@lists.elinux.org><br>
<b>Subject:</b> Re: [MinnowBoard] Board ID<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hi Grigory,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thanks for the patch. I am afraid we can’t accept your patch. It is a w/a which delete the right behavior of code for X64 and IA32 on Realtek NIC. We need something
 to fit all of them. See if we can get something better at next release. Still, thanks for your participation.<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Intel Clear",sans-serif;color:#002060">Best Regards<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:16.0pt;font-family:"Bradley Hand ITC";color:#002060">Mike Wu<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:windowtext"> elinux-MinnowBoard [<a href="mailto:elinux-minnowboard-bounces@lists.elinux.org">mailto:elinux-minnowboard-bounces@lists.elinux.org</a>]
<b>On Behalf Of </b>Grigory V. Korotov<br>
<b>Sent:</b> Saturday, February 04, 2017 2:31 AM<br>
<b>To:</b> <a href="mailto:elinux-minnowboard@lists.elinux.org">elinux-minnowboard@lists.elinux.org</a><br>
<b>Subject:</b> Re: [MinnowBoard] Board ID<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi Mike,<br>
Thanks for answer.<br>
<br>
Solution(not quite correct but effectively for me):<br>
<b>1. in SmBiosMiscDxe.inf remove </b><b><span style="font-size:9.0pt;font-family:"Courier New";color:#CC0000;background:white">gEfiSimpleNetworkProtocolGuid (2 places)</span></b><span style="font-size:9.0pt;font-family:"Courier New";color:#CC0000;background:white"><o:p></o:p></span></p>
<p class="MsoNormal"><br>
<b>2. in MiscSystemManufacturerFunction.c comment code which use </b><span style="font-size:9.0pt;font-family:"Courier New";color:#CC0000;background:white">gEfiSimpleNetworkProtocolGuid
</span><b>and add few strings to initialize SerialNumber  and  SerialNumStrLen </b>
<br>
  //<br>
  //Get handle infomation<br>
  //<br>
  /*BufferSize = 0;<br>
  Handles = NULL;<br>
  Status = gBS->LocateHandle (<br>
                  ByProtocol, <br>
                  &gEfiSimpleNetworkProtocolGuid,<br>
                  NULL,<br>
                  &BufferSize,<br>
                  Handles<br>
                  );<br>
<br>
  if (Status == EFI_BUFFER_TOO_SMALL) {<br>
      Handles = AllocateZeroPool(BufferSize);<br>
      if (Handles == NULL) {<br>
          return (EFI_OUT_OF_RESOURCES);<br>
      }<br>
      Status = gBS->LocateHandle(<br>
                      ByProtocol,<br>
                      &gEfiSimpleNetworkProtocolGuid,<br>
                      NULL,<br>
                      &BufferSize,<br>
                      Handles<br>
                      );<br>
 }<br>
                     <br>
  //<br>
  //Get the MAC string<br>
  //<br>
  Status = NetLibGetMacString (<br>
             *Handles,<br>
             NULL,<br>
             &MacStr<br>
             );<br>
  if (EFI_ERROR (Status)) {    <br>
    return Status;<br>
  }<br>
  SerialNumber = MacStr; <br>
  SerialNumStrLen = StrLen(SerialNumber);<br>
  if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {<br>
    return EFI_UNSUPPORTED;<br>
  }*/<br>
  TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_SKU_NUMBER);<br>
  SkuNumber = SmbiosMiscGetString (TokenToGet);<br>
  SkuNumberStrLen = StrLen(SkuNumber);<br>
  SerialNumber = SkuNumber; <br>
  SerialNumStrLen = SkuNumberStrLen;<br>
<br>
<b>3. in MiscBaseBoardManufacturerFunction.c do the same</b><br>
<br>
 //<br>
  //Get handle infomation<br>
  //<br>
  /*BufferSize = 0;<br>
  Handles = NULL;<br>
  Status = gBS->LocateHandle (<br>
                  ByProtocol, <br>
                  &gEfiSimpleNetworkProtocolGuid,<br>
                  NULL,<br>
                  &BufferSize,<br>
                  Handles<br>
                  );<br>
<br>
  if (Status == EFI_BUFFER_TOO_SMALL) {<br>
      Handles = AllocateZeroPool(BufferSize);<br>
      if (Handles == NULL) {<br>
          return (EFI_OUT_OF_RESOURCES);<br>
      }<br>
      Status = gBS->LocateHandle(<br>
                      ByProtocol,<br>
                      &gEfiSimpleNetworkProtocolGuid,<br>
                      NULL,<br>
                      &BufferSize,<br>
                      Handles<br>
                      );<br>
 }<br>
                     <br>
  //<br>
  //Get the MAC string<br>
  //<br>
  Status = NetLibGetMacString (<br>
             *Handles,<br>
             NULL,<br>
             &MacStr<br>
             );<br>
  if (EFI_ERROR (Status)) {    <br>
    return Status;<br>
  }<br>
  SerialNumber = MacStr;    <br>
  SerialNumStrLen = StrLen(SerialNumber);<br>
  if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {<br>
    return EFI_UNSUPPORTED;<br>
  }<br>
  DEBUG ((EFI_D_ERROR, "MAC Address: %S\n", MacStr)); */<br>
  TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_ASSET_TAG);<br>
  AssertTag = SmbiosMiscGetString (TokenToGet);<br>
  AssertTagStrLen = StrLen(AssertTag);<br>
  SerialNumber = AssertTag;    <br>
  SerialNumStrLen = AssertTagStrLen;<br>
<br>
<br>
Grigory<br>
<br>
<br>
03.02.2017 7:58, Wu, Mike пишет:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<pre><o:p> </o:p></pre>
<pre>Hi Grigory,<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Yes, you are right. I210 NIC doesn't have IA32 version, which means IA32 firmware image doesn't have UNDI driver if using i210. SmBIOS driver depends on UNDI driver to provide NIC information, without it, SmBIOS driver can't been dispatched. <o:p></o:p></pre>
<pre>We marked it (IA32 image on i210 board missed some information) as known issue when doing 0.94 release. See if we can fix it at next release, if you have patch, welcome to submit to us, we are open source firmware project.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Best Regards<o:p></o:p></pre>
<pre>Mike Wu<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>-----Original Message-----<o:p></o:p></pre>
<pre>From: elinux-MinnowBoard [<a href="mailto:elinux-minnowboard-bounces@lists.elinux.org">mailto:elinux-minnowboard-bounces@lists.elinux.org</a>] On Behalf Of Richardson, Brian<o:p></o:p></pre>
<pre>Sent: Friday, February 03, 2017 4:12 AM<o:p></o:p></pre>
<pre>To: MinnowBoard Community Email List<o:p></o:p></pre>
<pre>Subject: Re: [MinnowBoard] Board ID<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Here is info on how to get the MinnowBoard Max/Turbot source ...<o:p></o:p></pre>
<pre><a href="https://firmware.intel.com/projects/minnowboard-max">https://firmware.intel.com/projects/minnowboard-max</a><o:p></o:p></pre>
<pre><a href="https://firmware.intel.com/sites/default/files/MinnowBoard_MAX-Rel_0_94-ReleaseNotes.txt">https://firmware.intel.com/sites/default/files/MinnowBoard_MAX-Rel_0_94-ReleaseNotes.txt</a> <o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Thanks … br<o:p></o:p></pre>
<pre>---<o:p></o:p></pre>
<pre>Brian Richardson, Senior Technical Marketing Engineer, Intel Software <a href="mailto:brian.richardson@intel.com">brian.richardson@intel.com</a> -- @intel_Brian (Twitter & WeChat) <a href="https://software.intel.com/en-us/meet-the-developers/evangelists/team/brian-richardson">https://software.intel.com/en-us/meet-the-developers/evangelists/team/brian-richardson</a> <o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre>-----Original Message-----<o:p></o:p></pre>
<pre>From: elinux-MinnowBoard [<a href="mailto:elinux-minnowboard-bounces@lists.elinux.org">mailto:elinux-minnowboard-bounces@lists.elinux.org</a>] On Behalf Of Grigory V. Korotov<o:p></o:p></pre>
<pre>Sent: Thursday, February 2, 2017 2:12 PM<o:p></o:p></pre>
<pre>To: <a href="mailto:elinux-minnowboard@lists.elinux.org">elinux-minnowboard@lists.elinux.org</a><o:p></o:p></pre>
<pre>Subject: Re: [MinnowBoard] Board ID<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Hello Brian.<o:p></o:p></pre>
<pre>Thanks for forwarding.<o:p></o:p></pre>
<pre>I have some updates.<o:p></o:p></pre>
<pre>I turned off realtek by removing 25Mhz XTAL from original MAX2.<o:p></o:p></pre>
<pre>And both 32 and 64 bit UEFI stops showing ID strings.<o:p></o:p></pre>
<pre>I think UEFI stops showing ID when it cant find UNDI device.<o:p></o:p></pre>
<pre>As we know i210 have only 64bit UNDI and as a result my custom board shows ID only with 64bit EFI.<o:p></o:p></pre>
<pre>And when i disabled realtek on Minnow2 it stops showing in both cases because there is no UNDI device at all.<o:p></o:p></pre>
<pre>Could someone points me start point to start source editing to resolve this problem?<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Grigory<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre>02.02.2017 20:02, Ottaway, Brian R пишет:<o:p></o:p></pre>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<pre>Hello Grigory. Going with the i210 makes sense for AVB, p-timing, and such. I copied your issue to Github, link below, and flagged it to the person I think will have input.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre><a href="https://github.com/MinnowBoard-org/bugs-and-help/issues/14">https://github.com/MinnowBoard-org/bugs-and-help/issues/14</a><o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>-Brian<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>-----Original Message-----<o:p></o:p></pre>
<pre>From: elinux-MinnowBoard<o:p></o:p></pre>
<pre>[<a href="mailto:elinux-minnowboard-bounces@lists.elinux.org">mailto:elinux-minnowboard-bounces@lists.elinux.org</a>] On Behalf Of <o:p></o:p></pre>
<pre>Grigory V. Korotov<o:p></o:p></pre>
<pre>Sent: Thursday, February 02, 2017 4:08 AM<o:p></o:p></pre>
<pre>To: MinnowBoard Community Email List<o:p></o:p></pre>
<pre><a href="mailto:elinux-minnowboard@lists.elinux.org"><elinux-minnowboard@lists.elinux.org></a><o:p></o:p></pre>
<pre>Subject: [MinnowBoard] Board ID<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Hi all.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>I built my own board based on MAX 2.<o:p></o:p></pre>
<pre>On the second revision of my board a have replaced realtek LAN to intel i210.<o:p></o:p></pre>
<pre>By now i have issue.<o:p></o:p></pre>
<pre>If i build 94 version of firmware in 64 bit mode everything is okay.<o:p></o:p></pre>
<pre>If i build firmware using 32 bit mode there is some problems.<o:p></o:p></pre>
<pre>In main BIOS setup screen there is no board information in left upper corner of the screen.<o:p></o:p></pre>
<pre>Also when using windows software(AIDA etc) to identify board manufacturer it shows me nothing. No Manufacturer ID no board ID and even no CPU microcode revision.<o:p></o:p></pre>
<pre>I did some investigations and found that when firmware runs in 32 bit mode it does not enter MiscSubclassDriverEntryPoint function which calls function AddSmbiosManuCallback which initialize Platform information using mPlatformInfo variable.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>I tried earlier versions of firmware and results is same.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>There is no problems in 64 or 32 bit mode on previous board with realtek LAN. This is only difference.<o:p></o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>elinux-MinnowBoard mailing list<o:p></o:p></pre>
<pre><a href="mailto:elinux-MinnowBoard@lists.elinux.org">elinux-MinnowBoard@lists.elinux.org</a><o:p></o:p></pre>
<pre><a href="http://lists.elinux.org/mailman/listinfo/elinux-minnowboard">http://lists.elinux.org/mailman/listinfo/elinux-minnowboard</a><o:p></o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>elinux-MinnowBoard mailing list<o:p></o:p></pre>
<pre><a href="mailto:elinux-MinnowBoard@lists.elinux.org">elinux-MinnowBoard@lists.elinux.org</a><o:p></o:p></pre>
<pre><a href="http://lists.elinux.org/mailman/listinfo/elinux-minnowboard">http://lists.elinux.org/mailman/listinfo/elinux-minnowboard</a><o:p></o:p></pre>
</blockquote>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>elinux-MinnowBoard mailing list<o:p></o:p></pre>
<pre><a href="mailto:elinux-MinnowBoard@lists.elinux.org">elinux-MinnowBoard@lists.elinux.org</a><o:p></o:p></pre>
<pre><a href="http://lists.elinux.org/mailman/listinfo/elinux-minnowboard">http://lists.elinux.org/mailman/listinfo/elinux-minnowboard</a><o:p></o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>elinux-MinnowBoard mailing list<o:p></o:p></pre>
<pre><a href="mailto:elinux-MinnowBoard@lists.elinux.org">elinux-MinnowBoard@lists.elinux.org</a><o:p></o:p></pre>
<pre><a href="http://lists.elinux.org/mailman/listinfo/elinux-minnowboard">http://lists.elinux.org/mailman/listinfo/elinux-minnowboard</a><o:p></o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>elinux-MinnowBoard mailing list<o:p></o:p></pre>
<pre><a href="mailto:elinux-MinnowBoard@lists.elinux.org">elinux-MinnowBoard@lists.elinux.org</a><o:p></o:p></pre>
<pre><a href="http://lists.elinux.org/mailman/listinfo/elinux-minnowboard">http://lists.elinux.org/mailman/listinfo/elinux-minnowboard</a><o:p></o:p></pre>
</blockquote>
<p><o:p> </o:p></p>
</div>
</body>
</html>