FS#16307 - [kernel26] Please increase CONFIG_SERIAL_8250_NR_UARTS

Attached to Project: Arch Linux
Opened by Dale Blount (dale) - Monday, 21 September 2009, 19:48 GMT
Last edited by Thomas Bächler (brain0) - Thursday, 08 October 2009, 20:39 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Thomas Bächler (brain0)
Andreas Radke (AndyRTR)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Current Arch Linux kernel only allows for 4 serial ports.

$ zcat /proc/config.gz | grep NR_UARTS
CONFIG_SERIAL_8250_NR_UARTS=4

CentOS 5.3 for example allows for 32:

$ cat /boot/config-2.6.18-128.1.16.el5PAE | grep -i NR_UARTS
CONFIG_SERIAL_8250_NR_UARTS=32

This task depends upon

Closed by  Thomas Bächler (brain0)
Thursday, 08 October 2009, 20:39 GMT
Reason for closing:  Implemented
Comment by Roman Kyrylych (Romashka) - Saturday, 03 October 2009, 19:35 GMT
Adding Andy here because it may be useful for kernel26-lts even if the default kernel config does not change this (it's more common to have many serial ports on some special servers than on desktops).
Comment by Thomas Bächler (brain0) - Sunday, 04 October 2009, 02:55 GMT
Let's do it, what would you say is a sane number? 32?
Comment by Andreas Radke (AndyRTR) - Sunday, 04 October 2009, 10:17 GMT
I guess it may be indeed useful for servers. Will 32 be enough for all common cases?
Comment by Dale Blount (dale) - Sunday, 04 October 2009, 22:23 GMT
I've only ever seen 1 server with more than 32 ports - and they weren't 8250s so I don't even think this setting applies to it. 8 would be enough to appease me, but 32 seems like it would be fine as well.
Comment by Thomas Bächler (brain0) - Wednesday, 07 October 2009, 12:13 GMT
Update 2.6.31.2-1: I increased CONFIG_SERIAL_8250_NR_UARTS to 32, but left CONFIG_SERIAL_8250_RUNTIME_UARTS at 4. You should be able to specify a higher number than 4 on the kernel commandline. Can you confirm this is fixed?
Comment by Andreas Radke (AndyRTR) - Wednesday, 07 October 2009, 16:22 GMT
increased the number for both items in new 2.6.27.36-1 LTS kernel.
Comment by Dale Blount (dale) - Thursday, 08 October 2009, 00:10 GMT
Thomas,

I get a panic when passing 8250.nr_uarts=8 on the kernel line via grub. It says that 8250_nr_uarts is not a valid parameter. I've triple checked menu.lst and I have 8250.nr_uarts=8 not 8250_nr_uarts=8. Any ideas?



Comment by Thomas Bächler (brain0) - Thursday, 08 October 2009, 11:16 GMT
I have no idea what might be the cause, can you give more precise details about the error message and its surroundings?
Comment by Thomas Bächler (brain0) - Thursday, 08 October 2009, 11:18 GMT
Try this attached patch and regenerate your initramfs (mkinitcpio -p kernel26).
Comment by Dale Blount (dale) - Thursday, 08 October 2009, 11:27 GMT
I'll get a digital camera capture when I get home...
Comment by Thomas Bächler (brain0) - Thursday, 08 October 2009, 11:43 GMT
Don't bother, just try if the attached diff fixes it. Apparently, sh variable name must not start with a digit.
Comment by Dale Blount (dale) - Thursday, 08 October 2009, 19:51 GMT
Works with that patch, thanks Thomas. No idea why it skips S2 and S3, but that's fine by me. ttyS0 and ttyS5 both tested and operational.

serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:08: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
0000:00:0e.0: ttyS4 at I/O 0xefa8 (irq = 7) is a 16550A
0000:00:0e.0: ttyS5 at I/O 0xefa0 (irq = 7) is a 16550A
0000:00:0e.1: ttyS6 at I/O 0xeff0 (irq = 7) is a 16550A
0000:00:0e.1: ttyS7 at I/O 0xefe0 (irq = 7) is a 16550A

Comment by Thomas Bächler (brain0) - Thursday, 08 October 2009, 20:39 GMT

Loading...