# Epson Stylus CX6600 drivers [SOLVED]

## nyk

I got the above inkjet printer as a gift, so I have to try to make it work with my amd64 gentoo box.

First tried the closest drivers thats already in CUPS (cx4000 or so, from gimp-print) and this produced some output, but of VERY bad quality (color wrong, spacing between "lines").

Then I tried the driver from Avasys (http://www.avasys.jp/english/linux_e/dl_spc.html). First the binary driver (RPM), which just didn't work but also gave no visible error message. The jobs I tried to print were just getting stopped and kept in queue.

Now I think maybe compiling the driver from source might help, but I'm getting these errors, which are likely to be incompatibility to amd64.

How could I fix those:

```

gcc -g -O2 -Wall -o dtrfilter img.o pfpng.o main.o  -lm ../lib/libdtr.a -lpthread -ldl

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `../lib/libdtr.a(imgdetect_pips.o)' is incompatible with i386:x86-64 output

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `../lib/libdtr.a(itrmodule.o)' is incompatible with i386:x86-64 output

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `../lib/libdtr.a(almodule.o)' is incompatible with i386:x86-64 output

/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `../lib/libdtr.a(imgdetect.o)' is incompatible with i386:x86-64 output

../lib/libdtr.a(imgdetect_pips.o): In function `OutputMemAtBmp':

imgdetect_pips.cc:(.text+0xc8): undefined reference to `__builtin_new'

imgdetect_pips.cc:(.text+0x3e4): undefined reference to `__builtin_delete'

imgdetect_pips.cc:(.text+0x3f4): undefined reference to `__rethrow'

../lib/libdtr.a(imgdetect.o): In function `FUNC006::~FUNC006(void)':

imgdetect.cc:(.text+0x39e): undefined reference to `__builtin_delete'

collect2: ld returned 1 exit status

make[2]: *** [dtrfilter] Error 1

make[2]: Leaving directory `/home/nyk/Desktop/pips-scx6500_6600s-2.6.2/dtrfilter'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/nyk/Desktop/pips-scx6500_6600s-2.6.2'

make: *** [all-recursive-am] Error 2

nyk@localhost ~/Desktop/pips-scx6500_6600s-2.6.2 $ 

```

Or is there an other (simpler) way to make this printer work?Last edited by nyk on Tue Jun 05, 2007 1:20 am; edited 1 time in total

----------

## i92guboj

That is a bit strange.

I have a CX3650, however, in the drivers list of the cups web interface, I can clearly see that I also have installed drivers for the CX6600. In fact, I can see drivers for all the CX's, from CX1500 to CX8400. My foomatic-db version is net-print/foomatic-db-20070508. Maybe you need to update. Make sure you emerge it with USE="cups ppds", though.

----------

## nyk

Thanks! I installed that package and set the use flag, now the printer really appears in the list!

But when I want to add it, I get the error "Unable to copy PPD file!" in the CUPS web interface. What could cause it to have this problem and how can I fix it?

From the cups error log:

```

I [01/Jun/2007:19:01:00 +0200] Started "/usr/libexec/cups/cgi-bin/admin.cgi" (pid=25149)

E [01/Jun/2007:19:01:00 +0200] CUPS-Add-Modify-Printer: Unauthorized

I [01/Jun/2007:19:01:00 +0200] Setting EPSON_Stylus_CX6600_USB_1 device-uri to "usb://EPSON/Stylus%20CX6600" (was "file:/dev/null".)

I [01/Jun/2007:19:01:00 +0200] Setting EPSON_Stylus_CX6600_USB_1 printer-is-accepting-jobs to 1 (was 0.)

I [01/Jun/2007:19:01:00 +0200] Setting EPSON_Stylus_CX6600_USB_1 printer-state to 3 (was 5.)

E [01/Jun/2007:19:01:01 +0200] [CGI] foomatic: There is neither a custom PPD file nor the driver database entry contains sufficient data to build a PPD file.

E [01/Jun/2007:19:01:01 +0200] copy_model: empty PPD file!

E [01/Jun/2007:19:01:01 +0200] PID 25150 (/usr/libexec/cups/daemon/cups-driverd) stopped with status 9!

I [01/Jun/2007:19:01:01 +0200] Hint: Try setting the LogLevel to "debug" to find out more.

```

----------

## i92guboj

Try also this:

```

USE="ppds" emerge -vauDN world"

```

There are many packages that could contain drivers, for example, gimp-print. Maybe they need also to be recompiled. I have seen that error in the past too. 

I think I just picked another entry in the list (there are like three or four of them for each model). But first launch that command. So, you will be sure you have all the available drivers.

----------

## nyk

Ok, I try that!

I already re-emerged all foomatic ebuilds, and emerge --newuse world didn't want to rebuild anything because of my turning on the ppds use flag.

When I tried adding the printer with foomatic-gui, I got this error:

Cannot read /etc/foomatic/direct directory!

Edit: Ok, I created that directory, now its back to:

There is neither a custom PPD file nor the driver database entry contains sufficient data to build a PPD file.

But will rebuilding these packages be of any use when I don't have anything to rebuild with newuse and that flag in make.conf?

Edit2: The command you wrote did not want to rebuild anything.

Edit3: 

```

localhost nyk # foomatic-ppdfile -d gutenprint -p 'Epson-Stylus_CX6600' > /etc/cups/ppd/Epson-CX_6600-gutenprint-ijs.5.0.ppd

ERROR: foomatic-ppdfile: There is neither a custom PPD file nor the driver database entry contains sufficient data to build a PPD file.
```

I am emerging the gimp-print package with the foomaticdb use flag, maybe this helps...

Edit4: Still the same error!

----------

## i92guboj

Did you have gimp-print installed? Maybe that is the problem. If you are building it, make sure you enable the ppds and cups flags for it. It also supports them. I am sure it works, because I have created that printer now and it did not complain (I don't have that printer, but that is not relevant).

----------

## nyk

Yes, I had it installed already. 

All these flags are now set:

[ebuild   R   ] media-gfx/gimp-print-4.2.7  USE="cups foomaticdb gtk nls ppds readline" 0 kB

It should work already...   :Smile: 

But it just doesn't.

Maybe trying foomatic utils like foomatic-compiledb or cleanupdrivers.

----------

## i92guboj

 *nyk wrote:*   

> Yes, I had it installed already. 
> 
> All these flags are now set:
> 
> [ebuild   R   ] media-gfx/gimp-print-4.2.7  USE="cups foomaticdb gtk nls ppds readline" 0 kB
> ...

 

The only relevant difference between your setup and mine seems to be that I am using ~arch for all those packages:

```

# eix gimp-print

[I] media-gfx/gimp-print

     Available versions:  4.2.7 (~)5.1.0 (~)5.1.1 {cups foomaticdb gimp gtk nls ppds readline}

     Installed versions:  5.1.1(04:02:25 23/05/07)(cups foomaticdb gimp -gtk -ppds readline)

     Homepage:            http://gimp-print.sourceforge.net

     Description:         Gimp Print Drivers

# eix foomatic-db

[I] net-print/foomatic-db

     Available versions:  20050910 20060720 (~)20070508 {cups ppds}

     Installed versions:  20070508(01:33:45 09/05/07)

     Homepage:            http://www.linuxprinting.org/foomatic.html

     Description:         Printer information files for foomatic-db-engine to generate ppds

[I] net-print/foomatic-db-engine

     Available versions:  3.0.2 3.0.20060720 (~)3.0.20070508

     Installed versions:  3.0.20070508(00:44:41 09/05/07)

     Homepage:            http://www.linuxprinting.org/foomatic.html

     Description:         Generates ppds out of xml foomatic printer description files

```

I also see that there is a foomatic-db-ppds in portage, but I don't have it installed, so I don't think it is relevant. I did nothing weird to get those drivers. But I remember some important change in gimp-print some weeks/monts ago, so, maybe using the newest version would help. I am not sure, though.

----------

## nyk

Ok, I try to ~amd64 them....

----------

## nyk

Tried ~amd64 versions without success. But then I unmerged cups, gimp-print and the foomatics. I deleted /etc/cups/, /etc/foomatic/, /usr/share/cups/ and /usr/share/foomatic/ and re-emerged them. Then I could finally select the printer again and add it!

When I try to print now, nothing happens. So I went back to amd64 from ~amd64 for those packages.

Still does not work. When I print something to that printer, it never shows up in the job list.

When I try "Print test page" from the CUPS webinterface, I get this error: 

Unsupported format 'application/postscript'!

This look bad in the cups error log:

```

I [03/Jun/2007:02:25:45 +0200] Full reload is required.

I [03/Jun/2007:02:25:45 +0200] Loaded MIME database from '/etc/cups': 34 types, 37 filters...

E [03/Jun/2007:02:25:45 +0200] Filter "rastertogutenprint.5.1" for printer "EPSON_Stylus_CX6600_USB_1" not available: No such file or directory

I [03/Jun/2007:02:25:45 +0200] Loading job cache file "/var/cache/cups/job.cache"...

I [03/Jun/2007:02:25:45 +0200] Full reload complete.

```

Edit: Tried to delete and re-add the printer, but now it's back to this error:

ERROR: foomatic-ppdfile: There is neither a custom PPD file nor the driver database entry contains sufficient data to build a PPD file.

----------

## i92guboj

Maybe this is too obvious, but, are you restarting cups after each of these emerges? 

Maybe the server needs to be restarted to catch up with the changes.

----------

## nyk

Yes, I restarted in always after changing something.

The problem is still the error "Unable to copy PPD file!" when I try to add the print in the cups-webinterface.

And this is in the log:

```

I [03/Jun/2007:22:06:22 +0200] Started "/usr/libexec/cups/cgi-bin/admin.cgi" (pid=23898)

E [03/Jun/2007:22:06:22 +0200] CUPS-Add-Modify-Printer: Unauthorized

I [03/Jun/2007:22:06:22 +0200] Setting EpsonNyk device-uri to "usb://EPSON/Stylus%20CX6600" (was "file:/dev/null".)

I [03/Jun/2007:22:06:22 +0200] Setting EpsonNyk printer-is-accepting-jobs to 1 (was 0.)

I [03/Jun/2007:22:06:22 +0200] Setting EpsonNyk printer-state to 3 (was 5.)

E [03/Jun/2007:22:06:22 +0200] [CGI] foomatic: There is neither a custom PPD file nor the driver database entry contains sufficient data to build a PPD file.

E [03/Jun/2007:22:06:22 +0200] copy_model: empty PPD file!

E [03/Jun/2007:22:06:22 +0200] PID 23899 (/usr/libexec/cups/daemon/cups-driverd) stopped with status 9!

```

I unmerged it again, tried to remove all traced by using find/grep for cups and deleteded them all before re-emerging. But still the same.

----------

## nyk

Installed the gutenprint drivers from source, now I can add the printer!

But when I print something, it does not get added to the job queue! Not even printing to a .ps file works! 

Something with my printing (spooler) is wrong! What could it be?

----------

## nyk

Fixed it by re-emerging ghostscript-esp, revdep-rebuid, then re-emerging cups and gimp-print. 

Now it works fine, at least with the driver from gutenprint.

Thanks for all the help!

----------

