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: New2IPMI
Subject: Re: [Freeipmi-devel] Need help in IPMI over serial
Date: Sun, 10 Oct 2010 23:10:15 -0700 (PDT)

Hi 

i am new to IPMI and need to write a code for IPMI over serial. Can you
suggest where i can get soem help in understanding - how to establish
connections; authentications, send messages, etc.

Thanks
NM

Anand Babu Periasamy wrote:
> 
> 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 
> 
> 
> 
> _______________________________________________
> Freeipmi-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/freeipmi-devel
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Need-help-in-IPMI-over-serial-tp11776895p29931379.html
Sent from the FreeIPMI - Dev mailing list archive at Nabble.com.




reply via email to

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