Bug 119467

Summary: 2 Serial ports missing
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Dirk Stoecker <opensuse>
Component: KernelAssignee: Hubert Mantel <mantel>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: RC 1   
Target Milestone: ---   
Hardware: i386   
OS: All   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Dirk Stoecker 2005-09-29 16:25:30 UTC
I recently installed an SUSE 10.0 system on my somewhat older computer and now 
have a little problem with the serial ports. 
 
I have an server with 1 normal serial port and a multiport serial card (lspci 
output): 
00:0a.0 Serial controller: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950 
UART) function 0 (prog-if 06 [16950]) 
        Subsystem: Oxford Semiconductor Ltd: Unknown device 0000 
        Flags: medium devsel, IRQ 10 
        I/O ports at c400 [size=32] 
        Memory at cfff6000 (32-bit, non-prefetchable) [size=4K] 
        I/O ports at c000 [size=32] 
        Memory at cfff5000 (32-bit, non-prefetchable) [size=4K] 
        Capabilities: <access denied> 
 
The system setup only initialized 4 serial ports: 
ttyS0 - external serial 
ttyS1 - probably nowhere connected, but existing 
ttyS2 - serial card port 1 
ttyS3 - serial card port 2 
port 3 and 4 are missing: 
 
boot.msg: 
--snip-- 
<6>serio: i8042 AUX port at 0x60,0x64 irq 12 
<6>serio: i8042 KBD port at 0x60,0x64 irq 1 
<6>Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled 
<4>ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 
<4>ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A 
<4>ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 
<4>ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10 
<4>PCI: setting IRQ 10 as level-triggered 
<6>ACPI: PCI Interrupt 0000:00:0a.0[A] -> Link [LNKC] -> GSI 10 (level, low) 
-> IRQ 10 
<4>ttyS2: detected caps 00000700 should be 00000100 
<4>ttyS2 at I/O 0xc400 (irq = 10) is a 16C950/954 
<4>ttyS3: detected caps 00000700 should be 00000100 
<4>ttyS3 at I/O 0xc408 (irq = 10) is a 16C950/954 
--snip-- 
 
Previous there was an SuSE9.1 installed, which detected the serials as: 
 
device       port      irq 
ttyS0        0x3F8     4 
ttyS1        0x2F8     3 
ttyS14       0x400     10       (now ttyS2) 
ttyS15       0x408     10       (now ttyS3) 
ttyS44       0x410     10 
ttyS45       0x418     10 
 
I digged into the system, but did not find out, how the automatic device 
handling works into detail and did not find any solution. I tried setting up 
this using mknod and setserial, but it seems this is no longer possible? 
 
I can provide any additional information if this helps. 
 
Would be nice to get this fixed.
Comment 1 Kay Sievers 2005-10-11 13:01:08 UTC
I expect it to be a kernel setting:
  CONFIG_SERIAL_8250_NR_UARTS=4

Does mknod+setserial work?
(The device node will get lost on reboot, but does the device work as long as
the box is not rebootet?)
Comment 2 Dirk Stoecker 2005-10-11 14:16:34 UTC
Hello, 
 
>Does mknod+setserial work? 
>(The device node will get lost on reboot, but does the device work as long as 
>the box is not rebootet?) 
 
No (as stated above). I always get for higher minor numbers: 
ttySx: No such device or address 
 
Comment 3 Kay Sievers 2005-10-12 12:14:28 UTC
Then it's not a udev/hotplug issue. No idea besides that the
CONFIG_SERIAL_8250_NR_UARTS may need to adapted to support more than 4 ports.
Not sure!
Comment 4 Kay Sievers 2005-10-21 11:58:45 UTC
Reassign. Maybe a kernel configuration of CONFIG_SERIAL_8250_NR_UARTS?
Comment 5 Hubert Mantel 2005-10-21 13:05:23 UTC
Fixed. Will be in the next release and the next security update kernel.