Bug 212501

Summary: Unknown boot option 8250.nr_uarts
Product: [Fedora] Fedora Reporter: Tom Horsley <horsley1953>
Component: kernel-xenAssignee: Markus Armbruster <armbru>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 6CC: bstein, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-03-28 09:09:04 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:

Description Tom Horsley 2006-10-27 01:52:31 UTC
Description of problem:

The 8250.nr_uarts option has always worked for me to get access to
all the ports on my byterunner board, but with FC6 xen kernel, it
isn't recognized.

With these entries in grub.conf:

title Fedora Core (2.6.18-1.2798.fc6)
	root (hd0,0)
	kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet audit=0 selinux=0
8250.nr_uarts=9
	initrd /initrd-2.6.18-1.2798.fc6.img
title Fedora Core (2.6.18-1.2798.fc6xen)
	root (hd0,0)
	kernel /xen.gz-2.6.18-1.2798.fc6 
	module /vmlinuz-2.6.18-1.2798.fc6xen ro root=LABEL=/ rhgb quiet audit=0
selinux=0 8250.nr_uarts=9
	module /initrd-2.6.18-1.2798.fc6xen.img

Booting fc6xen gives these messages:

Built 1 zonelists.  Total pages: 483946
Kernel command line: ro root=LABEL=/ rhgb quiet audit=0 selinux=0 8250.nr_uarts=9
audit: disabled (after initialization)
Unknown boot option `8250.nr_uarts=9': ignoring
Initializing CPU#0

And the only serial ttys I see are:

[root@zooty ~]# ls -ld /dev/ttyS*
crw-rw-rw- 1 root uucp 4, 64 Oct 26 21:34 /dev/ttyS0
crw------- 1 root root 4, 65 Oct 26 21:34 /dev/ttyS1
crw------- 1 root root 4, 66 Oct 26 21:34 /dev/ttyS2
crw------- 1 root root 4, 67 Oct 26 21:34 /dev/ttyS3

If I boot the non-xen fc6 kernel, I get this:

no error messages about unknown boot parameters

[root@zooty ~]# ls -ld /dev/ttyS*
crw-rw-rw- 1 root uucp 4, 64 Oct 26 21:40 /dev/ttyS0
crw-rw-rw- 1 root uucp 4, 65 Oct 26 21:40 /dev/ttyS1
crw-rw-rw- 1 root uucp 4, 66 Oct 26 21:40 /dev/ttyS2
crw-rw-rw- 1 root uucp 4, 67 Oct 26 21:40 /dev/ttyS3
crw-rw-rw- 1 root uucp 4, 68 Oct 26 21:41 /dev/ttyS4
crw-rw-rw- 1 root uucp 4, 69 Oct 26 21:41 /dev/ttyS5
crw-rw-rw- 1 root uucp 4, 70 Oct 26 21:41 /dev/ttyS6
crw-rw-rw- 1 root uucp 4, 71 Oct 26 21:41 /dev/ttyS7
crw-rw-rw- 1 root uucp 4, 72 Oct 26 21:41 /dev/ttyS8

And all 9 uarts show up.

Version-Release number of selected component (if applicable):

2.6.18-1.2798.fc6xen

How reproducible:

every time

Steps to Reproduce:
1. boot xen kernel as show abocve
  
Actual results:

unrecognized option, only 4 uarts

Expected results:

no error, and 9 uarts

Additional info:

I couldn't possibly tell you the model number of the byterunner
board involved, but it is an 8 port PCI board (the 9 comes by
adding in the one serial port on the mother board).

Comment 1 Gene Heskett 2006-11-12 00:03:24 UTC
The x86 version of xen also suffers from this, but its not in making 
the /dev/ices, it in the kernels detection of the hardware during boot.  There 
is no mention in dmesg of it detecting and initializing anything but the ps2 
ports.

Reverting to a regular i686 kernel fixes things right up.

Comment 2 Glauber Costa 2006-11-22 10:49:33 UTC
The main reason for the parameter not to be working is that in xen kernels, is
that 8250 is put as a module, not builtin, rendering the boot option useless. 

There's large discussion about it being modular, in bug #204825

Comment 4 Markus Armbruster 2007-03-28 09:09:04 UTC
This is not a bug, it works as designed.  As explained in bug #204825, 8250 must
be a module in Xen kernels.  Kernel parameters specified on the kernel command
line apply only to modules that are built into the kernel image.  Module
parameters for loadable modules need to be specified with modprobe, either on
its command line or in its config files.

I suggest to configure nr_uarts in your modprobe.conf for use with Xen.  If that
doesn't work for you, feel free to reopen the bug.


Comment 5 peter 2007-10-13 19:44:42 UTC
Mark,

This may not be a technical bug. However, this sounds like a serious usability 
issue wtih Red Hat, effectively putting us back to the 70s. 

For all non-Unix Administrators, like myself, how do I get RH OS to recognize 
serial devices? 

[root@some etc]# setserial -bg /dev/ttyS[0-9]*
/dev/ttyS1: No such device or address
/dev/ttyS2: No such device or address << One serial device is installed on this 
port
/dev/ttyS3: No such device or address

Comment 6 Markus Armbruster 2007-10-15 09:40:18 UTC
Peter,

Having to specify 8250.nr_uarts to get your devices working isn't terribly
usable regardless of whether you have to do it on the kernel command line or
with modprobe.  Still, the difference between Xen and non-Xen kernel is
unfortunate.  There's really nothing we can do about that, I'm afraid.  See bug
#204825 for why.

That bug got resolved by a udev update.  Does that help you?