Thanks Corey. I modified the code as per ur idea. Send through, ioctl(fd, IPMICTL_SEND_COMMAND, &req);
And receving through struct ipmi_recv recv; struct ipmi_addr addr1; recv.addr = (BYTE*) &addr1; recv.addr_len = sizeof( addr1 ); recv.msg.data = (unsigned char*) &(ipmi_res1.data); recv.msg.data_len = 4; ioctl(fd, IPMICTL_RECEIVE_MSG, &recv); But now, the ioctl system call is failing sometimes and in sometime getting the same timeout error. Also here I am using 0x2c command. I guess IANA number is not required. It is for 2e-2f netfns. Thanks and Regards, Thirumalai kumar -----Original Message----- From: Corey Minyard [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 18, 2006 7:33 PM Cc: [email protected] Subject: Re: [Openipmi-developer] read IPMB Response You are working too hard :). The driver handles the message routing and formatting on the IPMB, you don't create the header. There were also some problems in your message: You were sending to LUN 2 instead of LUN 0 and you did not put in the PICMG IANA into the message, as required by ATCA. To do what you want, do: ipmb_addr.addr_type = IPMI_IPMB_ADDR_TYPE; ipmb_addr.channel = 0; // primary ipmb ipmb_addr.slave_addr = 0x8a; // remote blade ipmb address ipmb_addr.lun = 0x00; req.addr = (unsigned char*)&ipmb_addr; req.addr_len = sizeof(ipmb_addr); req.msg.netfn = PICMG_NETFN; req.msg.cmd = PICMG_GET_ADDRESS_INFO_CMD; --Fill data with the picmg id, per the spec req.msg.data = data; req.msg.data_len = 3; The message response will automatically be routed back to your file descriptor, and you should get the response instead of a timeout. -Corey Thirumalai kumar wrote: > > Hi Corey, > Im framing a IPMB message and sending it to the remote chassis on the > same enclosure. > I am sending the IPMI message to IPMB bus as follows, > ipmb_addr.addr_type = IPMI_IPMB_ADDR_TYPE; > ipmb_addr.channel = 0; // primary ipmb > ipmb_addr.slave_addr = 0x8a; // remote blade ipmb address > ipmb_addr.lun = 0x02; > > req.addr = (unsigned char*)&ipmb_addr; > req.addr_len = sizeof(ipmb_addr); > req.msgid = 1; > req.msg.netfn = IPMI_NETFN_APP_REQUEST; > req.msg.cmd = SEND_MESSAGE; > > unsigned int data[1024]; > unsigned short len = req.msg.data_len; > > // build IPMB message structure > data[len++] = 0x8a; // rs.SA > data[len++] = 0x2c; // NetFun // picmg netfn > data[len++] = 0x1e; // Checksum1 > data[len++] = 0x20; // rq.SA > data[len++] = 0x06; // rqSeqNum 7-2 bits+ rq.lun 1-0 bits > data[len++] = PICMG_GET_ADDRESS_INFO_CMD; > req.msg.data = data; > req.msg.data_len = len; > > then ioctl sysem to call to send the message. How to receive the > response from the BMC. > here I am getting 0xc3 timeout error. > > Thanks, > Thiru > > -----Original Message----- > From: Corey Minyard [mailto:[EMAIL PROTECTED] > Sent: Tuesday, October 17, 2006 9:01 PM > Cc: [email protected] > Subject: Re: [Openipmi-developer] read IPMB Response > > You don't give enough information for me to understand exactly what > you are doing, but there are some problems with what you have done. > The driver handles doing the get message automatically, you don't have to do anything. > All you need to do is send your original command and wait for the response. > > -Corey > > Thirumalai kumar wrote: > >> Hi All, >> >> I am forming a IPMB message and sending it through the ioctl system >> call. The message is sent properly. >> the /proc/ stat count is getting incrementing properly. after that i >> am sending app_response and get message command to read the response >> from the receive message queue. but i am not able to read the >> response. >> any one has idea on this, how to read the response. >> sample code >> >> ipmb_addr.addr_type = IPMI_IPMB_ADDR_TYPE; >> ipmb_addr.channel = 0; >> ipmb_addr.slave_addr = 0x20; //bmc >> ipmb_addr.lun = 0x02; >> req1.addr = (unsigned char*)&ipmb_addr; >> req1.addr_len = sizeof(ipmb_addr); >> req1.msg.netfn = IPMI_NETFN_APP_RESPONSE; >> req1.msg.cmd = GET_MESSAGE; >> req1.msg.data = (unsigned char*) &(ipmi_res.data); >> req1.msg.data_len = 32; >> >> if ( ioctl(fd, IPMICTL_SEND_COMMAND, &req1) < 0 ) >> { >> printf("\n IOCTL GET MSG send ERROR %s ", strerror(errno)); >> } >> ioctl(fd, IPMICTL_RECEIVE_MSG, &recv) now i am getting time >> out error. Timely help will be appreciated. >> > Assuming > >> >> Thanks and Regards, >> Thirumalai kumar S >> >> --------------------------------------------------------------------- >> - >> -- >> >> --------------------------------------------------------------------- >> - >> --- Using Tomcat but need to do more? Need to support web services, >> security? >> Get stuff done quickly with pre-integrated technology to make your >> job easier Download IBM WebSphere Application Server v.1.0.1 based on >> Apache Geronimo >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121 >> 6 >> 42 >> --------------------------------------------------------------------- >> - >> -- >> >> _______________________________________________ >> Openipmi-developer mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/openipmi-developer The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Openipmi-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openipmi-developer
