<html 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:"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:"Arial Narrow";
        panose-1:2 11 6 6 2 2 2 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
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.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi Xiuzhi,<o:p></o:p></p>
<p class="MsoNormal">Check if you have any GPIO which needs configuration like BMC READY which tells BIOS that BMC is ready to communicate. Run kcs with –vv option and see if you are getting any communication with Bios.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I also use AMI Bios and we have this GPIO between BIOS and BMC.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards<o:p></o:p></p>
<p class="MsoNormal">-Vijay<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">openbmc <openbmc-bounces+vijaykhemka=fb.com@lists.ozlabs.org> on behalf of xiuzhi <1450335857@qq.com><br>
<b>Date: </b>Wednesday, January 16, 2019 at 7:32 PM<br>
<b>To: </b>Oskar Senft <osk@google.com><br>
<b>Cc: </b>openbmc <openbmc@lists.ozlabs.org><br>
<b>Subject: </b>Re: Re: Why can't /dev/ipmi0 on host be created stably<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Hi Oskar,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>Hi <o:p></o:p></p>
<div>
<p class="MsoNormal">><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>I'm not sure what CA3 is, I'm afraid. Can you explain? Or do you have a reference?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> The CA3 is the  SM BIOS Base Address of ipmi-kcs /dev/kcs3, please see the Table C1-3, Byte-aligned I/O Mapped Register Address examples in Appendix C1 - Locating IPMI System Interfaces via SM BIOS Tables of Intelligent Platform Management
 Interface Specification V2.0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>AMI BIOS can be configured to try a number of times to talk with the >BMC. To check whether it's just a timing issue, reboot the host once the >BMC is up and running. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">>Is that the case for you, too?<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">I will try to config the AMI BIOS and test again.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">In my case, the CA3 value would not change from 0x04 to 0x00 until shut down the power and wait more than 40 seconds ,then reboot . <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">>Also, I'm not sure whether the problem I observed is even applicable to <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">KCS.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">>Oskar.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Best,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Xiuzhi<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Wed, Jan 16, 2019, 9:27 PM xiuzhi <<a href="mailto:1450335857@qq.com">1450335857@qq.com</a> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">Hi Oskar,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   I asked the BIOS developer, he said the BIOS read the io CA3 firstly, if it is not 0x00, the BIOS will think the ipmi doesn't exist.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  I input the command " mm -io CA3" in BIOS, it return the 0x04 every times, so it's pointless for BIOS to wait the BMC answer.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  I user ipmi-kcs mode.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Best,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">xiuzhi<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Hi Oskar,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   I use opensource UEFI BIOS and AMI BIOS to test. I am able to modify the code of UEFI BIOS.
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   How should I change the BIOS code to ensure the synchronization between the two sides so that I can tell my BIOS team to modify it? 
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Best,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">xiuzhi   <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Arial Narrow",sans-serif">------------------ Original ------------------<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal" style="background:#EFEFEF"><b><span style="font-size:9.0pt">From:
</span></b><span style="font-size:9.0pt"> "Oskar Senft";<<a href="mailto:osk@google.com" target="_blank">osk@google.com</a>>;<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:#EFEFEF"><b><span style="font-size:9.0pt">Send time:</span></b><span style="font-size:9.0pt"> Wednesday, Jan 16, 2019 10:10 PM<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:#EFEFEF"><b><span style="font-size:9.0pt">To:</span></b><span style="font-size:9.0pt"> "xiuzhi"<<a href="mailto:1450335857@qq.com" target="_blank">1450335857@qq.com</a>>;
<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:#EFEFEF"><b><span style="font-size:9.0pt">Cc:</span></b><span style="font-size:9.0pt"> "openbmc"<<a href="mailto:openbmc@lists.ozlabs.org" target="_blank">openbmc@lists.ozlabs.org</a>>;
<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="background:#EFEFEF"><b><span style="font-size:9.0pt">Subject:
</span></b><span style="font-size:9.0pt"> Re: Why can't /dev/ipmi0 on host be created stably<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Hi Xiuzhi <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The following observation may or may not be related to your problem:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">We're using AMI BIOS with OpenBMC using the IPMI BT mode. I found that in certain cases the host and BMC can get "out of sync" wrt. what the BMC put in the message queue and what the BIOS expects. The problem can be caused by the BMC responding
 "slowly" to an IPMI request from the BIOS where the BIOS times out before the BMC responds. The BMC then responds before the BIOS issues the next request, which causes the BIOS to read the previous response as the response for the latest request.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">This has resulted in all sorts of weird behavior for us, incl. the BIOS not "detecting" the BMC and therefore not exposing it in the SMBIOS tables, which - in our case - is the configuration source for the Linux IPMI driver.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I hope this helps?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">What BIOS are you using? Are you able to make changes to the BIOS code?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Oskar.<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Tue, Jan 15, 2019 at 9:33 PM xiuzhi <<a href="mailto:1450335857@qq.com" target="_blank">1450335857@qq.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">Hi All,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   I am testing the bmc ipmi-kcs reliability.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   The /dev/ipmi0 on host will not  be available  in several consecutive bmc reboot test.  The CA3 value is 0x04 which can be got by the command "mm -io ca3" on host bios shell when failing to create the ipmi0  .<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">The CA3 value 0x04 means that SMS_ATN is set to 1, which meas:<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">"Set to 1 when the BMC has one or more messages in the Receive Message Queue, or when a watchdog timer pre-timeout, or event message buffer full condition exists [2] . OEMs may also elect to set this flag is one of the OEM 1, 2,or 3 flags
 from the Get Message Flags command becomes set. R/O This bit is related to indicating when the BMC is the source of a system interrupt. Refer to sections 9.12, KCS Communication and Non-communication , 9.13, Physical Interrupt Line Sharing, and 9.14, Additional
 Specifications for the KCS interface for additional information on the use and requirements for the SMS_ATN bit."<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> see the Table 9-, KCS Interface Status Register Bits in section 9.7 of  Intelligent Platform ManageBment Interface Specification .<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">   What  causes this problem?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> Best,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Xiuzhi<o:p></o:p></p>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</body>
</html>