Installing an Epson Stylus Color Printer on USB

Support knowledgebase (jsmeix_print-stcXXXusb)
Applies to

SuSE Linux: Versions since 6.4

Request:

You want to use an Epson Stylus Color printer on USB.

Background information

At least some Epson Stylus Color printers don't automatically react when data is send to the printer via the USB port. Therefore it is not even possible to send data directly to the printer device, like in
echo -en "\rHello\r\f" >/dev/usblp0
or
echo -en "\rHello\r\f" >/dev/usb/lp0

Instead these printers need a special command sequence in order to accept printer data via USB.

The following echo-command sends this sequeunce to the printer:

echo -en "\x0\x0\x0\x1b\x01\x40\x45\x4a\x4c\x20\x31\x32
          \x38\x34\x2e\x34\x0a\x40\x45\x4a\x4c\x20\x20
          \x20\x20\x20\x0a" >/dev/usblp0
(You have to enter this in one single line witout spaces in between.)
After this the printer should accept data via USB as long as it is not switched off - in this case the special sequence must be sent again.

What to do since SuSE Linux 7.1

Since SuSE Linux 7.1 this special sequence is sent automatically if you do the printer configuration using YaST2. Furthermore YaST2 makes the apropriate configuration entry so that the sequence is sent automatically before each printout.

What to do for SuSE Linux 7.0

Add the following in one single line witout spaces in between

RESET_BEFORE="\x0\x0\x0\x1b\x01\x40\x45\x4a\x4c\x20\x31\x32\x38\x34
              \x2e\x34\x0a\x40\x45\x4a\x4c\x20\x20\x20\x20\x20\x0a"
to the apropriate /etc/apsfilterrc... file - see the article " Installing a printer since SuSE Linux 6.4".

What to do for SuSE Linux 6.4

For an Epson Stylus Color printer you usually use the uniprint Ghostscript driver along with the appropriate .upp parameter file.

Insert the special command sequence in the uniprint parameter file that you use for your printer at the beginning of the -dupBeginPageCommand section with an editor of your choice (e.g. pico, joe or mcedit. You have to be root to do this.

You find the .upp parameter files in the directory /usr/share/ghostscript/5.50/

If you configure your printer using YaST2, the name of the parameter file will be given like e.g. (using stcany.upp).

As an example the file /usr/share/ghostscript/5.50/stcany.upp:

The original version (for use with the parallel port) reads:

  -dupBeginPageCommand="<
     1b40   1b40
     1b2847 0100 01
     1b2869 0100 01
     1b2855 0100 0A
     1b5500
     1b2843 0200 0000
     1b2863 0400 0000 0000
  >"

After editing the file and inserting the command sequence for use with USB it should be:

  -dupBeginPageCommand="<
     00 00 00
     1b 01 40 45 4a 4c 20 31 32 38 34 2e 34 0a
     40 45 4a 4c 20 20 20 20 20 0a
     1b40   1b40
     1b2847 0100 01
     1b2869 0100 01
     1b2855 0100 0A
     1b5500
     1b2843 0200 0000
     1b2863 0400 0000 0000
  >"

The command sequence

     00 00 00
     1b 01 40 45 4a 4c 20 31 32 38 34 2e 34 0a
     40 45 4a 4c 20 20 20 20 20 0a       

that gets inserted in the original uniprint parameter file for your printer will then allow you to configure this printer or to use an already existing configuration for this printer. It should work fine now with USB.

At least with the Epson Stylus Color 900 the changed setup works for USB and parallel port. Even using the printer with two connected computers - one on USB the other on the parallel port did work (at least for smaller print jobs).


See also:
o Installing a Printer
o Installing a USB Printer

Keywords: PRINTING, PRINTER, EPSON, USB, UPP

Categories: Printer

Feedback welcome: Send Mail to jsmeix@suse.de (Please give the following subject: SDB-jsmeix_print-stcXXXusb)
SDB-jsmeix_print-stcXXXusb, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 14. Dez 2000
SuSE Linux AG - Last generated: 14. Mär 2002 by jsmeix (sdb_gen 1.40.0)