<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.linux.kernel.openipmi">
    <title>gmane.linux.kernel.openipmi</title>
    <link>http://blog.gmane.org/gmane.linux.kernel.openipmi</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1970"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1969"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1968"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1967"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1966"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1954"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1944"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1941"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1940"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1936"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1935"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1934"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1933"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1932"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1931"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1930"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1929"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1926"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1924"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1922"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1970">
    <title>Was there new release?</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1970</link>
    <description>&lt;pre&gt;Hi,

I noticed there is OpenIPMI-2.0.19.tar.gz on OpenIPMI's sf.net page, but
I haven't seen any announcement. Is the release ready for use? Or is it
some preliminary version for testing?

Jan

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Jan Safranek</dc:creator>
    <dc:date>2012-05-07T08:18:49</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1969">
    <title>Re: Multiple users sending messages via KCSinterface</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1969</link>
    <description>&lt;pre&gt;Corey,

I've seen this also, mostly on Red Hat kernels around the 2.6.32
vintage.
It would be nice to leverage the fix you mention below.  Can you point
to it?

Andy

-----Original Message-----
From: Corey Minyard [mailto:tcminyard&amp;lt; at &amp;gt;gmail.com] 
Sent: Friday, April 06, 2012 4:53 PM
To: dbashaw
Cc: OpenIPMI
Subject: Re: [Openipmi-developer] Multiple users sending messages via
KCS interface

You don't mention the kernel version or anything of that nature.  There 
was a bug fixed a while back for something that looked like this.

-corey

On 04/05/2012 09:15 PM, dbashaw wrote:
only.
information
response,"
%x\n",
user.
------------------------------------------------------------------------
------


------------------------------------------------------------------------
------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Openipmi-developer mailing list
Openipmi-developer&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Andy Cress</dc:creator>
    <dc:date>2012-05-01T13:08:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1968">
    <title>Re: Multiple users sending messages via KCS interface</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1968</link>
    <description>&lt;pre&gt;You don't mention the kernel version or anything of that nature.  There 
was a bug fixed a while back for something that looked like this.

-corey

On 04/05/2012 09:15 PM, dbashaw wrote:


------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
&lt;/pre&gt;</description>
    <dc:creator>Corey Minyard</dc:creator>
    <dc:date>2012-04-06T20:52:49</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1967">
    <title>Re: Multiple users sending messages via KCS interface</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1967</link>
    <description>&lt;pre&gt;I am not an expert but won't the sender  in ipmi_si_intf.c
make sure only one message is active at one time?

     if (smi_info-&amp;gt;si_state == SI_NORMAL &amp;amp;&amp;amp; smi_info-&amp;gt;curr_msg == NULL)
                start_next_msg(smi_info);


Sudhakar


On 04/05/2012 07:15 PM, dbashaw wrote:




------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
&lt;/pre&gt;</description>
    <dc:creator>sudhakar</dc:creator>
    <dc:date>2012-04-06T03:15:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1966">
    <title>Multiple users sending messages via KCSinterface</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1966</link>
    <description>&lt;pre&gt;I have two IPMI users created using ipmi_create_user(..).
Each user can send messages async with respect to each other.
I have also seen IPMI message handler: BMC returned incorrect response 
errors some times.

When I allow only one user to use the KCS interface this does not seem 
to happen.
After reviewing ipmi_msghandler.c I am not able to figure out how a 
response to a message
from a given user can be identified with that user and not some other.

  ipmi_msghandler() sends the message to the interface handler (KCS 
state machine in this case) and is done,
free to handle the next user request since responses arrive 
asynchronously at a later time.

 From the IPMI spec I see KCS message request format described as:
     BYTE 1        BYTE 2     BYTE 3:N
    NetFn/Lun     Cmd         Data

KCS message response format:
     BYTE 1        BYTE 2     BYTE 3      BYTE 4:N
      NetFn/Lun   Cmd        Ccode         Data

Data is that which is required by the specific command being sent only.

Request and response messages both have no user identifiable information 
that I can find in the V1.5 or V2.0 spec.

I'm beginning to think that this is the reason for the "incorrect 
response" error above when two users are
sending requests.

handle_new_recv_msg((ipmi_smi_t          intf,
                                struct ipmi_smi_msg *msg)
         } else if (((msg-&amp;gt;rsp[0] &amp;gt;&amp;gt; 2) != ((msg-&amp;gt;data[0] &amp;gt;&amp;gt; 2) | 1))
                    || (msg-&amp;gt;rsp[1] != msg-&amp;gt;data[1])) {
                 /*
                  * The NetFN and Command in the response is not even
                  * marginally correct.
                  */
                 printk(KERN_WARNING PFX "BMC returned incorrect response,"
                        " expected netfn %x cmd %x, got netfn %x cmd %x\n",
                        (msg-&amp;gt;data[0] &amp;gt;&amp;gt; 2) | 1, msg-&amp;gt;data[1],
                        msg-&amp;gt;rsp[0] &amp;gt;&amp;gt; 2, msg-&amp;gt;rsp[1]);

No information in msg-&amp;gt;rsp or msg-&amp;gt;data can be used to make sure this 
response is associated with
the correct user. Higher level things like sequence numbers are 
contained in the msg struct at some level
but don't address the issue of associating the response to a unique user.

How to fix this?

Dave





------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
&lt;/pre&gt;</description>
    <dc:creator>dbashaw</dc:creator>
    <dc:date>2012-04-06T02:15:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1954">
    <title>Using ipmi_lan_get_config()</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1954</link>
    <description>&lt;pre&gt;I'm attempting to add some code that retrieves the IPMI LAN IP address. In
my small app, I ultimately get the address info, but after the call to
ipmi_lan_get_config(), I also get a list of warnings:

WARN: lanparm.c(got_parm): Error fetching dest type 18, wrong selector came
back, expecting 1, was 0.  Assuming it is 1.
WARN: lanparm.c(got_parm): Error fetching dest type 18, wrong selector came
back, expecting 2, was 0.  Assuming it is 2.
WARN: lanparm.c(got_parm): Error fetching dest type 18, wrong selector came
back, expecting 3, was 0.  Assuming it is 3.
...
WARN: lanparm.c(got_parm): Error fetching dest type 18, wrong selector came
back, expecting 15, was 0.  Assuming it is 15.
EINF: lanparm.c(got_parm): Error fetching dest addr 19, wrong selector came
back, expecting 5, was 0.  Assuming it is 5.
EINF: lanparm.c(got_parm): Error fetching dest addr 19, wrong selector came
back, expecting 6, was 0.  Assuming it is 6.
...
EINF: lanparm.c(got_parm): Error fetching dest addr 19, wrong selector came
back, expecting 14, was 0.  Assuming it is 14.
EINF: lanparm.c(got_parm): Error fetching dest addr 19, wrong selector came
back, expecting 15, was 0.  Assuming it is 15.


Following are the two lines of code proceeding the warning messages listed
above.

    ipmi_lanparm_alloc(mc, channel, &amp;amp;m_lanparm);
    ipmi_lan_get_config(m_lanparm, NGSIPMILAN::ipmi_lan_get_config_cb,
this);

Is there some other setup call I need to make prior to attempting to get
the config?

Thanks,

John G
------------------------------------------------------------------------------
Virtualization &amp;amp; Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/_______________________________________________
Openipmi-developer mailing list
Openipmi-developer&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openipmi-developer
&lt;/pre&gt;</description>
    <dc:creator>John Gehring</dc:creator>
    <dc:date>2012-02-22T23:05:32</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1944">
    <title>Re: [PATCH] ipmi: Increase KCS timeouts</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1944</link>
    <description>&lt;pre&gt;
Perfect Corey, thanks!

&lt;/pre&gt;</description>
    <dc:creator>Matthew Garrett</dc:creator>
    <dc:date>2011-12-15T14:45:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1941">
    <title>[PATCH] ipmi: Increase KCS timeouts</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1941</link>
    <description>&lt;pre&gt;We currently time out and retry KCS transactions after 1 second of waiting
for IBF or OBF. This appears to be too short for some hardware. The IPMI
spec says "All system software wait loops should include error timeouts. For
simplicity, such timeouts are not shown explicitly in the flow diagrams. A
five-second timeout or greater is recommended". Change the timeout to five
seconds to satisfy the slow hardware.

Signed-off-by: Matthew Garrett &amp;lt;mjg&amp;lt; at &amp;gt;redhat.com&amp;gt;
---
 drivers/char/ipmi/ipmi_kcs_sm.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/char/ipmi/ipmi_kcs_sm.c b/drivers/char/ipmi/ipmi_kcs_sm.c
index cf82fed..e53fc24 100644
--- a/drivers/char/ipmi/ipmi_kcs_sm.c
+++ b/drivers/char/ipmi/ipmi_kcs_sm.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -118,8 +118,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; enum kcs_states {
 #define MAX_KCS_WRITE_SIZE IPMI_MAX_MSG_LENGTH
 
 /* Timeouts in microseconds. */
-#define IBF_RETRY_TIMEOUT 1000000
-#define OBF_RETRY_TIMEOUT 1000000
+#define IBF_RETRY_TIMEOUT 5000000
+#define OBF_RETRY_TIMEOUT 5000000
 #define MAX_ERROR_RETRIES 10
 #define ERROR0_OBF_WAIT_JIFFIES (2*HZ)
 
&lt;/pre&gt;</description>
    <dc:creator>Matthew Garrett</dc:creator>
    <dc:date>2011-11-30T19:12:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1940">
    <title>Re: ipmi_watchdog: IPMI Watchdog: response:Error 80 on cmd 22</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1940</link>
    <description>&lt;pre&gt;
That error is a command-specific error, and it means: Attempt to start
un-initialized watchdog

I'm guessing that the IPMI controller gets reset somehow and then thinks
it's watchdog timer is not initialized, and thus the reset command causes
an issue.

A fix should be pretty easy, if you get a 0x80 response from a reset,
re-initialize the timer.

Can you try the following patch?

From 4467601416e23740fc940c31b1fffacbcb69b4a0 Mon Sep 17 00:00:00 2001
From: Corey Minyard &amp;lt;cminyard&amp;lt; at &amp;gt;mvista.com&amp;gt;
Date: Mon, 21 Nov 2011 14:26:20 -0600
Subject: [PATCH] ipmi_watchdog: Restore settings when BMC reset

If the BMC gets reset, it will return 0x80 response errors.  In this case,
it is probably a good idea to restore the IPMI settings.
---
 drivers/char/ipmi/ipmi_watchdog.c |   41 ++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c
index c2917ffa..34767a6 100644
--- a/drivers/char/ipmi/ipmi_watchdog.c
+++ b/drivers/char/ipmi/ipmi_watchdog.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -139,6 +139,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #define IPMI_WDOG_SET_TIMER0x24
 #define IPMI_WDOG_GET_TIMER0x25
 
+#define IPMI_WDOG_TIMER_NOT_INIT_RESP0x80
+
 /* These are here until the real ones get into the watchdog.h interface. */
 #ifndef WDIOC_GETTIMEOUT
 #defineWDIOC_GETTIMEOUT        _IOW(WATCHDOG_IOCTL_BASE, 20, int)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -596,6 +598,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ipmi_heartbeat(void)
 struct kernel_ipmi_msg            msg;
 int                               rv;
 struct ipmi_system_interface_addr addr;
+int  timeout_retries = 0;
 
 if (ipmi_ignore_heartbeat)
 return 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -616,6 +619,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ipmi_heartbeat(void)
 
 mutex_lock(&amp;amp;heartbeat_lock);
 
+restart:
 atomic_set(&amp;amp;heartbeat_tofree, 2);
 
 /*
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -653,7 +657,33 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ipmi_heartbeat(void)
 /* Wait for the heartbeat to be sent. */
 wait_for_completion(&amp;amp;heartbeat_wait);
 
-if (heartbeat_recv_msg.msg.data[0] != 0) {
+if (heartbeat_recv_msg.msg.data[0] == IPMI_WDOG_TIMER_NOT_INIT_RESP)  {
+timeout_retries++;
+if (timeout_retries &amp;gt; 3) {
+printk(KERN_ERR PFX ": Unable to restore the IPMI"
+       " watchdog's settings, giving up.\n");
+rv = -EIO;
+goto out_unlock;
+}
+
+/*
+ * The timer was not initialized, that means the BMC was
+ * probably reset and lost the watchdog information.  Attempt
+ * to restore the timer's info.  Note that we still hold
+ * the heartbeat lock, to keep a heartbeat from happening
+ * in this process, so must say no heartbeat to avoid a
+ * deadlock on this mutex.
+ */
+rv = ipmi_set_timeout(IPMI_SET_TIMEOUT_NO_HB);
+if (rv) {
+printk(KERN_ERR PFX ": Unable to send the command to"
+       " set the watchdog's settings, giving up.\n");
+goto out_unlock;
+}
+
+/* We might need a new heartbeat, so do it now */
+goto restart;
+} else if (heartbeat_recv_msg.msg.data[0] != 0) {
 /*
  * Got an error in the heartbeat response.  It was already
  * reported in ipmi_wdog_msg_handler, but we should return
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -662,6 +692,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int ipmi_heartbeat(void)
 rv = -EINVAL;
 }
 
+out_unlock:
 mutex_unlock(&amp;amp;heartbeat_lock);
 
 return rv;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -922,11 +953,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct miscdevice ipmi_wdog_miscdev = {
 static void ipmi_wdog_msg_handler(struct ipmi_recv_msg *msg,
   void                 *handler_data)
 {
-if (msg-&amp;gt;msg.data[0] != 0) {
+if (msg-&amp;gt;msg.cmd == IPMI_WDOG_RESET_TIMER &amp;amp;&amp;amp;
+msg-&amp;gt;msg.data[0] == IPMI_WDOG_TIMER_NOT_INIT_RESP)
+printk(KERN_INFO PFX "response: The IPMI controller appears"
+       " to have been reset, will attempt to reinitialize"
+       " the watchdog timer\n");
+else if (msg-&amp;gt;msg.data[0] != 0)
 printk(KERN_ERR PFX "response: Error %x on cmd %x\n",
        msg-&amp;gt;msg.data[0],
        msg-&amp;gt;msg.cmd);
-}
 
 ipmi_free_recv_msg(msg);
 }
&lt;/pre&gt;</description>
    <dc:creator>cminyard</dc:creator>
    <dc:date>2011-11-21T20:36:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1936">
    <title>error messages after exiting code: "Never freed N bytes at ..., allocated at ..."</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1936</link>
    <description>&lt;pre&gt; Using the python bindings (with 2.0.19 of OpenIPMI and python 2.7.1), 
 got the code to work nicely, but when it finishes, i get the following 
 junk:

 $ ./openipmi-sample2.py lan -U username -P mypassword bmcipaddr
 INFO: test 0 ipmi_lan.c(connection_up): Connection 0 to the BMC is up
 INFO: test 0 ipmi_lan.c(connection_up): Connection to the BMC restored
 Conn up
 MC: test(0.20)
 got response: [0, 18, 1, 4, 34, 2, 223, 11, 0, 0, 0, 0, 3, 1, 0, 0]


 Never freed 176 bytes at 0x80e58d8, allocated at 0x4054913f 0x4054a16e 
 0x404e35a4 0x4049c301 0x4008aef6 0x400eeb5d
 Never freed 52 bytes at 0x80e59d0, allocated at 0x401ab2e6 0x404fcf55 
 0x405491b7 0x4054a16e 0x404e35a4 0x4049c301
 Never freed 8 bytes at 0x80e5a58, allocated at 0x401aaee9 0x401ab30a 
 0x404fcf55 0x405491b7 0x4054a16e 0x404e35a4
 Never freed 14640 bytes at 0x8113ef8, allocated at 0x405491cd 
 0x4054a16e 0x404e35a4 0x4049c301 0x4008aef6 0x400eeb5d
 ......

 If i pipe stderr to /dev/null it'll be clean, but i am wondering if 
 there's a better way to fix this ?


 I am looking at sample2.py with the following diff (so it actually 
 exits at some point instead of querying endlessly):

 --- OpenIPMI-2.0.19/swig/python/sample2.py     2011-10-12 
 11:03:25.000000000 -0400
 +++ OpenIPMI-2.0.19/swig/python/sample2.py  2011-10-12 
 17:23:54.615437000 -0400
 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -94,14 +65,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
      pass

  nexttime = time.time()
 -while main_handler.name != "done":
 +num_poll = 1
 +while main_handler.name != "done" and num_poll &amp;lt;= 2:
      OpenIPMI.wait_io(1000)
      now = time.time()
      if main_handler.mc and now &amp;gt;= nexttime:
          nexttime += 5
 +        num_poll += 1
          main_handler.mc.to_mc(main_handler)
      pass

  OpenIPMI.shutdown_everything()
  print "done"
  sys.exit(0)

 (just pasting this diff so you see i'm using known-working code)

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
&lt;/pre&gt;</description>
    <dc:creator>alex&lt; at &gt;nyi.net</dc:creator>
    <dc:date>2011-10-12T21:21:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1935">
    <title>Re: openipmi appropriateness for raw requests</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1935</link>
    <description>&lt;pre&gt; Adding the offline convo i had with Corey M in private here since other 
 people may end up having these questions/issue as well:

 On Wed, 12 Oct 2011 12:13:06 -0500, Corey Minyard wrote:

 Thanks, i'll give this new version a try.. i was using 2.0.18 and must 
 have just gotten that ver at the last moment knowing my luck :)


 Yup, my reasoning was wrong, i saw you were using wait_io to sleep for 
 5 seconds at a time, so yes the output is every 5 seconds not every 
 second (my sense of time is off i guess).


 Yup i see that now, and it looks like you're using mc_cb to run the 
 function mc.send_command(0, 6, 1, [], self).. this looks like your 'get 
 device id' query is: 6 is the netfn, 1 is the command, and data (none in 
 this case) would go in [].. i'll give this a try w/ my query (anyone 
 interested in power data on the HP sl systems as well? :)  Just not sure 
 what actually calls mc_cb (i've come to realize the _cb stands for 
 callback heh).  I guess I'll need to re-read that event-driven section 
 of the 'gentle introduction to ipmi' doc bundled with the distro (and on 
 the web).

 On Wed, 12 Oct 2011 13:07:02 -0400, alex&amp;lt; at &amp;gt;nyi.net wrote:


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
&lt;/pre&gt;</description>
    <dc:creator>alex&lt; at &gt;nyi.net</dc:creator>
    <dc:date>2011-10-12T17:41:32</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1934">
    <title>Re: openipmi appropriateness for raw requests</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1934</link>
    <description>&lt;pre&gt; well thanks i started an offilne convo with you about this but i guess 
 i'll stick to replying here.. so this looks example like what might get 
 me going, just one last question, where in the code do you specify the 
 netfn/cmd/data for the query?

 I see the mc_cmd_cb func with a netfn/cmd and response but i dont see 
 where this gets called, or if this is the query path of the code or just 
 handling the response?

 anyway thanks for the help so far, this looks very promising and may be 
 just what i was looking for all along!

 On Wed, 12 Oct 2011 12:04:13 -0500, Corey Minyard wrote:


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
&lt;/pre&gt;</description>
    <dc:creator>alex&lt; at &gt;nyi.net</dc:creator>
    <dc:date>2011-10-12T17:07:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1933">
    <title>Re: openipmi appropriateness for raw requests</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1933</link>
    <description>&lt;pre&gt;The sample2.py code I sent in the previous email should show how to do this.


There is no GUI code entangled in the OpenIPMI python interface, nor in 
the sample.py script.  It is fairly entangled with the openipmi GUI, 
obviously, perhaps you were looking there.

OpenIPMI was intended to be able to do simple things, too, but it's a 
huge interface and there's not much documentation help for writing 
simple things.


The "sample2.py" program I sent you will work for lan interfaces, too.  
Run it as:

sample2.py lan -U &amp;lt;userid&amp;gt; -P &amp;lt;password&amp;gt; &amp;lt;ipaddress&amp;gt;

You can obviously hard-code those values in the program, if you like.

-corey



------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
&lt;/pre&gt;</description>
    <dc:creator>Corey Minyard</dc:creator>
    <dc:date>2011-10-12T17:04:13</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1932">
    <title>Re: openipmi appropriateness for raw requests</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1932</link>
    <description>&lt;pre&gt; Thanks, I've looked at the sample.py a few times already but i couldn't 
 get it to run in our environment (the GUI encumberance keeps it from 
 running in our environment) and hence it was a little difficult to get 
 my head wrapped around the code itself if i couldn't see it in action.  
 This is on top of there not seeming to be much documentation on the 
 different function calls, other than looking at the source code for the 
 swig interface (the .i file) or the lib's c code

 i'll take a look at the the program you attached too, but basically 
 what i'm trying to do is query power data against an HP sl-line of 
 systems that don't have full-blown iLO's (the cheaper SL systems had a 
 less capable lo100, like the sl160z g6 or the sl165s g7) which 
 originally made power-monitoring difficult and limited via an HP tool 
 that only runs locally.  But I've discovered the utility they use 
 locally to query the data from the (sl6000/sl6500) chassis the systems 
 are in, uses ipmi raw under the hood, and these ipmi raw queries work 
 remotely against the bmc of the host as well.  i was hoping to have 
 something that can frequently poll power usage out-of-band (since the 
 readings appear to be instantaneous and not averaged over an interval) 
 while we are doing benchmarking against new procs from AMD (hence i 
 don't want to run the utility HP provides locally since that will take 
 away CPU time from the benchmarks).

 my C is really not that strong but i've getting a good grasp on python 
 lately (been using perl for a while now as well), hence i was trying to 
 get more familiar with OO/python and use OpenIPMI, but from what i've 
 seen, OpenIPMI seems to want to do all this leg work for you that i'm 
 not sure i need, and i'm not sure how to just have it do something 
 low-level/simple like connect to a bmc, authenticate, start a session, 
 and with the same session poll a raw cmd against the bmc every few 
 seconds (or more frequently depending on the resolution of the data 
 being returned).

 the limited amount of example code i had see of OpenIPMI get incredibly 
 complex really fast (esp when GUI functionality is entangled into the 
 code IMO needlessly).  i just want to do something simple like throw 
 some raw hex queries (netfn/cmd/data) at a bmc and get the data back as 
 quickly as possible.. hopefully w/o forking a separate helper command to 
 do it (e.g. ipmitool or ipmiutil).. and i was hoping OpenIPMI could 
 spare me having to re-invent the lower framework of crafting udp packets 
 and stuffing them with ipmi-compatible data just to do a simple ipmi-raw 
 query :-\ but it started to seem like OpenIPMI wasn't intended for this 
 use, but instead to help write more complex management software suites 
 (with OpenIPMI handling the complicated tasks).  Hence my original 
 question to this list if OpenIPMI is too powerful a tool for my simple 
 needs :)

 I was hoping someone had some simple sample code that took a 
 username/password/ip for the bmc, and i could hard-code the hex queries 
 into the code and adapt it to the rest of my needs.

 On Wed, 12 Oct 2011 10:02:16 -0500, Corey Minyard wrote:


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
&lt;/pre&gt;</description>
    <dc:creator>alex&lt; at &gt;nyi.net</dc:creator>
    <dc:date>2011-10-12T16:28:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1931">
    <title>Version 2.0.19 of OpenIPMI uploaded</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1931</link>
    <description>&lt;pre&gt;It's been a long time since I uploaded a version of OpenIPMI, and there 
are some little bug fixes pending.  Most of the changes are due to 
autotools changes, though I found a couple of little bugs today playing 
with the python script I just sent out.

-corey

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
&lt;/pre&gt;</description>
    <dc:creator>Corey Minyard</dc:creator>
    <dc:date>2011-10-12T15:41:25</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1930">
    <title>Re: openipmi appropriateness for raw requests</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1930</link>
    <description>&lt;pre&gt;
Sure, that's easy.  There is a file named "swig/python/sample.py" that 
has a sample of a python interface.    I've also attached a little 
program that does a get device id command every 5 seconds.  Run it with 
"sample2.py smi 0" to talk to the local interface.

What are you trying to get, btw?  OpenIPMI can do most of the 
interpretation work for you.

-corey
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct_______________________________________________
Openipmi-developer mailing list
Openipmi-developer&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openipmi-developer
&lt;/pre&gt;</description>
    <dc:creator>Corey Minyard</dc:creator>
    <dc:date>2011-10-12T15:02:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1929">
    <title>openipmi appropriateness for raw requests</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1929</link>
    <description>&lt;pre&gt; So I have some ipmitool raw commands i run remotely against a host's 
 bmc, and wanted to code them via the python bindings (so i can more 
 frequent polling and then do further processing w/o forking ipmitool 
 over and over).

 However the documentation is a bit sparse and i can't honestly see how 
 do i construct some code to do this?

 So i have to ask, is emulating raw requests something viable via 
 OpenIPMI? Is there any examples i can look at ? Even if it's just in C, 
 i figure the python bindings are pretty thinly swig'ified, but if i 
 could figure out if/how that's done, i'll tackle pythonifying it 
 afterwards.

 Thanks!
 Alex

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
&lt;/pre&gt;</description>
    <dc:creator>alex&lt; at &gt;nyi.net</dc:creator>
    <dc:date>2011-10-11T21:02:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1926">
    <title>Re: [PATCH 31/62] driver/char: irq: RemoveIRQF_DISABLED</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1926</link>
    <description>&lt;pre&gt;
Acked-by: Arnd Bergmann &amp;lt;arnd&amp;lt; at &amp;gt;arndb.de&amp;gt;

------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop 
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops?   How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
&lt;/pre&gt;</description>
    <dc:creator>Arnd Bergmann</dc:creator>
    <dc:date>2011-09-08T16:04:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1924">
    <title>[PATCH 31/62] driver/char: irq: RemoveIRQF_DISABLED</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1924</link>
    <description>&lt;pre&gt;This flag is a NOOP and can be removed now.

Signed-off-by: Yong Zhang &amp;lt;yong.zhang0&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 drivers/char/hpet.c              |    2 +-
 drivers/char/ipmi/ipmi_si_intf.c |    4 ++--
 drivers/char/nwbutton.c          |    2 +-
 drivers/char/rtc.c               |    4 ++--
 drivers/char/snsc.c              |    2 +-
 drivers/char/snsc_event.c        |    2 +-
 drivers/char/tlclk.c             |    2 +-
 7 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 0833896..10f3f04 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -500,7 +500,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int hpet_ioctl_ieon(struct hpet_dev *devp)
 
 sprintf(devp-&amp;gt;hd_name, "hpet%d", (int)(devp - hpetp-&amp;gt;hp_dev));
 irq_flags = devp-&amp;gt;hd_flags &amp;amp; HPET_SHARED_IRQ
-? IRQF_SHARED : IRQF_DISABLED;
+? IRQF_SHARED : 0;
 if (request_irq(irq, hpet_interrupt, irq_flags,
 devp-&amp;gt;hd_name, (void *)devp)) {
 printk(KERN_ERR "hpet: IRQ %d is not free\n", irq);
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 9397ab4..44e8da3 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1336,7 +1336,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int std_irq_setup(struct smi_info *info)
 if (info-&amp;gt;si_type == SI_BT) {
 rv = request_irq(info-&amp;gt;irq,
  si_bt_irq_handler,
- IRQF_SHARED | IRQF_DISABLED,
+ IRQF_SHARED,
  DEVICE_NAME,
  info);
 if (!rv)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1346,7 +1346,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int std_irq_setup(struct smi_info *info)
 } else
 rv = request_irq(info-&amp;gt;irq,
  si_irq_handler,
- IRQF_SHARED | IRQF_DISABLED,
+ IRQF_SHARED,
  DEVICE_NAME,
  info);
 if (rv) {
diff --git a/drivers/char/nwbutton.c b/drivers/char/nwbutton.c
index 04a480f..36aaf43 100644
--- a/drivers/char/nwbutton.c
+++ b/drivers/char/nwbutton.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -220,7 +220,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int __init nwbutton_init(void)
 return -EBUSY;
 }
 
-if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, IRQF_DISABLED,
+if (request_irq (IRQ_NETWINDER_BUTTON, button_handler, 0,
 "nwbutton", NULL)) {
 printk (KERN_WARNING "nwbutton: IRQ %d is not free.\n",
 IRQ_NETWINDER_BUTTON);
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index dfa8b30..396ae12 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -227,7 +227,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline unsigned char rtc_is_updating(void)
 
 #ifdef RTC_IRQ
 /*
- *A very tiny interrupt handler. It runs with IRQF_DISABLED set,
+ *A very tiny interrupt handler. It runs with irqs disabled,
  *but there is possibility of conflicting with the set_rtc_mmss()
  *call (the rtc irq and the timer irq can easily run at the same
  *time in two different CPUs). So we need to serialize
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1040,7 +1040,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; no_irq:
 rtc_int_handler_ptr = rtc_interrupt;
 }
 
-if (request_irq(RTC_IRQ, rtc_int_handler_ptr, IRQF_DISABLED,
+if (request_irq(RTC_IRQ, rtc_int_handler_ptr, 0,
 "rtc", NULL)) {
 /* Yeah right, seeing as irq 8 doesn't even hit the bus. */
 rtc_has_irq = 0;
diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c
index 5816b39..d3464ef 100644
--- a/drivers/char/snsc.c
+++ b/drivers/char/snsc.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -108,7 +108,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; scdrv_open(struct inode *inode, struct file *file)
 /* hook this subchannel up to the system controller interrupt */
 mutex_lock(&amp;amp;scdrv_mutex);
 rv = request_irq(SGI_UART_VECTOR, scdrv_interrupt,
- IRQF_SHARED | IRQF_DISABLED,
+ IRQF_SHARED,
  SYSCTL_BASENAME, sd);
 if (rv) {
 ia64_sn_irtr_close(sd-&amp;gt;sd_nasid, sd-&amp;gt;sd_subch);
diff --git a/drivers/char/snsc_event.c b/drivers/char/snsc_event.c
index ee15694..a35978c 100644
--- a/drivers/char/snsc_event.c
+++ b/drivers/char/snsc_event.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -292,7 +292,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; scdrv_event_init(struct sysctl_data_s *scd)
 
 /* hook event subchannel up to the system controller interrupt */
 rv = request_irq(SGI_UART_VECTOR, scdrv_event_interrupt,
- IRQF_SHARED | IRQF_DISABLED,
+ IRQF_SHARED,
  "system controller events", event_sd);
 if (rv) {
 printk(KERN_WARNING "%s: irq request failed (%d)\n",
diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c
index 0c964cd..771e48e 100644
--- a/drivers/char/tlclk.c
+++ b/drivers/char/tlclk.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -222,7 +222,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int tlclk_open(struct inode *inode, struct file *filp)
 /* This device is wired through the FPGA IO space of the ATCA blade
  * we can't share this IRQ */
 result = request_irq(telclk_interrupt, &amp;amp;tlclk_interrupt,
-     IRQF_DISABLED, "telco_clock", tlclk_interrupt);
+     0, "telco_clock", tlclk_interrupt);
 if (result == -EBUSY)
 printk(KERN_ERR "tlclk: Interrupt can't be reserved.\n");
 else
&lt;/pre&gt;</description>
    <dc:creator>Yong Zhang</dc:creator>
    <dc:date>2011-09-07T08:10:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1922">
    <title>Re: OpenIPMI and RedHat 6</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1922</link>
    <description>&lt;pre&gt;Try adding "slave_addrs=0":

    rmmod ipmi_si
    modprobe ipmi_si type=kcs ports=0xca2 slave_addrs=0

... to match what your DMI data shows.


----- Original Message -----

------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2
&lt;/pre&gt;</description>
    <dc:creator>Bela Lubkin</dc:creator>
    <dc:date>2011-08-19T00:02:00</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.kernel.openipmi/1920">
    <title>Re: Openipmi-developer Digest, Vol 58, Issue 1</title>
    <link>http://permalink.gmane.org/gmane.linux.kernel.openipmi/1920</link>
    <description>&lt;pre&gt;Hi,

 I am new to IPMI and platform management s/w. I need information
related to porting of ipmi driver as well make use of ipmitool to talk
to new BMC over I2C.

 In breif , i am using freescale processor with I2C controller which
is connected to customized BMC/ShMC  over I2C bus 1.
 Using/inserting the modules  ipmi_msghandler.ko,  ipmi_devintf.ko,
and  ipmi_smb.ko addr=1 slave_addrs=0x61 dbg=1  from monta  vista
kernel.

After making the  mknod   /dev/ipmi0  c  252 0  ( reading from
/proc/devinfo),  using   " ipmitool   -I open -d /dev/ipmi0 " command
to send the command to BMC.

  But i am getting the below error.
Could not open device at  /dev/ipmi0 or /dev/ipmi/0

Please suggest me to communicate to BMC over I2C from from host
processor.  I tried to load i2c-stub.ko driver also by enabling algo
modules and other freaacale I2C chip drivers also.

It is looking like ipmi_open is failing in  ipmi_devintf.c  when
ipmitool tries to open the /dev/ipmi0

Thanks in advance.
krish



On Mon, Aug 1, 2011 at 1:59 PM,
&amp;lt;openipmi-developer-request&amp;lt; at &amp;gt;lists.sourceforge.net&amp;gt; wrote:

------------------------------------------------------------------------------
BlackBerry&amp;amp;reg; DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos &amp;amp; much more. Register early &amp;amp; save!
http://p.sf.net/sfu/rim-blackberry-1
&lt;/pre&gt;</description>
    <dc:creator>saikrishna gajula</dc:creator>
    <dc:date>2011-08-04T18:54:14</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.linux.kernel.openipmi">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.linux.kernel.openipmi</link>
  </textinput>
</rdf:RDF>

