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: Al Chu
Subject: Re: [Freeipmi-users] Problem pasting data into ipmiconsole
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




reply via email to

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