Epson serial printer with Keyspan USB/Serial adapter
I use the Keyspan USB Twin Serial adapter (Model USA-28 X) to connect my Epson Stylus Color 800 printer's Macintosh serial port (din-8) to one of my Mac's USB ports.
So far, small files print without problems but larger files are incomplete.
I suggest only a very patient, technically oriented person should attempt this. Familiarity with the terminal application and the sudo command are essential.
Apple doesn't directly support serial printers under either Tiger or Leopard.
However, most of the software needed is already included in the CUPS (Common Unix Printing System) that comes with both Tiger and Leopard.
The component that is missing is the serial backend driver.
To obtain the serial backend driver, you'll need to download the CUPS source code and compile it, using the "autoconf" and "make" commands. Then you'll need to copy the serial command-line program into the /usr/libexec/cups/backend directory.
If there is enough interest from others on this web site, perhaps I'll build an installer package to simplify installation of the serial backend driver.
Here's the Tiger command I used to add the printer:
sudo lpadmin -p Epson_800 -E \
-v serial:/dev/cu.KeySerial1?baud=230400+parity=none+bits=8+stop=2+flow=none \
-P /Library/Printers/PPDs/Contents/Resources/en.lproj/escp2-800.ppd.gz \
-D "Epson_800 via Keyspan Serial Adapter" -L "Description of printer location"
Here's the Leopard command: (same except location of PPD file)
sudo lpadmin -p Epson_800 -E \
-v serial:/dev/cu.KeySerial1?baud=230400+parity=none+bits=8+stop=2+flow=none \
-P /usr/share/cups/model/gutenprint/5.1/C/stp-escp2-800.ppd.gz \
-D "Epson_800 via Keyspan Serial Adapter" -L "Description of printer location"
In both cases, there should not be any blanks in the stop=2 option.
The sudo lpadmin command is important because the Printers preference pane doesn't support serial printers even if the serial backend driver is installed. The CUPS web interface supports serial printers, but the baud rate isn't high enough due to an erroneous maximum rate reported by the serial backend driver, and it doesn't allow the stop=2 option in the printer URI.
The serial port settings (baud rate 230400, no parity, 8 data bits, 2 stop bits) are probably correct, but the "flow control" setting may be incorrect, causing larger files to be incomplete.