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: David O'Shea
Subject: Re: [Freeipmi-users] Problem pasting data into ipmiconsole
Date: Tue, 1 Jul 2014 14:15:16 +1000

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.

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
> 
                                          

reply via email to

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