freeipmi-devel
[Top][All Lists]
Advanced

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

Re: [Freeipmi-devel] Need help in IPMI over serial


From: Anand Babu Periasamy
Subject: Re: [Freeipmi-devel] Need help in IPMI over serial
Date: Mon, 06 Aug 2007 04:37:59 -0700

Evgeny,
GNU FreeIPMI doesn't have serial driver yet. So far I haven't found
any users for it. You are the first one!. I have used serial interface
through IPMI TERMINAL MODE though. IPMI TERMINAL MODE doesn't require
any special driver though.

First step is to get access to the board. I assume you have attached a
NULL modem cable to the BMC.
What is your Channel Access Mode?
My advise is to put to ALWAYS-AVAILABLE during your development
stage. Later on may be you can use SHARED mode, if you also with to
share it with the host OS for console prediction.
If you are in ALWAYS-AVAILABLE available mode, do you see BMC
constantly throwing some junk chars (ping) every 2 seconds? This
confirms that your BMC is accessible and ready to accept your
commands.

Obviously serial basic mode is single session based and requires authentication. Individual packets are not signed. There is no session
header either. To activate a session, you issue Get Channel Auth
Capabilities, Get Session Challenge and Activate Session commands. Get
Channel Auth Capabilities is required to trigger the BMC to enter into
Basic Mode. BASIC mode only support plain text passwords.
Request Packet structure is like this:

serial_basic_msg_hdr_rq (structure explained below)
cmd (8 bits)
data bytes (depends on cmd)
serial_basic_msg_trlr (structure explained below)


Request Packet structure is like this:

serial_basic_msg_hdr_rq (structure explained below)
cmd (8 bits)
completion_code (8 bits)
response data (depends on cmd)
serial_basic_msg_trlr (structure explained below)


/* IPMI Serial-Basic Message Request Header */
fiid_template_t tmpl_serial_basic_msg_hdr_rq =
 {
   {8, "rs_addr", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {2, "rs_lun", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {6, "net_fn", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {8, "checksum1", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {8, "rq_addr", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {2, "rq_lun", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {6, "rq_seq", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {0, "", 0}
 };


/* IPMI Serial-Basic Message Response Header */
fiid_template_t tmpl_lan_msg_hdr_rs =
 {
   {8, "rq_addr", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {2, "rq_lun", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {6, "net_fn", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {8, "checksum1", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {8, "rs_addr", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {2, "rs_lun", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {6, "rq_seq", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {0, "", 0}
 };

/* IPMI Serial-Basic Message Trailer */
fiid_template_t tmpl_setial_basic_msg_trlr =
 {
   {8, "checksum2", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED},
   {0, "", 0}
 };


Can you please tell me what type of BMC you have? I can write a driver
for serial mode or help you write one.

--
Anand Babu Periasamy
GPG Key ID: 0x62E15A31
Blog [http://ab.freeshell.org]
The GNU Operating System [http://www.gnu.org]



Evgeny S. Sidorenko writes:

Hi all!
I have the following problem: I have device that connects to the computer via serial port, and provides IPMI over serial in Basic Mode. I have problem in understanding how to generate messages (format, etc), send/receive requests/answers, and so on. Could you help me in this problem? I need only basically knowledge, i.e. how to create connections, create messages, etc

--
Best regards, Evgeny





reply via email to

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