Bug 400191

Summary: anaconda sets wrong default baud rate for serial tty on a QS21
Product: [Fedora] Fedora Reporter: Mijo Safradin <msafradin>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 8CC: dcantrell, ejratl, hannsj_uhl, jens.osterkamp, jroth, kernel-maint, maurizio.antillon, notting, stenzel
Target Milestone: ---   
Target Release: ---   
Hardware: powerpc   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-09 05:20:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 463323    

Description Mijo Safradin 2007-11-26 21:38:08 UTC
Description of problem:
After installing Fedora 8 Release on a QS21 Blade, the serial connection shows
only garbage, because the default baud rate set by anaconda is wrong.

inittab after installation:
co:2345:respawn:/sbin/agetty ttyS0 9600 vt100-nav

fixed inittab:
co:2345:respawn:/sbin/agetty ttyS0 19200 vt100-nav
or
tty:2345:respawn:/sbin/agetty ttyS0 19200 vt100-nav


Version-Release number of selected component (if applicable):
anaconda from Fedora 8 release

How reproducible:
use SOL or Direct Serial.

Steps to Reproduce:
1.
2.
3.
  
Actual results:
...
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
Generic RTC Driver v1.07
Linux agpgart interface v0.102
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x14540000200 (irq = 32) is a 16550A
                                                                ���枞ކ昘
��������Ƙ��昆�昆����Ƙ����昆����Ƙ���憞���憞憞�Ƙ��枞昆�����怘���枞�憞ޞ�憆憆�昞�憆
憞��؀���枆��枆��昆��枆怞�枆���ƞ��枆怘���憞憞����憞憞��憞�憀���憞憞�怘�憞枞怘�ކ枆
ކ怘�ކ枆ކ��ކ枞�憞怘憞��怘�憞枞ޞ���憞�ޞ��憞憞���憞��怘憞���怘����ޞ憀���Ɔ����怘
����Ɔ枞枆��▒��Ɔހ憞������ƞ����枆怘Ɔ怘Ɔ枞怘���憀��昀�ޞ�怘���Ɔ�������Ɔ枞枆����؞�Ɔ�
怞��憞������ƞ����枆怘Ɔ怘Ɔ�枞怘���ƞ����枆怘Ɔ怘Ɔ枞怘��昀�ޞ���Ɔ���怘����Ɔ枞枆
���������ƞ����枆怘�Ɔ�怞��憞��怘�Ɔ��ƞ����枆怘Ɔ怘Ɔ枞怘�怘�枞怘�Ɔ�怞��憞��怘
�������ކ�ޞ憞�怘�枞�Ɔ��ƞ����枆怘�怘��怘��怘����枞�怘昆��枆�怘�枞�怘����ƞ���怘�枆
��昘��憞憆憘����怘���ؘ�怘�����怘�����昘昆枆憞憆憘��怘枞��憞昆昀昆�枆�����枞昀昆
Ɔ����ހ��ހ��憆憆��怘��昘▒����怘���枞�枞怘���ޞƆޞƆ枘��昘▒����怘���枞�枞怘���ޞƆޞƆ枘

Expected results:
human readable output

Additional info:

Comment 1 Bill Nottingham 2007-11-26 22:17:59 UTC
Speed is determined by:

                                tspeed = cfgetospeed(&tp);

Presumably, the driver is lying.

Comment 2 Chuck Ebbert 2007-11-27 23:41:03 UTC
If serial console is active, I don't think we can even guess at what speed it is
using.

Comment 3 Bill Nottingham 2007-11-28 04:15:32 UTC
Works in brief testing with a normal PC serial port - booting with
console=ttyS0,115200n1 shows up as 115200 correctly.

Comment 4 Mijo Safradin 2007-12-21 17:38:06 UTC
further investigation shows a misbehavior, maybe of the device driver or the
setserial tool.

$> ps ax |grep agetty
 3126 ttyS0    Ss+    0:00 /sbin/agetty ttyS0 19200 vt100-nav
 3136 pts/0    S+     0:00 grep agetty
$> setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x0000, IRQ: 32
        Baud_base: 921600, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal

The 'Baud_base' doesn't look right ...

Trying to change things using setserial, some will fail.
* its not possible to change the "UART" or "Baud_base".
* its possible to change the "Flags" value.

#####
$> setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x0000, IRQ: 32
        Baud_base: 921600, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal

$>  setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x0000, IRQ: 32
        Baud_base: 921600, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal

$>  setserial /dev/ttyS0 spd_vhi
$>  setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x0000, IRQ: 32
        Baud_base: 921600, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_vhi

$>  setserial /dev/ttyS0 spd_normal
$>  setserial -a /dev/ttyS0 baud_base 115200
$>  setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x0000, IRQ: 32
        Baud_base: 921600, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal

$>  setserial -a /dev/ttyS0 baud_base 19200
$>  setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x0000, IRQ: 32
        Baud_base: 921600, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal

$> cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A mmio:0x14540000200 irq:32 tx:329 rx:2 RTS|CTS|DTR
1: uart:16550A mmio:0x14540000300 irq:33 tx:0 rx:0
2: uart:16550A mmio:0x34540000200 irq:34 tx:0 rx:0
3: uart:16550A mmio:0x34540000300 irq:35 tx:0 rx:0

$> setserial /dev/ttyS0 uart 8250
$> cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A mmio:0x14540000200 irq:32 tx:329 rx:2 RTS|CTS|DTR
1: uart:16550A mmio:0x14540000300 irq:33 tx:0 rx:0
2: uart:16550A mmio:0x34540000200 irq:34 tx:0 rx:0
3: uart:16550A mmio:0x34540000300 irq:35 tx:0 rx:0
$> setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x0000, IRQ: 32
        Baud_base: 921600, close_delay: 50, divisor: 0
        closing_wait: 3000
        Flags: spd_normal



$> lsmod | grep 8250
8250_pci               39384  0 
8250                   64208  4 of_serial,8250_pci

Comment 5 Chris Lumens 2008-09-23 14:38:31 UTC
anaconda doesn't write anything to /etc/inittab besides the default runlevel.  However, we do pass along cmdline options that you run the installer with to the finished system.  What happens if you do like Bill suggested and add a speed via console= ?

Comment 6 Mijo Safradin 2008-10-10 13:40:53 UTC
retested using a development ppc64 netboot image.
workaround using "console=ttyS0,19200" works fine.  
A automated solution would be welcome.

Comment 7 Bill Nottingham 2008-10-10 13:57:23 UTC
Automated would involve the port claiming the speed correctly. That would be a kernel (or hardware) issue.

Comment 8 Bug Zapper 2008-11-26 08:42:34 UTC
This message is a reminder that Fedora 8 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 8.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '8'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 8's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 8 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 9 Bug Zapper 2009-01-09 05:20:43 UTC
Fedora 8 changed to end-of-life (EOL) status on 2009-01-07. Fedora 8 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.