[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #31173] GRUB loses characters on HP Integrated Lights Out 2 (iLO2)
From: |
Oscar Perez |
Subject: |
[bug #31173] GRUB loses characters on HP Integrated Lights Out 2 (iLO2) Virtual Serial Port session |
Date: |
Thu, 30 Sep 2010 15:16:25 +0000 |
User-agent: |
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; .NET4.0E; InfoPath.3) |
URL:
<http://savannah.gnu.org/bugs/?31173>
Summary: GRUB loses characters on HP Integrated Lights Out 2
(iLO2) Virtual Serial Port session
Project: GNU GRUB
Submitted by: iloguy
Submitted on: Thu 30 Sep 2010 10:16:24 AM CDT
Category: None
Severity: Major
Priority: 5 - Normal
Item Group: Software Error
Status: None
Privacy: Public
Assigned to: None
Originator Name: iLO Guy
Originator Email: address@hidden
Open/Closed: Open
Discussion Lock: Any
Release:
Release: 1.97
Reproducibility: Every Time
Planned Release: None
_______________________________________________________
Details:
Hello,
I'm new here so please bear with me. I work for HP third level support and I
came here to file a new bug.
Description:
Our HP Integrated Lights Out 2 (iLO2) product contains a virtual UART that
present itself to the host server as a regular COM port. iLO2 firmware has
special code that allows customers to open Telnet or SSH session to iLO2 then,
iLO2 would forward all the traffic back and forth to the server via this
virtual serial port.
The issue we have with any Grub version is related to fact that the timeout
value inside the serial_hw_put() function is way too short for iLO2.
I explain why; Since iLO2 UART is virtual, baudrate for us is meaningless. As
soon as Grub writes one byte to the iLO2 Virtual UART TX register, iLO2 gets
the interrupt, iLO2 ISR reads the byte and stores it in a buffer. The
UART_EMPTY_TRANSMITTER bit gets automatically set whenever the ISR reads the
character from the UART. But this causes Grub to come back and write the next
byte very quickly. The process repeats and iLO2 incoming buffer gets full very
fast.
Once iLO2 buffer gets full, iLO2 will hold the UART_EMPTY_TRANSMITTER bit low
waiting for the buffer to be processed and all the data gets sent via the
network to the Telnet/SSH client.
But, if the network connection is slow or the data we have to send is too
much then, iLO2 holds the UART_EMPTY_TRANSMITTER bit low for too long, Grub
times out and Grub begins dropping characters.
We have increased our buffer size as a workaround but, I think Grub needs to
increase the timeout inside serial_hw_put() a whole lot.
How to reproduce:
- Get an HP ProLiant server with iLO2 (Any G5 or G6 server)
- Upgrade iLO2 firmware to version 2.01
- Set up Grub to use the Virtual Serial Port (Default is COM2 but, this can
be changed in ROM BIOS)
- Add at least 10 menu entries in GRUB in order to make it scroll when
navigating. This makes GRUB write lots of data to the port.
- SSH into iLO2, log in then type VSP
- Reboot server and wait for GRUB to show up.
- You should see characters being lost while navigating through the menu.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?31173>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug #31173] GRUB loses characters on HP Integrated Lights Out 2 (iLO2) Virtual Serial Port session,
Oscar Perez <=