Don't Display grub menu in UART(16C952) Serial console.

Issues related to hardware problems
Post Reply
omnix-mm
Posts: 15
Joined: 2015/03/25 05:25:41

Don't Display grub menu in UART(16C952) Serial console.

Post by omnix-mm » 2015/03/25 05:48:29

Hi,

I've added Startech.com's PEX1S952LP PCIe Serial Card on hp DL360Gen9 Server.
And, Configuration CentOS6.5_x86_64's grub.conf,inittab and securetty files.

ex.)grub.conf
# cat /etc/grub.conf
default=0
timeout=10
serial --unit=2 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
title CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=LABEL=/ console=tty0 console=uart,mmio,0x93001000,9600n8
initrd /initramfs-2.6.32-431.el6.x86_64.img


I had able to do OS login and commanding on Serial console now.
But, I can't see and control First Startup message and grub menu.(by corrupted text)

log)
==up to more (but, corrupted text)==
靆・ャヒkスア[ttyS2] enabled, bootconsole disabled
console [ttyS2] enabled, bootconsole disabled
brd: module loaded
loop: module loaded
input: Macintosh mouse button emulation as /devices/virtual/input/input1
Fixed MDIO Bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd 0000:00:1a.0: PCI INT C -> GSI 18 (level, low) -> IRQ 18
Refined TSC clocksource calibration: 2596.991 MHz.
Switching to clocksource tsc
ehci_hcd 0000:00:1a.0: EHCI Host Controller
ehci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1a.0: debug port 2
ehci_hcd 0000:00:1a.0: irq 18, io mem 0x93402000
ehci_hcd 0000:00:1a.0: USB 2.0 started, EHCI 1.00
==last to more==

another logs)
*dmesg
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0c: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
serial 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
1 ports detected on Oxford PCI Express device
ttyS2: detected caps 00000700 should be 00000100
0000:05:00.0: ttyS2 at MMIO 0x93001000 (irq = 16) is a 16C950/954


How about care this case ?

omnix-mm
Posts: 15
Joined: 2015/03/25 05:25:41

Re: Don't Display grub menu in UART(16C952) Serial console.

Post by omnix-mm » 2015/03/25 21:34:04

console [ttyS2] enabled, bootconsole disabled
bootconsole disabled...
Did you mean...is this ?
Linux Kernel Boot Parameters
http://redsymbol.net/linux-kernel-boot- ... rs/2.6.32/

Code: Select all

       earlycon=       [KNL] Output early console device and options.
                uart[8250],io,<addr>[,options]
                uart[8250],mmio,<addr>[,options]
                uart[8250],mmio32,<addr>[,options]
                        Start an early, polled-mode console on the 8250/16550
                        UART at the specified I/O port or MMIO address.
                        MMIO inter-register address stride is either 8bit (mmio)
                        or 32bit (mmio32).
                        The options are the same as for ttyS, above.

        earlyprintk=    [X86,SH,BLACKFIN]
                        earlyprintk=vga
                        earlyprintk=serial[,ttySn[,baudrate]]
                        earlyprintk=ttySn[,baudrate]
                        earlyprintk=dbgp[debugController#]

                        Append ",keep" to not disable it when the real console
                        takes over.

                        Only vga or serial or usb debug port at a time.

                        Currently only ttyS0 and ttyS1 are supported.

                        Interaction with the standard serial driver is not
                        very good.

                        The VGA output is eventually overwritten by the real
                        console.

omnix-mm
Posts: 15
Joined: 2015/03/25 05:25:41

Re: Don't Display grub menu in UART(16C952) Serial console.

Post by omnix-mm » 2015/04/01 09:32:02

I'm advance, but can't do Grub menu yet ...

==Today,First time==
I add parameter-line to "earlyprintk=vga,keep console=uart,mmio,0x93001000,9600n8"
(I tryed too many parameters append at "20150401_earyprintk_many_test_result.txt")

# cat /etc/grub.conf
default=0
timeout=10
serial --unit=2 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
title CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
#kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=LABEL=/ console=tty0 console=uart,mmio,0x93001000,9600n8
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=LABEL=/ console=tty0
earlyprintk=vga,keep console=uart,mmio,0x93001000,9600n8
initrd /initramfs-2.6.32-431.el6.x86_64.img


<Result(of First time)>
Earlyconsole = Enable !
Grub menu = I Can't see..
OS login = I Can't..



==Next time==
GNU GRUB Manual 0.97
http://sobac.com/sobac/grub097.html#serial

I add parameter-line to "serial --device=earlyvga0"
(So,"--port" was not worked.)

# cat /etc/grub.conf
default=0
timeout=10
#serial --unit=2 --speed=9600 --word=8 --parity=no --stop=1

serial --device=earlyvga0
terminal --timeout=10 serial console
title CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
#kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=LABEL=/ console=tty0 console=uart,mmio,0x93001000,9600n8
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=LABEL=/ console=tty0 earlyprintk=vga,keep console=uart,mmio,0x93001000,9600n8
initrd /initramfs-2.6.32-431.el6.x86_64.img


<Resul(of Next time)>
Earlyconsole = Enable !
Grub menu = I Can't see..
OS login = I Can !


==Serial Console log==
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013
Command line: ro root=LABEL=/ console=tty0 earlyprintk=vga,keep console=uart,mmio,0x93001000,9600n8
KERNEL supported cpus:
Intel GenuineIntel
AMD AuthenticAMD
Centaur CentaurHauls
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 0000000000094000 (usable)
BIOS-e820: 0000000000094000 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000005b556000 (usable)
BIOS-e820: 000000005b556000 - 000000005c216000 (reserved)
BIOS-e820: 000000005c216000 - 00000000790ff000 (usable)
BIOS-e820: 00000000790ff000 - 00000000791ff000 (reserved)
BIOS-e820: 00000000791ff000 - 000000007b5ff000 (ACPI NVS)
BIOS-e820: 000000007b5ff000 - 000000007b7ff000 (ACPI data)
BIOS-e820: 000000007b7ff000 - 000000007b800000 (usable)
BIOS-e820: 000000007b800000 - 0000000090000000 (reserved)
BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000480000000 (usable)
console [earlyvga0] enabled
Early serial console at MMIO 0x93001000 (options '9600n8')
Too late to register bootconsole uart-1
--more--
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0c: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
serial 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
ttyS2: detected caps 00000700 should be 00000100
0000:05:00.0: ttyS2 at MMIO 0x93001000 (irq = 16) is a 16C950/954
Refined TSC clocksource calibration: 2596.992 MHz.
Switching to clocksource tsc
console [ttyS2] enabled
--more--

What is it all about..
Attachments
20150401_earyprintk_many_test_result.txt
(1.03 KiB) Downloaded 136 times

omnix-mm
Posts: 15
Joined: 2015/03/25 05:25:41

Re: Don't Display grub menu in UART(16C952) Serial console.

Post by omnix-mm » 2015/04/02 16:37:03

When I will give up, to grub menu on the Serial console ?

I'm able to do OS operation on Serial console now.
And, I can change to single mode by VGA console. and,
After to the runlevel 3's operation on Serial console, wasn't issue.
Is this a compromise point ? Hmm....

Maybe, I think that "serial" command line in grub.conf is key point.
But,I did not to understand it mean of parameters...

http://sobac.com/sobac/grub097.html#serial
— Command: serial [--unit=unit] [--port=port] [--speed=speed] [--word=word] [--parity=parity] [--stop=stop] [--device=dev]
port is the I/O port where the UART is to be found; if specified it takes precedence over unit.
Is this mean a I/O port address ? or port numbers ?
The option --device can only be used in the grub shell and is used to specify the tty device to be used in the host operating system (see Invoking the grub shell).
What is this ? "serial --device ttyS2" ? or "serial --device /dev/ttyS2" ? or other ?

(p.s)Posted on this link to hp's Forum.
http://h30499.www3.hp.com/t5/ProLiant-S ... -p/6728357

omnix-mm
Posts: 15
Joined: 2015/03/25 05:25:41

Re: Don't Display grub menu in UART(16C952) Serial console.

Post by omnix-mm » 2015/04/24 23:35:16

Hi,
(may be my last question..)
Can anyone show grub menu by USB/Serial adapter at serial console ?

chemal
Posts: 776
Joined: 2013/12/08 19:44:49

Re: Don't Display grub menu in UART(16C952) Serial console.

Post by chemal » 2015/04/25 02:24:13

To see anything before the linux kernel has loaded its minimal set of drivers, I guess you need support from the BIOS to set up the serial device and then redirect the early output to it, including the grub menu. That's how it works with IPMI/SOL on some Supermicro servers over here. The BIOS also has options to do this for a real serial console over the built-in serial adapter, but I don't think you can get the same with just adding some cheap serial adapter card without BIOS support. After all, HP wants to sell their own solution.

omnix-mm
Posts: 15
Joined: 2015/03/25 05:25:41

Re: Don't Display grub menu in UART(16C952) Serial console.

Post by omnix-mm » 2015/04/25 12:51:26

Thank you, chemal. and me too.

I got about it private message from HP forums.
So,What to do think everyone, I asked it.

I think maybe this issue was to use Memory-mapped I/O only for 16C950/954 UART.
[Mechanism]
Server start -> BIOS startup -> IRQ4,3(Port-mapped I/O 0x3f8,0x2f8:legacy Serial port or HP's VSP (in the supported BIOS) ) -> BIOS Serial display -> Grub menu Serial display -> OS startup -> PCIe setup -> IRQ 16(mmio 0x93001000:UART Serial) -> USB (high memory device include USB/Serial adapter) setup -> ethernet nic setup and anymore -> OS login and operation.

So, be fixed it, if I can find 16550A compatible serial device .(but 16550A was legacy)

Post Reply