SuSE Linux: Versions since 6.4
You want to use an Epson Stylus Color printer on USB.
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.)
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.
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".
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).
SDB-jsmeix_print-stcXXXusb
)