freeipmi-users
[Top][All Lists]
Advanced

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

Re: [Freeipmi-users] Problem pasting data into ipmiconsole


From: Albert Chu
Subject: Re: [Freeipmi-users] Problem pasting data into ipmiconsole
Date: Tue, 01 Jul 2014 09:58:53 -0700

On Tue, 2014-07-01 at 14:15 +1000, David O'Shea wrote:
> Hi Al,
> 
> Thanks for looking into this further!  I made the code change to
> ipmiconsole_processing.c and it seems to be working fine now.
> 
> Do you have any rough idea of when you might ship a release with this
> fix?  I don't mind building my own from a branch/with a local patch,
> I'm just curious as I'd like to use an official release eventually.

I average a release every 1-2 months.  I did a release last week, so end
of July reasonable timeframe guess.

Al

> 
> Thanks!
> David
> 
> > Subject: RE: [Freeipmi-users] Problem pasting data into ipmiconsole
> > From: address@hidden
> > To: address@hidden
> > CC: address@hidden
> > Date: Mon, 30 Jun 2014 08:31:09 -0700
> > 
> > Hi David,
> > 
> > It just occurred to me. The "sol payload size" workaround might work
> > for you. While it was originally intended to deal w/ motherboards
> that
> > report invalid sol payload sizes being out of range (sometimes b/c
> of
> > incorrect endian), it can probably work for you as well. It'll force
> > libipmiconsole to use a defined small max character send rate,
> currently
> > 32.
> > 
> > Then I looked at your log to make sure 32 was smaller than your
> > machine's max:
> > 
> > hostname: [ 2Eh] = inbound_payload_size[16b]
> > hostname: [ FFh] = outbound_payload_size[16b]
> > 
> > Huh ... your machine remotes 2Eh as the max, which is 46. Which is
> less
> > than the amount shown in some of your packets in the debug trace.
> Some
> > of those packets are sending > 50 characters.
> > 
> > then looking in the code for libipmiconsole
> > 
> > c->session.max_sol_character_send_size = max_outbound_payload_size -
> > sol_hdr_len;
> > 
> > I should be coding based on the max *inbound* not outbound size. No
> one
> > has hit this bug in the many years ipmiconsole has been around :P
> > 
> > If you're ok trying a beta fix, I can give you a URL to a branch in
> the
> > next day or two (not on a workstation right now). Or if you have the
> > code, it's a simple logic change in ipmiconsole_processing.c.
> > 
> > But in the mean time, try the "sol payload size" workaround and see
> if
> > the problem goes away.
> > 
> > Al
> > 
> > On Sat, 2014-06-28 at 10:42 +1000, David O'Shea wrote:
> > > Hi Albert,
> > > 
> > > Thanks for your reply. A workaround where I invoked an API to set
> the
> > > maximum number of characters sent at a time sounds fine, I could
> do
> > > some experiments to work out what value works with the iDRAC and
> > > report back so that this can be documented.
> > > 
> > > Going back to my code where I want to interact with
> libipmiconsole, I
> > > assume that with the current version of libipmiconsole, if I was
> to
> > > just write() to the file descriptor in smaller chunks, that
> wouldn't
> > > help because libipmiconsole might combine the chunks into a larger
> > > chunk that exceeds what the iDRAC supports. Is that correct?
> > >
> > > Thanks in advance,
> > > David
> > > 
> > > > Subject: Re: [Freeipmi-users] Problem pasting data into
> ipmiconsole
> > > > From: address@hidden
> > > > To: address@hidden
> > > > CC: address@hidden
> > > > Date: Fri, 27 Jun 2014 10:23:15 -0700
> > > > 
> > > > Hi David,
> > > > 
> > > > Lets see on line 1001, we see the packet that is being sent w/
> your
> > > > data. You can see in the character_data buffers lots of "20h
> 30h"
> > > hex,
> > > > which is ascii spaces and 0's.
> > > > 
> > > > As you deduced properly, the remote BMC is nacking the packet.
> > > > According to the IPMI spec, "the BMC is unable to accept all
> > > character
> > > > data from this packet."
> > > > 
> > > > Well that sucks. It seems the Dell BMC just can't handle that
> much
> > > > simultaneous data being sent. I tried this on some motherboards
> I
> > > have
> > > > locally that are not Dells and these BMCs were able to handle
> much
> > > > larger cut & pastes with ease.
> > > > 
> > > > We could program a workaround/option into
> ipmiconsole/libipmiconsole
> > > > that could max-cap the number of characters a "SOL Remote
> Console to
> > > > BMC" packet is allowed to send at the same time, to alleviate
> this
> > > > situation for your BMC. libimiconsole could even be smart enough
> to
> > > > recognize when too many NACKs happen in a row and try to
> decrease
> > > the
> > > > characters sent in one packet, although I'm not sure how hard
> that
> > > would
> > > > be to program right now. It's a bit more sophisticated and would
> > > take
> > > > time, but the workaround option would be much easier.
> > > > 
> > > > Al
> > > > 
> > > > On Fri, 2014-06-27 at 12:04 +1000, David O'Shea wrote:
> > > > > Hi all,
> > > > > 
> > > > > With version 1.2.1-6.el6_5 RPM from CentOS 6, when I ran
> > > 'ipmiconsole'
> > > > > and pasted in a fairly small amount of data (maybe 15 or so
> > > > > characters), I got "[error received]: excess retransmissions
> > > sent". I
> > > > > got a similar issue when writing about that much data from a
> > > Python
> > > > > script using libipmiconsole. I figured this means I should
> move on
> > > to
> > > > > a newer version.
> > > > > 
> > > > > With version 1.4.3, which I built from source with debugging
> > > enabled,
> > > > > it seems like I need to paste a bit more data to trigger
> problems.
> > > In
> > > > > this case, I don't get an error like the above, instead things
> > > just
> > > > > seem to get "stuck": I never seem to get a response from the
> > > remote
> > > > > system, but sending an escape sequence still works.
> > > > > 
> > > > > I started ipmiconsole, pasted " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0 0
> > > 0 0
> > > > > 0 0 0 0 0 0 0 0" (54 characters long), then after a few
> seconds I
> > > used
> > > > > ".." to terminate:
> > > > > 
> > > > > """
> > > > > $ [...]/freeipmi-1.4.3/ipmiconsole/ipmiconsole -h hostname -u
> > > admin -p calvin -e . --debug --debugfile
> > > > > [SOL established]
> > > > > 
> > > > > [closing the connection]
> > > > > """
> > > > > 
> > > > > The target is a Dell iDRAC7 with firmware version 1.56.55.
> > > > > 
> > > > > I put some of the log file that was generated up at
> > > > > https://gist.github.com/dcoshea/e7a15e34395c09da2f81 (after
> > > replacing
> > > > > the hostname with "hostname"). If you go to line 889
> > > > >
> > >
> [https://gist.github.com/dcoshea/e7a15e34395c09da2f81#file-gistfile1-txt-L889],
> > > > > this seems to be the part that relates to when I pasted in the
> > > text.
> > > > > It seems that ipmiconsole keeps re-sending the data and the
> iDRAC
> > > > > keeps responding with NACKs. The entire log contains 2000 of
> these
> > > > > messages:
> > > > > 
> > > > > (ipmiconsole_processing.c, _sol_bmc_to_remote_console_packet,
> > > 2672): hostname=hostname; protocol_state=9h: SOL packet NACKED:
> > > accepted_character_count: accepted_character_count = 0,
> > > c->session.sol_input_character_data_len = 54
> > > > > 
> > > > > Thanks in advance,
> > > > > David
> > > > > 
> > > > > _______________________________________________
> > > > > Freeipmi-users mailing list
> > > > > address@hidden
> > > > > https://lists.gnu.org/mailman/listinfo/freeipmi-users
> > > > -- 
> > > > Albert Chu
> > > > address@hidden
> > > > Computer Scientist
> > > > High Performance Systems Division
> > > > Lawrence Livermore National Laboratory
> > > > 
> > > > 
> > > 
> > -- 
> > Albert Chu
> > address@hidden
> > Computer Scientist
> > High Performance Systems Division
> > Lawrence Livermore National Laboratory
> > 
> 
-- 
Albert Chu
address@hidden
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory





reply via email to

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