Discussion:
Canon Pixma iP4500 - problem with colours
Mike Clarke
2008-10-01 14:46:29 UTC
Permalink
I've just installed a Canon Pixma iP4500 on a 6.3 system using CUPS and
gutenprint. Black printing is fine but I've got problems with colours.
The colour wheel on the CUPS test page comes out as a psychedelic
collection of brightly coloured rings. If I print from gimp then the
correct colours appear but they are very dark and "muddy". The colours
start to look a bit more reasonable from the gimp if I push the gamma
value up to 2.

This isn't a physical problem with the printer, I get good results when
printing from Windows.

Should I be able to get correct colour rendering "out of the box" or do
I have to fiddle about with the multitude of output control adjustments
available on the CUPS admin panel?

Or should I be using something other than CUPS, that's what I've always
used so far but I'm happy to try alternatives if necessary.
--
Mike Clarke
Roland Smith
2008-10-01 20:49:06 UTC
Permalink
Post by Mike Clarke
I've just installed a Canon Pixma iP4500 on a 6.3 system using CUPS and
gutenprint. Black printing is fine but I've got problems with colours.
The colour wheel on the CUPS test page comes out as a psychedelic
collection of brightly coloured rings. If I print from gimp then the
correct colours appear but they are very dark and "muddy". The colours
start to look a bit more reasonable from the gimp if I push the gamma
value up to 2.
Have you installed a .ppd file for this printer? This is a file that
tells cups about the capabilities of this printer.

See http://www.linuxprinting.org/show_printer.cgi?recnum=Canon-PIXMA_IP4300_OR_PIXMA_IP4500

I'm not sure if just installing the ppd file works. It does for my
PostScript printer.

Roland
--
R.F.Smith http://www.xs4all.nl/~rsmith/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914 B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
Mike Clarke
2008-10-02 10:59:04 UTC
Permalink
Post by Roland Smith
Post by Mike Clarke
I've just installed a Canon Pixma iP4500 on a 6.3 system using CUPS
and gutenprint. Black printing is fine but I've got problems with
colours. The colour wheel on the CUPS test page comes out as a
psychedelic collection of brightly coloured rings. If I print from
gimp then the correct colours appear but they are very dark and
"muddy". The colours start to look a bit more reasonable from the
gimp if I push the gamma value up to 2.
Have you installed a .ppd file for this printer? This is a file that
tells cups about the capabilities of this printer.
I'm using the ppd file bundled with cups
(/usr/local/share/cups/model/gutenprint/5.1/en_GB/stp-bjc-PIXMA-iP4500.5.1.ppd.gz).
Post by Roland Smith
See
http://www.linuxprinting.org/show_printer.cgi?recnum=Canon-PIXMA_IP43
00_OR_PIXMA_IP4500
I'm not sure if just installing the ppd file works. It does for my
PostScript printer.
That didn't work for me. I couldn't find anywhere to download just the
ppd file file so I downloaded cnijfilter-ip4500series_2.80-1_i386.deb
from Canon's site and extracted the ppd file from that with tar. That
failed with the message "Unable to
execute /usr/local/libexec/cups/filter/pstocanonij: No such file or
directory". Then I edited the cupsfilter line in the ppd file and
replaced pstocanonij with rastertogutenprint.5.1 but that just resulted
in "Gutenprint Fatal error: Corrupted NickName attribute in PPD file".

The link you quoted implied that the IP4300 driver might also work for
the IP4500 so I tried to configure it as an IP4300 but it only spat out
a blank page when I tried a test print.

Interestingly the CUPS test page
(/usr/local/share/cups/data/testprint.ps) only produces the psychedelic
rings in the colour wheel if I print it from the local CUPS web page or
from KGhostView, if I open it with the gimp and print from there I get
the correct colour pattern but with very muddy colours.
--
Mike Clarke
Roland Smith
2008-10-02 16:54:56 UTC
Permalink
Post by Mike Clarke
Post by Roland Smith
Post by Mike Clarke
I've just installed a Canon Pixma iP4500 on a 6.3 system using CUPS
and gutenprint. Black printing is fine but I've got problems with
colours. The colour wheel on the CUPS test page comes out as a
psychedelic collection of brightly coloured rings. If I print from
gimp then the correct colours appear but they are very dark and
"muddy". The colours start to look a bit more reasonable from the
gimp if I push the gamma value up to 2.
Have you installed a .ppd file for this printer? This is a file that
tells cups about the capabilities of this printer.
I'm using the ppd file bundled with cups
(/usr/local/share/cups/model/gutenprint/5.1/en_GB/stp-bjc-PIXMA-iP4500.5.1.ppd.gz).
Post by Roland Smith
See
http://www.linuxprinting.org/show_printer.cgi?recnum=Canon-PIXMA_IP43
00_OR_PIXMA_IP4500
I'm not sure if just installing the ppd file works. It does for my
PostScript printer.
That didn't work for me. I couldn't find anywhere to download just the
ppd file file so I downloaded cnijfilter-ip4500series_2.80-1_i386.deb
from Canon's site and extracted the ppd file from that with tar. That
failed with the message "Unable to
execute /usr/local/libexec/cups/filter/pstocanonij: No such file or
directory". Then I edited the cupsfilter line in the ppd file and
replaced pstocanonij with rastertogutenprint.5.1 but that just resulted
in "Gutenprint Fatal error: Corrupted NickName attribute in PPD file".
I was afraid that might happen. It needs a specific filter program. I'm
assuming that pstocanonij is a binary-only Linux program? You could try
getting it to work using FreeBSD's Linux emulation.
Post by Mike Clarke
Interestingly the CUPS test page
(/usr/local/share/cups/data/testprint.ps) only produces the psychedelic
rings in the colour wheel if I print it from the local CUPS web page or
from KGhostView, if I open it with the gimp and print from there I get
the correct colour pattern but with very muddy colours.
Gimp uses Gutenprint doesn't it? So you could try using the gutenprint driver?

My strategy is to try and avoid these troubles. Spend a bit more and get
a printer that works with postscript. Those will work on any UNIX-like OS.

Roland
--
R.F.Smith http://www.xs4all.nl/~rsmith/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914 B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
Mike Clarke
2008-10-03 15:04:47 UTC
Permalink
Post by Roland Smith
Gimp uses Gutenprint doesn't it? So you could try using the
gutenprint driver?
That's the odd thing, CUPS is (supposed to be) using the gutenprint
driver. Here's a list of the relevant packages:

kestrel:/home/mike% pkg_info -Ix cups gutenprint
cups-base-1.3.7_2 Common UNIX Printing System
cups-pstoraster-8.15.4_1 Postscript interpreter for CUPS printing to
non-PS printers
gimp-gutenprint-5.1.7 GutenPrint Printer Driver
gutenprint-5.1.7 The "meta-port" for GutenPrint
gutenprint-base-5.1.7 GutenPrint Printer Driver
gutenprint-cups-5.1.7_2 GutenPrint Printer Driver
gutenprint-ijs-5.1.7 GutenPrint Printer Driver
libgnomecups-0.2.3,1 Support library for gnome cups admistration

After a bit of fiddling about with the printer settings for the Gimp I
can get tolerable results when printing from the Gimp, though still not
as good as the Windows drivers give. Printing from any other
application just produces totally wrong psychedelic colours. There's an
example showing an original file and a couple of scans of prints at
<http://www.milibyte.co.uk/colours.pdf>. The images have lost some
quality in the scanning but effectively demonstrate what's happening.

CUPS is using the ppd file extracted
from /usr/local/share/cups/model/gutenprint/5.1/en_GB/stp-bjc-PIXMA-iP4500.5.1.ppd.gz.
I'll not post the contents here ( > 2000 lines) but there's a copy at
<http://www.milibyte.co.uk/Canon.ppd> if anybody's interested.
--
Mike Clarke
Roland Smith
2008-10-03 16:57:27 UTC
Permalink
Post by Mike Clarke
Post by Roland Smith
Gimp uses Gutenprint doesn't it? So you could try using the
gutenprint driver?
That's the odd thing, CUPS is (supposed to be) using the gutenprint
With my previous (non-postscript) LaserJet 6L printer, there were two drivers I
could use, IIRC. One labeled "LaserJet 6L" and one labeled "LaserJet 6L
(gimp-print)" or something like that.
Post by Mike Clarke
After a bit of fiddling about with the printer settings for the Gimp I
can get tolerable results when printing from the Gimp, though still not
as good as the Windows drivers give. Printing from any other
application just produces totally wrong psychedelic colours. There's an
example showing an original file and a couple of scans of prints at
<http://www.milibyte.co.uk/colours.pdf>. The images have lost some
quality in the scanning but effectively demonstrate what's happening.
It looks like it is rasterizing too coarse.
Post by Mike Clarke
CUPS is using the ppd file extracted
from /usr/local/share/cups/model/gutenprint/5.1/en_GB/stp-bjc-PIXMA-iP4500.5.1.ppd.gz.
I'll not post the contents here ( > 2000 lines) but there's a copy at
<http://www.milibyte.co.uk/Canon.ppd> if anybody's interested.
I can't spot anything suspicous in that. Maybe you should try a
gutenprint mailing-list/forum.

Roland
--
R.F.Smith http://www.xs4all.nl/~rsmith/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914 B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
Mike Clarke
2008-10-05 10:46:07 UTC
Permalink
Post by Roland Smith
I can't spot anything suspicous in that. Maybe you should try a
gutenprint mailing-list/forum.
I've tried a couple of gutenprint and CUPS lists but no responses yet
apart from a recommendation to use Linux Turboprint.

Out of curiosity I've tried the Pixma IP4500 on a Linux system (Fedora
fc9) but the supplied foomatic driver just spat out blank pages.
Turboprint produced excellent results but there's no FreeBSD version
and I expect getting it to run under Linux emulation would be difficult
or even impossible.
--
Mike Clarke
WATANABE Kazuhiro
2008-10-05 08:30:16 UTC
Permalink
Hello,

At Wed, 1 Oct 2008 15:46:29 +0100,
Post by Mike Clarke
I've just installed a Canon Pixma iP4500 on a 6.3 system using CUPS and
gutenprint. Black printing is fine but I've got problems with colours.
The colour wheel on the CUPS test page comes out as a psychedelic
collection of brightly coloured rings. If I print from gimp then the
correct colours appear but they are very dark and "muddy". The colours
start to look a bit more reasonable from the gimp if I push the gamma
value up to 2.
This isn't a physical problem with the printer, I get good results when
printing from Windows.
Should I be able to get correct colour rendering "out of the box" or do
I have to fiddle about with the multitude of output control adjustments
available on the CUPS admin panel?
Or should I be using something other than CUPS, that's what I've always
used so far but I'm happy to try alternatives if necessary.
I've used Canon MP810 with CUPS and "IJ Printer Driver" for Linux
(supplied by Canon) on FreeBSD.

Canon doesn't supply the printer driver for MP810, but I've been able
to use the printer with the driver for MP610. These printer specs are
very similar.

I don't use the printer from FreeBSD so many time, but printing an web
page from firefox and the "Print Test Page" from http://localhost:631/
are fine. That color print has no defferences between the Windows's
one.


So you will be able to use Canon iP4500 (and MP610/MP520/iP3500) with
the procedure below [1].


1. Installng necessary ports

1.1. For the PS to Canon IJ filter

print/cups
emulators/linux_base-fc4
graphics/linux-jpeg
graphics/linux-png
graphics/linux-tiff
archivers/rpm2cpio

1.2. For compiling the Canon CUPS filter

devel/autotools
devel/gmake
shells/bash

2. Read /usr/ports/print/cups-base/pkg-message, and set some
necessary settings.

3. Set the following lines to /etc/rc.conf:

linux_enable="YES"
cupsd_enable="YES"

4. Download the IJ Printer Driver Ver.2.80 for Linux

The following two archives are required:

IJ Printer Driver Ver. 2.80 for Linux (rpm Package for iP4500 series)
cnijfilter-ip4500series-2.80-1.i386.rpm

IJ Printer Driver Ver. 2.80 for Linux (Source file)
cnijfilter-common-2.80-1.tar.gz

These archives are available at the following sites:

Canon Australia - Drivers
http://www.canon.com.au/drivers/

Canon Singapore - Support & Download Search
http://support-asia.canon-asia.com/

Canon in Japan - "Software Download - Other OSes" (in Japanese)
http://cweb.canon.jp/drv-upd/bj/other.html#linux

5. Installing the binary package for iP4500, and a printing test

5.1. Install

$ mkdir ip4500 # working directory
$ cd ip4500
$ rpm2cpio /PATH/TO/cnijfilter-ip4500series-2.80-1.i386.rpm | cpio -ivd
$ su
Password:
# cp -Ri ./usr /compat/linux/
# /compat/linux/sbin/ldconfig -r /compat/linux

5.2. Printing test (ASCII text)

It uses a2ps (ports/print/a2ps-a4).

$ su
Password:
# a2ps -B --borders=no ascii-text.txt | \
gs -q -r600 -dSAFER -dNOPAUSE -dBATCH -sDEVICE=ppmraw -sOutputFile=- - | \
/compat/linux/usr/local/bin/cifip4500 --imageres 600 --media plain > \
/dev/ulpt0

6. Compiling the Canon CUPS filter, and a printing test

6.1. Compile

Extract the common source archive, and apply a patch:

http://homepage2.nifty.com/dumb_show/unix/cnijfilter-common-2.80-freebsd.diff

The patch file is not my original. I got a patch for "Canon Inkjet
Print Filter Ver.2.60 for Linux" from http://tabochan.f2g.net/pixus.html
(currently the site is down) and modified it for 2.70 and 2.80.

Then compile and install the necessary (not all) program.

$ mkdir common # working directory
$ cd common
$ tar zxvf /PATH/TO/cnijfilter-common-2.80-1.tar.gz
$ patch < /PATH/TO/cnijfilter-common-2.80-freebsd.diff
$ cd cnijfilter-common-2.80/libs
$ ./autogen.sh
$ gmake
$ cd ../pstocanonij
$ ./autogen.sh
$ gmake
$ cd ../
$ su
Password:
# cp -i pstocanonij/filter/pstocanonij /usr/local/libexec/cups/filter/
# cp -i ppd/*.ppd /usr/local/share/cups/model/

6.2. Printing test

Register the printer.

$ su
Password:
# /usr/local/etc/rc.d/cupsd restart
# lpadmin -p PIXUSIP4500 -m canonip4500.ppd -v usb:/dev/ulpt0 -E

Finally visit http://localhost:631/ with an web browser, and click
"Printers" -> "Print Test Page".


[1] The original text was posted to the FreeBSD Japansese mailing list.
http://www.mail-archive.com/freebsd-users-***@jp.freebsd.org/msg02592.html
---
WATANABE Kazuhiro (***@nifty.ne.jp)
Mike Clarke
2008-10-05 11:14:40 UTC
Permalink
Post by WATANABE Kazuhiro
I've used Canon MP810 with CUPS and "IJ Printer Driver" for Linux
(supplied by Canon) on FreeBSD.
Canon doesn't supply the printer driver for MP810, but I've been able
to use the printer with the driver for MP610. These printer specs
are very similar.
I don't use the printer from FreeBSD so many time, but printing an
web page from firefox and the "Print Test Page" from
http://localhost:631/ are fine. That color print has no defferences
between the Windows's one.
So you will be able to use Canon iP4500 (and MP610/MP520/iP3500) with
the procedure below [1].
[snip]

Thanks very much for this clearly detailed explanation of how to install
the linux driver. This looks very promising and I'll certainly give it
a try. I may have to put this task to one side while I deal with some
other jobs but I've downloaded the files and filed your email for
reference - I'll report back when I've tried it.
--
Mike Clarke
Mike Clarke
2008-10-08 14:38:32 UTC
Permalink
Post by WATANABE Kazuhiro
So you will be able to use Canon iP4500 (and MP610/MP520/iP3500) with
the procedure below.
Thanks for the detailed installation instructions for the Pixma iP4500
linux drivers from Canon.

I followed the instructions and everything went very smoothly apart from
one minor problem. Using rpm2cpio and cpio to extract the files from
cnijfilter-ip4500series-2.80-1.i386.rpm resulted in all the directories
being created with mode 700. This resulted in "permission denied"
errors when piping an ascii test file through a2ps and gs to cifip4500.
After setting the directory permissions to 755 everything was fine and
I now have a functional printer.

The output quality is much better than I could get with the gutenprint
driver but the output is limited to 600 dpi so it's nothing like as
good as the windows driver in high quality mode. But it is certainly
good enough for normal day to day use and I don't mind switching to
Windows for the occasional high quality photo print.
--
Mike Clarke
WATANABE Kazuhiro
2008-10-09 12:20:16 UTC
Permalink
At Wed, 8 Oct 2008 15:38:32 +0100,
Post by Mike Clarke
Post by WATANABE Kazuhiro
So you will be able to use Canon iP4500 (and MP610/MP520/iP3500) with
the procedure below.
Thanks for the detailed installation instructions for the Pixma iP4500
linux drivers from Canon.
I followed the instructions and everything went very smoothly apart from
one minor problem. Using rpm2cpio and cpio to extract the files from
cnijfilter-ip4500series-2.80-1.i386.rpm resulted in all the directories
being created with mode 700. This resulted in "permission denied"
errors when piping an ascii test file through a2ps and gs to cifip4500.
Ouch... I tested the instructions on 8-current which had been
introduced bsdcpio. FreeBSD 7.x and the former bundles GNU cpio.

2.7 and the former versions of GNU cpio has a bug. If the original
cpio archive has no information about directories (such as the output
of rpm2cpio), the old GNU cpio sets those permission to 700
unconditionally.

The latest version of GNU cpio, and bsdcpio reflects the value of
umask in such a case.

http://www.gnu.org/software/cpio/#releases
Post by Mike Clarke
After setting the directory permissions to 755 everything was fine and
I now have a functional printer.
So currently the users other than 8-current should do the following
procedure:

$ mkdir ip4500 # working directory
$ cd ip4500
$ rpm2cpio /PATH/TO/cnijfilter-ip4500series-2.80-1.i386.rpm | cpio -ivd
$ find ./usr -type d | xargs chmod 755 # fix directory permission
$ su
Password:
# cp -Ri ./usr /compat/linux/
# /compat/linux/sbin/ldconfig -r /compat/linux
Post by Mike Clarke
The output quality is much better than I could get with the gutenprint
driver but the output is limited to 600 dpi so it's nothing like as
good as the windows driver in high quality mode. But it is certainly
good enough for normal day to day use and I don't mind switching to
Windows for the occasional high quality photo print.
--
Mike Clarke
---
WATANABE Kazuhiro (***@nifty.ne.jp)

Continue reading on narkive:
Loading...