Serial console server (2): The curse of the 4 ports

As said in the previous post, the “fancy” EXSYS 8 port card got happily recognized, but: It only showed 4 of the total of 8 Ports, and that was only when the 2 onboard serial controllers were disabled. *grrr*

After trying out also Debian’s backport kernel without success I checked the 8250’s driver code in Linux and only later I stumbled upon Kyle Anderson’s wiki: Debian (and basically most Linux distributions) are hard coded not to initialize more than 4 serial ports, we need to tell it to do so via a boot paramter. Honestly: Most modern computers don’t even have physical serial ports, maxing out at 2 if they are still present, so this setting makes sense for most computers. Kyle’s Wiki contains instructions to get it running with CentOS which is using GRUB, Debian has switched to GRUB2 with squeeze so his instructions needed slight changes since grub/bootloader doesn’t exist and /boot/grub/menu.cfg gets overwritten at kernel updates.

Edit and change: /etc/default/grub as follows

# squeeze default:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

# new:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash 8250.nr_uarts=8"

Then issue ‘update-grub’ and reboot, then check if you additional ports get regoznized by issuing:

cat /proc/tty/drivers

For some reasons, I had even to up this to 16 because when I enabled the first 2 onboard tty’s the first serial port of the EXSYS Oxford-based were not ttyS2-tty9, but ttyS5 -ttyS12 maybe due to other controller using resources. Since playing with kernel boot parameters doesn’t belong to my daily business I was very happy to find this “sidenote” saving me a couple of hours learning deeper into driver options.

September 11, 2012

Posted In: Uncategorized

Tags: , , ,

Leave a Comment