This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new!


The Epson CX5400 All-in-one printer and SUSE 9.1

By Joe Barr on July 08, 2004 (8:00:00 AM)

Share    Print    Comments   

It was a simple twist of fate: my HP Scanjet 5200C scanner gave up the ghost at the same time my HP Deskjet 842C ink cartridges went dry. I set off to do some comparison shopping for new cartridges at Office Depot and Best Buy. I decided to check the prices on new scanners as well. Instead of coming home with the best deal on the cartridges, and pricing info on scanners, I came back with an Epson Stylus CX5400. It's a multi-function device that replaces both the HP scanner and the printer, and gives me a standalone personal copier as well. Here's my rationale for getting the Epson CX5400, and the story on how I got it to play nicely on my SUSE 9.1 desktop.
The why is Gillette's razor blade marketing all over again. What I discovered while shopping for cartridges was that the two new cartridges (one black, one color) cost more than half of what a nice All-in-one printer -- like the Epson CX5400 -- costs.

The first All-in-one I looked at was a Lexmark, but when John and Chris -- the salespeople helping me -- learned I would be using it with Linux, they steered me towards the Epson CX5400.

The two replacement cartridges for the HP totalled 66.98. The CX5400 -- including brand new cartridges -- was 129.99 after a $20.00 mail-in rebate. Looking at it another way, if I bought the CX5400, I would be getting a new printer, a new scanner, and a new personal copy machine for only $63.00 more than I would pay for the cartridges alone. After doing the math, the only reservation I had left was "How well would it work with Linux?"

How do you drive this thing?

The Epson America website directs you to Epson Kowa for Linux drivers for their printers, including one for the CX5400. You can download their GPLd binaries and source code from here.

But I decided to see what had to say. Lo and behold, Epson and HP are the two brands they recommend most highly. Epson Laser printers are rated "Excellent" and their inkjets -- including the CX5400 -- are rated "Good." says "The driver [gimp-print] provides excellent quality and extensive tunability both of the quality/speed tradeoff and color rendition." Since I like to print a lot of digital pictures, gimp-print -- which works great with CUPS -- sounded like the best fit for my needs. Besides, both CUPS and gimp-print are included in SUSE Professional 9.1.

The consensus of opinion for the CX5400 on was to use the Epson Stylus C84 driver for the CX5400. The Epson Stylus C80 driver is also mentioned as a possibility. Allow me to add one more driver to the list. Behind door number three is the CX5200 driver, and that's the one I ended up going with.

The CX5400 is a newer, more powerful version of the CX5200, so when I had problems with the C84 not ejecting the final page, I decided to give it a try. It seemed to me to have the same speed and print quality as the C84 driver. Plus it knew when to quit processing and spit out the page without manual intervention.

On my SUSE 9.1 Professional desktop system, installing the driver was fairly easy, so long as you held your mouth right and used the Yast2 modules instead of the KDE print manager. During the Yast2 printer configuration, I included root and lp in addition to my own user name as authorized users for the printer.

When you print from the GIMP, you'll need to specify and setup your new printer again. Just remember the name you give it during the Yast2 config, then select whatever driver (C80, C84, or CX5200) you chose. The GIMP allows you to save those settings, and unless you do, you'll have to do the setup all over again each time you use it.

Data, what does your scanner show?

The tips on also got me most of the way home as far as being able to use the CX5400 scanner. I hacked /etc/sane.d/dll.conf to uncomment (removing the # from) the line which read # epson. I also added a "#" to the line for hp, which was no longer required.

Next came a change to /etc/sane.d/saned.conf, where I added the following line at the end to identify the manufacturer (the first hex number) and the product code (the second) for the USB device:

usb 0x4b8 0x808

After finishing those tweaks, I could detect and use the scanner, but only as root. Obviously, I had a problem with permissions, but I just couldn't find the cure. Not until I found Karl Heinz Kremer's tutorial on how to get an Epson scanner, libusb, and SANE to play together nicely.

Kremer explains that libusb will try to claim any USB device that hasn't already been claimed by another driver. Since we tweaked the epson.conf file to indicate a USB device, it claims the CX5400 for its own. Unlike the kernel drivers of old, libusb does not use /dev/usbscanner or a similar /dev/name in order to access the device. It creates its own new device. Unfortunately, newly created devices can only be used by root. That's where the hotplug script Kremer provides in his tutorial comes in.

The hotplug fix involved three tweaks. The first was to add the following line (note that the second and third hex numbers are the manufacturer and product code for the scanner) to /etc/hotplug/usb.usermap:

epson_scanner 0x0003 0x04b8 0x0808 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

Next, I saved the following bash script as /etc/hotplug/usb/epson_scanner:


if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
    chown root "${DEVICE}"
    chgrp scanner "${DEVICE}"
    chmod 660 "${DEVICE}"

The last tweak was to add a new group called "scanner" and include my user name as a member. Now when I run xsane as a normal user, it finds the scanner and works just as it should.

CX5400 thumbnail
Click to enlarge
Do you copy?

The CX5400's third and final function is to make copies, which it does with much aplomb and completely independently of the PC. It has text and photo modes, color and black-and-white modes, and it handles multiple copies, resizing, bordering (or not), and multiple copies per output page. A pretty nice personal copier for the $63.00 bucks it cost me.


It takes more effort for Linux users to get full use of this fine Epson Multifunction Printer than it does for Windows or Mac users, but it works great once the tweaks are done. It's curious to me that Epson is willing to work with the free software world, but only through its one-off holding Epson Kowa. That may be a dodge to get around any monopolistic marketing "deals" with Microsoft which restrict it from working directly with the Linux folk. But for whatever the reason, the GPLd code available from Epson Kowa should be a boon to free software developers working on adding driver support to the SANE backend and the print engine. That in turn will cut down dramatically on the amount of tweaking required.

The required tweaks are not particularly difficult, if you know what has to be done. But when you don't know, it can be very frustrating finding the answers through trial and error. One of these days, newer hardware will "just work" on Linux the way it should. Hurry the day.

Share    Print    Comments   


on The Epson CX5400 All-in-one printer and SUSE 9.1

Note: Comments are owned by the poster. We are not responsible for their content.

Re:Epkowa driver for printing

Posted by: Anonymous Coward on June 10, 2005 08:44 AM
CX 5400 can print boarderless, and the 5200 cannot. That is the main difference.


I wonder what Epson has done

Posted by: Administrator on July 09, 2004 02:30 AM
I wonder what Epson must have done to the 5400 that is so much different than the 5200? I have had the 5200 for a couple of years now and have had no trouble installing it or the scanner portion via xsane. I am using Mandrake however but have Suse9.1 and Fedora installed on this machine, have not messed too much with Suse or Fedora as far as the printer or scanner goes but in Mandrake 10.0 I installed the printer during the installation phase using the Cups system, easy.... When the installation was done and I had rebooted I installed the scanner via Drakconf,Mandrakes system configuration tool and it installed xsane automatically and recognized the Epson scanner.

Started using it with no problem or other intervention. Guess I'll fire up Suse and see what I have to do to get the 5200 working with it.

I'll also investigate the epkowa drivers to see if they can improve on what I have.

Joe, unless I missed it you forgot to detail the one thing that made me dump my HP and that is the benifit of being able to only purchase a yellow cartridge if it runs out instead of having to purchase the whole color cartridge. Staples has the three color cartridges for about $12.00 each. The Black cartridge is more because its bigger with more ink. But that is significatly cheaper than HP's method.

I talked my daughter into the CX5400 but she is using the {gasp} Win2k OS. Also talked my brother into the Epson but he decided to go whole hog and bought the RX500 and its got 6 color cartridges and one black cartridge. And he's using {gasp} WinXP. Still working on getting him converted to Linux and he's starting to bend with all the problems he's had with that other OS.



Re:Epkowa driver for printing

Posted by: Joe Barr on July 08, 2004 09:36 PM

Thanks, I'll definitely have to give the Epkowa driver a try.

Joe Barr


Epkowa driver for printing

Posted by: Administrator on July 08, 2004 09:31 PM
I bought this printer a couple of days back and like it a lot. One comment: you can use the epkowa driver for printing too. It provides better quality output that the gimp-print driver and even the commercial turboprint driver (the color balance seems to be slightly better). It integrates with cups nicely and is available as an rpm or source tarball.



On Mandrake 10 Official...

Posted by: Administrator on August 22, 2004 11:15 AM
Print: No brainer.
The printer is found by the printer set up program
in drakconf, assuming one has all the current updates installed.

The scanner: Slightly frustrating, but worth it.
The scanner setup LISTS the CX5400, but does not find it... Plan on putting in a bug report.

All I had to do to get it working was add
usb 0x4b8 0x808

to the end of<nobr> <wbr></nobr>/etc/sane.d/saned.conf, per the instuctins in the article.

I also added, (per the existing format of the file) to<nobr> <wbr></nobr>/etc/hotplug/usb.usermap :
# Epson Corp.|Stylus CX5400
usbscanner 0x0003 0x04b8 0x0808 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

I have NO idea if that helps anything, but it was missing. I put it right above the CX5200...

The scanner is identified as "Epson unknown model flatbed scanner" by drakconf, which HAS the CX5400 listed, but refuses to actually DO anything about it, in spite of telling you it did.

Using the Gimp as a user was no issue, save for I get an OOM from xsane if I try to scan at 1200 DPI, and it hangs if I abort...
It will work again without intervention after xsabne is killed, and restarted.
(don't abort)

On sale at Frys this week, $129, but $40 instant rebate, and $20 mail in, making the final price $69, or $89, which I assume I'll be paying, as I never get rebates back... But $89 is an AWSOME deal for this beast, works beautifully.

I am no longer a Canon customer, after 15 years.
I had a IP4000 in the box, and Canon played their games again, in spite of the fact they have a CUPS driver for the Mac.

Canon, Goodbye.


Re:On Mandrake 10 Official...

Posted by: Administrator on October 11, 2004 01:32 PM
> All I had to do to get it working was add usb 0x4b8 0x808 to the end

> of<nobr> <wbr></nobr>/etc/sane.d/saned.conf, per the instuctins in the article.

On my SuSE9.1,<nobr> <wbr></nobr>/etc/sane.d/saned.conf is like inetd.conf - it has IP
addresses and the like. I added that line to<nobr> <wbr></nobr><TT>/etc/sane.d/epson.conf </TT>
which caused the Epson to be recognized. But!
Still no joy. xsane gives me "no devices"
when running as a normal user -- and the hotplug
script never seems to get executed (set -x in<nobr> <wbr></nobr><TT>/etc/hotplug/usb/epson_scanner</TT> and...

Oh, d'oh!

Forgot to say "<TT>set +x<nobr> <wbr></nobr>/etc/hotplug/usb/epson_scanner</TT>"
OK, works fine as normal user now!

One other thing I wanted to tell you about...
Other computer runs legacy lpd/lprng but installed
cups to drive the Epson. How to make them talk?
smbspool on the legacy (SuSE 8.0 with legacy


This story has been archived. Comments can no longer be posted.

Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya