[stable-ish 9] Dell R815 ipmi(4) attach failure

Doug Ambrisko ambrisko at ambrisko.com
Mon Apr 2 16:16:04 UTC 2012


John Baldwin writes:
| On Saturday, March 31, 2012 3:25:48 pm Doug Ambrisko wrote:
| > Sean Bruno writes:
| > | Noting a failure to attach to the onboard IPMI controller with this dell
| > | R815.  Not sure what to start poking at and thought I'd though this over
| > | here for comment.
| > | 
| > | -bash-4.2$ dmesg |grep ipmi
| > | ipmi0: KCS mode found at io 0xca8 on acpi
| > | ipmi1: <IPMI System Interface> on isa0
| > | device_attach: ipmi1 attach returned 16
| > | ipmi1: <IPMI System Interface> on isa0
| > | device_attach: ipmi1 attach returned 16
| > | ipmi0: Timed out waiting for GET_DEVICE_ID
| > 
| > I've run into this recently.  A quick hack to fix it is:
| > 
| > Index: ipmi.c
| > ===================================================================
| > RCS file: /cvs/src/sys/dev/ipmi/ipmi.c,v
| > retrieving revision 1.14
| > diff -u -p -r1.14 ipmi.c
| > --- ipmi.c	14 Apr 2011 07:14:22 -0000	1.14
| > +++ ipmi.c	31 Mar 2012 19:18:35 -0000
| > @@ -695,7 +695,6 @@ ipmi_startup(void *arg)
| >  	if (error == EWOULDBLOCK) {
| >  		device_printf(dev, "Timed out waiting for GET_DEVICE_ID\n");
| >  		ipmi_free_request(req);
| > -		return;
| >  	} else if (error) {
| >  		device_printf(dev, "Failed GET_DEVICE_ID: %d\n", error);
| >  		ipmi_free_request(req);
| > 
| > The issue is that the wakeup doesn't actually wake up the msleep
| > in ipmi_submit_driver_request.  The error being reported is that
| > the msleep timed out.  This doesn't seem to be critical problem
| > since after this things seemed to work work.  I saw this on 9.X.
| > Haven't seen it on 8.2.  Not sure about -current.
| > 
| > It doesn't happen on all machines.
| 
| Hmm, are you seeing the KCS thread manage the request but the wakeup() is 
| lost?

It was a couple of weeks ago that I played with it.  I put printf's
around the msleep and wakeup.  I saw the wakeup called but the sleep
not get it.  I can try the test again later today.  Right now my main
work machine is recovering from a power outage.  This was with 9.0 
when I first saw it.  This issue seems to only happen at boot time.
If I kldload the module after the system is booted then it seems to work 
okay.  The KCS part was working fine and got the data okay from the
request.  I haven't seen or heard any issues with 8.2.

Thanks,

Doug A.


More information about the freebsd-stable mailing list