Originally Published: Wednesday, 11 April 2001 Author: Brian Richardson
Published to: enhance_articles_hardware/Hardware Articles Page: 1/1 - [Std View]

Keyspan USB 4-port Serial Adapter

Running short on serial ports? Brian Richardson reviews an easy way to add serial ports to a USB port under Linux.

There is a slow trend in the computer world. It started with the iMac, and is working its way into the mainstream PC market. The tried and true ports of days gone by are disappearing. Serial ports, parallel ports & floppy drives are going the way of the ENIAC. These good old ports are being removed from new computer designs in favor of the fast & easy USB connector.

Too bad your favorite peripherals still have that stupid 9-pin RS-232 connector.

There is hope the geek that wants to upgrade to the high tech computer with no serial ports, but still wishes to retain their beloved serial hardware. The Keyspan USB 4-port Serial Adapter, known to on-line catalogs everywhere as the UAS49W, is one of many USB-to-Serial devices that allow serial port devices to attach to a USB bus.

Are You Smoking Something?

The first question most sensible people ask (myself included) is "why put that old serial stuff on my new whiz-bang computer"? The rationale is anybody moving up to the newest hardware doesn't need a serial port. The iMac proved this theory wrong, since a lack of "legacy" devices was the chief complaint of the design.

Many devices still rely on serial ports. Many PDAs hot-synch over serial cables for example. My APC SmartUPS 1400 uses a serial cable to report power status to one of my intranet servers. These are not ancient relics of the digital age. So folks with computers devoid of serial ports are out of luck when looking at newer computer designs.

Another good application for a USB-to-serial converter is port expansion. My home computer only has one serial port, which is occupied by a PDA hot-synch cable. I also have no ISA slots, so I cannot add a standard Super I/O card to get extra ports. If I want to add a UPS like the APC SmartUPS that reports status via serial cable, I'm fairly screwed. A USB-to-serial converter adds serial ports, without those annoying IRQ conflicts.

Keyspan Kernel Support

The Keyspan adapter came with a CD-ROM and booklet for Windows/Mac installations. The install instructions for Linux were much shorter ... 'get the 2.4 kernel'.

Keyspan serial port adapters are supported by the 2.4 Linux kernel. I downloaded the 2.4.3 source code on my RedHat 6.2 system and started to work. Along with the usual kernel compilation steps, I selected the following under the 'USB Serial Convertor Support' menu:

Note: these drivers are labeled as EXPERIMENTAL. Make sure you have 'Prompt for development and/or incomplete code/drivers' turned on under the 'Code Level and Maturity Options' to enable EXPERIMENTAL drivers.

After compiling the new kernel, I connected the Keyspan USB-to-Serial converter and rebooted. The kernel recognized the USB device, but I had no additional serial ports. After digging on the web, I found the source of the problem. Device nodes for the new serial ports have to be created and linked to the USB-to-serial converter. Following the steps I found at linux-usb.org, I used the following lines to create four new serial device nodes:

mknod /dev/ttyUSB0 c 188 0
mknod /dev/ttyUSB1 c 188 1
mknod /dev/ttyUSB2 c 188 2
mknod /dev/ttyUSB3 c 188 3

The '188' indicates that the node is tied to the serial converter driver. It helps if you are root when running mknod.

After creating the device nodes, the Keyspan USB-to-Serial converter was flawless. I connected my APC SmartUPS 1400's serial cable to the Keyspan, reconfigured the PowerChute software, and was receiving UPS status via the USB port. Despite the lack of documentation for Linux installation, the Keyspan USA-49W is a solid piece of hardware with good Linux compatibility.

Brian Richardson is having too much fun playing with all these USB toys. Too bad he doesn't have a hub so they can all be plugged in at the same time. Now Brian hopes the Easter Bunny(tm) can get a hub into one of those little plastic eggs ...