Seiko label printer under OSX: almost working, but not quite
Mike
mike99 at ber9sted.free9uk.com9
Sun Mar 13 00:54:00 PST 2005
I'm trying to get my Seiko Smart Label Printer Pro working under Mac OS
X 10.3.8. I'm almost there, but something's not quite right. I can
print to it from the command line using a 3rd-party driver but I can't
get it to work with CUPS.
The printer has a serial interface and is connected to the Mac via a
US232B USB-to-serial adapter (www.easysync.co.uk/usbrs232_single.html).
This device appears as /dev/tty.usbserial-USAMWDHH. There's also a
file called cu.usbserial-USAMWDHH in /dev but I don't know what this is.
I couldn't find any PPD files for this printer on the net but I did
come across something called 'slap' (www.members.tripod.com/uutil/slap)
which I downloaded, compiled and installed in /usr/local. This is a
command-line tool for printing directly to the Seiko. Things are fine
if I enter a command like
echo 'Hello world' | slap -o /dev/tty.usbserial-USAMWDHH
Out pops a label saying 'Hello world'. But now I want to get it
working with CUPS so I can print to it from within an application and
from my networked PC (Win2K).
The slap documentation told me how to create a BSD 'lpd' output filter
which I've called slppro.if. Here's the contents of it:
--
#!/bin/sh
# BSD lpd "output filter" for SmartLabel printers driven by "slap".
#
# @(#)bsd.pi 1.0 07jul98 MJS
# Copyright (c) 1998 Mike Spooner
#
#######################
# Customisable stuff: #
#######################
FONT=thames-bold-14 # see the slap manpage for a list of available fonts
MEDIA=std # see the slap manpage for a list of available media-types
MODEL=auto # see the slap manpage for a list of printer-models
INSTALL_DIR=/usr/local
MAXBAUD=0 # Set this to 38400, 19200 or 9600 if you have broken
# serial-port drivers (such as the Solaris "zs" driver
# that controls the onboard ports of some SPARC systems).
# Otherwise, set it to zero.
BAUDMAP=0 # If driving an SLP-100, SLP-200 or SLP-240 from an IBM
# RS/6000 system running AIX 4.x via a 7318 8-port concentrator
# or 128-port adaptor, then set this to "2".
# If driving one of those same printers from a Sun SPARCstation
# or SPARCserver running SunOS 4.x or Solaris 2.1-2.4 via a
# Magma SBus serial card, then set this to "3".
##############################################################################
# Do not change stuff below here, unless you really know what you are doing: #
##############################################################################
SLAP_FONTPATH=$INSTALL_DIR/lib/slapfonts ; export SLAP_FONTPATH
SLAP=$INSTALL_DIR/bin/slap
if [ ! -x $SLAP ] || [ ! -f $SLAP ] ; then
echo "fault: no such program: $SLAP" 1>&2
exit 1
fi
exec $SLAP -c 1 -f $FONT -m $MEDIA -p $MODEL -b $MAXBAUD -x $BAUDMAP
--
After much mucking about with lpadmin, manual tweaking of
printers.conf, cupsd.conf, etc., and stopping and restarting cupsd, I
think I've managed to get this filter installed as a 'System V
interface'. At least, a file called 'slppro' appears in
/etc/cups/interfaces, and it contains the same text as slppro.if.
Here's the contents of my printers.conf file:
--
# Printer configuration file for CUPS v1.1.20rc1
# Written by cupsd on Fri Mar 11 21:08:18 2005
<DefaultPrinter DESKJET_950C>
Info DESKJET 950C
Location Mike's Mac
DeviceURI file:///dev/null
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>
<Printer DESKJET_970C>
Info DESKJET 970C
Location Mike's Mac
DeviceURI file:///dev/null
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>
<Printer slppro>
Info Smart Label Printer Pro
Location Mike's Mac
DeviceURI serial:///dev/tty.usbserial-USAMWDHH
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>
--
The Seiko appears in the Printer Setup Utility's printer list and my PC
can see the printer across the network. If I send a job to it, either
from a Mac app, the command line, or from the PC, the job appears in
the Seiko's print queue but the printer status immediately changes to
'Jobs stopped'. If I click on 'Start jobs', it changes back to 'Jobs
stopped' within a second or two. The job is reaching the queue but
it's just not printing.
So there's something I'm not doing right. The printer works fine if I
call slap directly, but I'm not familiar enough with CUPS to know what
else I need to do. Suggestions welcome, please.
Mike.
--
mike99 at ber9sted.free9uk.com9
Remove all the nines if you want to email me.
More information about the cups
mailing list