(Answer) (Category) Linux on PowerPC FAQ-O-Matic : (Category) System Configuration : (Category) Printing :
Epson Color Stylus 700
In short, you will need both a robust kernel to handle 230400 Kbauds
(the lowest baud rate to be understood by the printer), and
appropriate tricks to ensure a correct synchronization of the data
flow. My tricks involve BOTH a correct initialization of the printer
AND a correct set up of the serial line.

Although the serial line is quite slow for complex high resolution
graphics, it may happen to be faster than the flow the printer can
absorb during its feeding cycle and even for some printout
patterns. Thus in the absence of a correct synchro, the built-in 64Kb
buffer in the printer may overflow, resulting in error messages
flowing back to the computer at 230400 Kbauds. This ruins the printout
and may freeze your linux !

My recipee is as follows:

1) Upgrade to the stock V5 kernel (2.2.6-15apmac) if you are still
using the stock V4 kernel (2.1.24). For the moment, I only installed
the new BootX v1.1 and the associated stock kernel, and I posponed
further upgrade to V5. The behaviour of the older kernel is not
reproducible at 230400 Kbauds and complete freezing of the system may
happen on my Mac 4400. 

2) If you have not upgraded to V5, the stty command is unable to set
your serial line above 56 Kbauds. A patched version named hstty is
available for you (see the FAQ-O-Matic).

3) Use the device /dev/ttyS1 instead of /dev/cua1. I have got obscure
problems using /dev/cua1.

4) You may need also to make your printer port writable:
        chmod a+w /dev/ttyS1

5) Setting the synchro on the mac side is tricky. For high baud rates, 
you are tempted to use harware synchro 
        (h)stty < /dev/ttyS1
However many folks have reported consistenly that this option is bugged 
or inoperant, and I have been also unable to use it. Thus we are left 
using the outdated xon/xoff synchro. Setting cstopb also helps for 
obscure reasons. Thus my recommended setup is:
    (h)stty 230400 raw -echo cstopb < /dev/ttyS1
    (h)stty ixon ixoff < /dev/ttyS1

6) You need also to ensure that the printer will use the xon/xoff
protocol to indicate buffer overflow. I have lost considerable time to
investigate why the printer behaviour was not reproducible. Apparently
the xon/xoff setup is not enabled at power-on, but becomes the default
when printiong plain text.  The cure is very simple. Just send few
ascii characters BEFORE sending your general raw data (as produced by
stcolor or uniprint ghostscript filters). A carriage return is a good
candidate, as it is not printable and will not reposition the paper.
    /bin/echo -n "\r\r" > /dev/ttyS1

7) Now you have all the parts of the puzzle to be ready to print.

I have experimented the following setup:

a) install the uniprint definitions for the 740
b) install printtools
c) define your queues for /dev/ttyS1. It is useful to define a low res
queue at 360 dpi for fast cheap printing and a high res queue for
slower and darker final printouts.
d) patch the /var/spool/lpd/<queue>/filter files

As an example, my sample /etc/printcap contains

##PRINTTOOL3## LOCAL uniprint 360x360 a4 {} EpsonStylusColorUni Default {}
lp|lp0|360|360dpi:\
        :sd=/var/spool/lpd/lp0:\
        :mx#0:\
        :sh:\
        :lp=/dev/ttyS1:\
        :if=/var/spool/lpd/lp0/filter:
##PRINTTOOL3## LOCAL uniprint 720x720 a4 {} EpsonStylusColorUni Default {}
lp1|720|720dpi:\
        :sd=/var/spool/lpd/lp1:\
        :mx#0:\
        :sh:\
        :lp=/dev/ttyS1:\
        :if=/var/spool/lpd/lp1/filter:

and in the corresponding 'filter' files, I have included the correct setup
before starting the actual printing on the lpd pipe. Just replace hssty by
stty if you installed the R5 distribution. The usleep commands add some
tick delay (50ms on my computer) in order to ensure everything is done
before actual writing occurs. May be it's pure superstition...

[filter blabla...]
#
# set up the printer port and the printer!
#
    hstty 230400 raw -echo cstopb < /dev/ttyS1
    hstty ixon ixoff < /dev/ttyS1
    usleep
    /bin/echo -n "\r\r"
    usleep
#
# run the command!
#
    eval $bestpath 2>/dev/null 
    exit 0


Credit: Pierre Valiron <Pierre.Valiron@obs.ujf-grenoble.fr>
arthur99@global2000.net
The Stylus Photo 700 is a 32 nozzle printer.  Use the Stylus 600 drivers for it.  The Stylus Photo 750 is a 48 nozzle printer.  The 740 drivers should work for it.  I have been using the Stylus 600 drivers with my Photo 700 for some time now.  The Stylus Any driver works as well if you want fast low quality printouts.  The 740 driver made my Photo 700 spit out endless sheets of paper with nothing on it.

Brent Dombrowski
dombrowski@yahoo.com
[Append to This Answer]
Previous: (Answer) How do I set up my EPSON stylus color 740 ?
This document is: http://www.jonh.net/cgi-bin/lppcfom/fom?file=791
[Search] [Appearance]
This is a Faq-O-Matic 2.717d.
Hosted by anduin.org and SourceForge Logo