<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML DIR=ltr><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"></HEAD><BODY><DIV>
<DIV><FONT face=Arial size=2>A Problem with&nbsp;IPMI on the Dell 1850 
(specifically with the kcs driver):</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV>
<DIV><FONT face=Arial size=2>We've observed a problem with IPMI, only on our 
Dell 1850s,&nbsp;and only with the KCS driver.&nbsp; The problem manifests 
itself as a condition in which SMS_ATTN from the BMC indicates to handle an 
event, and&nbsp;a get flags request yields flags&nbsp;indicating an OEM 0 
interrupt/event; and this condition persists.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Apparently, the</FONT><FONT face=Arial size=2> 
generic Linux&nbsp;IPMI kcs driver (OpenIPMI v33 from 
SourceForge)&nbsp;doesn't&nbsp;handle/clear the OEM 0 
event/flag.&nbsp;&nbsp;Although the driver continues to run, because it hasn't 
cleared the event/flag, it effectively prevents the driver from handling 
requests from clients (e.g. ipmitool).&nbsp; Also note that the driver can't be 
unloaded when in this state.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Thus, the&nbsp;questions:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Q1: Does the BMC for the PE 1850 generate 
interrupts/events that result in the OEM flags being set?</FONT></DIV>
<DIV><FONT face=Arial size=2>Q2: If the answer to Q1 is yes, then&nbsp;how 
should such interrupts/flags be cleared?</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Q3: If the answer to Q2 is no, then&nbsp;what 
course of action should the driver take to ensure</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;further get 
flags requests won't yield SMS_ATTN with&nbsp;OEM </FONT><FONT face=Arial 
size=2>flag(s)&nbsp;set? (e.g. reset the</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BMC; although if 
the</FONT> underlying problem isn't addressed, I&nbsp;consider this a work 
around,</DIV>
<DIV>&nbsp; &nbsp;&nbsp;&nbsp; and not a true fix).</DIV></FONT></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Some&nbsp;related info:</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>&nbsp; DELL 1850 running </FONT><FONT face=Arial 
size=2>RedHat Linux 2.4.21</FONT></DIV>&nbsp; BMC Revision 1.23</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp; Backplane Firmware 1.00</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp; OpenIPMI Driver v33</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>&nbsp; IPMI 1.5, KCS interface, </FONT></DIV>&nbsp; 
The version of the BIOS doesn't seem to matter; the hang occurs with both A00 
and A03</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;The version of the SMBIOS doesn't see 
to matter either.</FONT></DIV>
<DIV>
<DIV><FONT face=Arial size=2>&nbsp; Built-in FRU device:</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp; &nbsp; Board 
Mfg:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;DELL</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; Board Product:&nbsp;FRU16K,DELL 
P/N</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp; &nbsp;&nbsp;Board Serial:&nbsp;&nbsp;&nbsp; 
CN1374048L00WD</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; Board 
Part:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0F1667A02</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV></DIV></FONT></DIV>
<DIV>
<DIV><FONT face=Arial size=2>To yield the problem:</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp; Run ipmitool in a loop to continually poll 
machine state (see&nbsp;shell script below).</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp; After a random amount of time (typically 
between 4 to 12 hours), the IPMI tool will</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp; 'hang'.&nbsp; The state of the stack for the 
IPMI tool is consistent in each hang;</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;the kernel debugger btp 
shows:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>0xf22fc000&nbsp;&nbsp;&nbsp; 
25495&nbsp;&nbsp;&nbsp;&nbsp; 6829&nbsp; 0&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp; 
S&nbsp; 0xf22fc580&nbsp; 
ipmitool<BR>ESP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
EIP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Function (args)<BR>0xf22fde74 
0xc0124106 context_switch+0xa2 (0xc0435c80, 0xf22fc000, 0xc4cdc000, 0xf, 
0x1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
kernel .text 0xc0100000 0xc0124064 0xc01241bf<BR>0xf22fde90 0xc0121aab 
schedule+0x34f<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
kernel .text 0xc0100000 0xc012175c 0xc0121cee<BR>0xf22fdee4 0xc01346af 
schedule_timeout+0xb5 (0xf4941b00, 0xf22fdf3c, 0xf22fc000, 0x0, 
0xf22fc000)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
kernel .text 0xc0100000 0xc01345fa 0xc01346b1<BR>0xf22fdf1c 0xc017bc1c 
do_select+0x131<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
kernel .text 0xc0100000 0xc017baeb 0xc017bd35<BR>0xf22fdf60 0xc017c0a4 
sys_select+0x33c<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
kernel .text 0xc0100000 0xc017bd68 0xc017c232<BR>0xf22fdfc4 0xc03f206f 
no_timing+0x7<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
kernel .entry.text 0xc03f2000 0xc03f2068 0xc03f2074<BR>[1]kdb&gt; </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV>#!/bin/bash<BR>#&nbsp; Repeatedly call ipmitool until it hangs.<BR>for i in 
`seq 1 100000`;<BR>do<BR>&nbsp;&nbsp;&nbsp; echo ""<BR>&nbsp;&nbsp;&nbsp; echo 
"============================================"<BR>&nbsp;&nbsp;&nbsp; echo 
"IPMITOOL iteration $i:"<BR>&nbsp;&nbsp;&nbsp; echo ""<BR>&nbsp;&nbsp;&nbsp; 
ipmitool bmc<BR>&nbsp;&nbsp;&nbsp; echo ""<BR>&nbsp;&nbsp;&nbsp; ipmitool 
sdr<BR>&nbsp;&nbsp;&nbsp; echo ""<BR>&nbsp;&nbsp;&nbsp; ipmitool 
fru<BR>&nbsp;&nbsp;&nbsp; echo ""<BR>&nbsp;&nbsp;&nbsp; ipmitool 
sel<BR>&nbsp;&nbsp;&nbsp; echo&nbsp;&nbsp;&nbsp;&nbsp; echo 
"============================================"<BR>done<BR></DIV></DIV>
<DIV><FONT face=Arial size=2>Any/all help is greatly appreciated.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Best regards,</FONT></DIV>
<DIV><FONT face=Arial size=2>Charles Leu</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV></DIV></BODY></HTML>