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

Serial console server (1): Adapter choice

I recently ran across an interesting issue when I started building a network lab. Anyway, I wanted a serial console server to not always swap console cables between every box.

Since real serial console servers (well, makes me think of a KVM switch but for serial console ports) can be prhibitively priced, I looked at DYI solutions: A *nix box with just the number of serial ports that I needed – at least 6 (ok, in meantime: 9).

USB vs. PCI(e)

Serial ports are dying and mostly disappearing on today’s end-user computers: On laptops they vanished back around the Pentium 3 to Pentium 4 generation, most desktop computers have banned the old DB9 starting I’d say the Core 2 generation. Often you can either finde a mere single port at the back, or you can attach a DB9 port to a onboard DB9 header. Getting 6-9 connectors to one single box wasn’t going to be the solution, I ran accross 2 ways to hook more ports to a reasonably modern Computer: USB to Serial adapters or PCI(e) cards.

Prolific PL2303 and the “break” problem

With some Cisco gear (mostly their routers) you need to send a break message over the serial console to get into ROMMON mode, like when you need to reset the password, or flash the IOS when it’s broken. The break sequence is sent by a serial console tool and will work with (really?) any native, non-converted, serial console port. But lots of these USB to serial cables use variants of the Prolific PL2303 chip, some differ in design, most often you can’t really distinguish devices with the PL2303 chip and others like the ones from FTDI until you plug them into your computerand see the driver loaded.

All/lots of PL2303 based serial converters have one particular gotcha: They are just NOT able send this break message properly. Additionally hooking up 8-9 of these converters on some USB hub is also quite clunky (> 2 Port USB to serial adapters exist but are quite expensive too). I didn’t want to check all the converters for using the FTDI chip, there are seemingly so many products with the Prolific chip floating around thus I dismissed the idea.

PCI vs. PCIe

There are PCI and PCIe boards that allow you to get 2, 4, 8, 16 or even up to 32 ports over a single card (16 and 32 often via external boxes). Many of these boards are using the PCI interface – while serial ports won’t even remotely hit the limits of the PCI bus, I expect to PCI to get more and more difficult in future to get (both boards and cards). Which is why I looked for  the – still quite seldom – PCIe boards. There are many different vendors out there but the Oxford-based cards were seen as compatible with most Linux, Windows and BSD version so far. My EXSYS EX-44378 which thanks to its low-profile format can also be used in small cases or 2U rack chasiss.

Albeit I have tried to check it would work out of the box – allas the card got recognized by Debian Squeeze, it only showed up with 4 of the 8 available ports…

September 9, 2012

Posted In: Uncategorized

Tags:

Leave a Comment