[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Freeipmi-devel] FreeIPMI question

From: Marty Rogers
Subject: Re: [Freeipmi-devel] FreeIPMI question
Date: Wed, 19 May 2004 15:00:47 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007

Anand Babu wrote:

,----[ Marty Rogers <address@hidden> ]
| So ipmi_kcs_cmd() writes a command and doesn't return until the
| response is received,

,----[ Marty Rogers <address@hidden> ]
| ipmi_kcs_write() writes a command and returned immed., and
| ipmi_kcs_read() "hangs" until "something" is received ?

,----[ Marty Rogers <address@hidden> ]
| If "yes", then the way to poll for unexpected/autonomous messages
| (Event Messages?)  is to call ipmi_kcs_read() in a loop?
Correct. ipmi_kcs_read() is a blocking call. It returns upon
reception of a new message.

I can give you asynchronous read calls too. Just tell me what kind of
API interface you are looking for. I will go ahead and add it.

,----[ Marty Rogers <address@hidden> ]
| My project has me implementing IPMI on essentially a "satellite
| controller" on the IPMB bus (I2C bus), running Linux.  I've looked at
| OpenIPMI, modifying it's BT interface to do I2C kernel calls instead
| of memory accesses (the BT interface protocol implements seq. numbers,
| like IPMB), effectively becoming an IPMB interface.  I just pick an
| I2C address around B0h-BEh, and xmit from LUN 0 (the IPMB interface is
| always LUN 0).
| | I'm not sure FreeIPMI can be modified similarly, but your thoughts
| would be most welcome.  I would have to implement seq. number
| generation and matching.
IPMI KCS read/write/cmd are irrelevant for you. It is in my plan to
support access to IPMB (I2C) bus through system interface.
I need to understand more about your hardware design before I propose a
functional model for you.

A standard implementation will look like ---------------------------------------------- IPMI Messaging Support Commands KCS/SMIC BMC IPMB Satellite Controller ----------------------------------------------
Or you are trying to access IPMB bus directly?

I'm a controller on the IPMB bus.
I want to access the BMC directly over the IPMB. I am primarily interested in using the Chassis Control cmd to do power cycle/reset, but may also want to query SELs, and I'm
not sure what else.

It is my hope that I can utilize either OpenIPMI or FreeIPMI, by writing a system interface piece that calls the I2C access routines (perhaps by cloning and modifying a BT interface, which supports seq nums, like IPMB). The stack will never know it's on the other side of the BMC! I'm not sure what functionality of the stack would be broken by using the
stack in this (unintended) way, but I need minimal functionality.
I think some commands don't make sense when sent from the IPMB side (Send Message?)
but I just won't use them.

martin rogers

reply via email to

[Prev in Thread] Current Thread [Next in Thread]