Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 130612

Summary: canon cups capt driver (new ebuild)
Product: Gentoo Linux Reporter: Jonas Jonsson <jonas>
Component: Current packagesAssignee: Default Assignee for New Packages <maintainer-wanted>
Status: CONFIRMED ---    
Severity: enhancement CC: ao, chalucha, codemachine, divanorama, homoludens79, kaikaikai, kelzhadant, leon+gentoo, marshall.mcmullen, metelev.sv, openhs, pdraganov, pietuguitarra, plaes, printing, taurus101v, theli.ua, tuxian, v_2e, yaleks
Priority: High Keywords: EBUILD
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://software.canon-europe.com/software/canon_capt_printer_driver_for_linuxs23675.asp
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 127337, 136199, 136226    
Bug Blocks: 399013    
Attachments: First ebuild
cndrvcups-capt-1.30.ebuild
init.d script for the ccpd
Patch to fix some GCC 4 errors
cndrvcups-common-1.30.ebuild
cndrvcups-capt-1.30-r1.ebuild
cndrvcups-capt-1.30-r1.ebuild
cndrvcups-common-1.30-fast-add-tail.patch
cndrvcups-capt-1.30-fast-add-tail.patch
cndrvcups-capt-1.50.ebuild
cndrvcups-capt-1.50-fast-add-tail.patch
libpopt.so.0.0.0
cndrvcups-common-1.50.ebuild
cndrvcups-common-1.50-fast-add-tail.patch
cndrvcups-common-1.60_p1.ebuild
cndrvcups-capt-1.60_p1.ebuild
cndrvcups-capt-1.80_p1.ebuild
cndrvcups-common-1.80_p1.ebuild
cndrvcups-lb-1.80_p1.ebuild
cndrvcups-lips4-1.80_p1.ebuild
cndrvcups-common-1.90_p1.ebuild
cndrvcups-capt-1.90_p1.ebuild
cndrvcups-common-1.90_p1.ebuild
cndrvcups-capt-1.90_p1.ebuild
cndrvcups-capt-1.90_p1.ebuild
cndrvcups-common-1.90_p1.ebuild
init file for ccpd
Fixed ebuild for 2.00 driver version
cups error log
cndrvcups-capt-2.20.ebuild
cndrvcups-common-2.20.ebuild
cndrvcups-capt-2.40.ebuild
cndrvcups-common-2.40.ebuild
This are ebuild for version 2.60 of Canon CAPT Printer drivers
net-print-cndrvcups.tar.gz
x11-libs/gtk+ gnome-base/libglade dependencies

Description Jonas Jonsson 2006-04-20 08:11:03 UTC
Hi..

It would be nice to have an ebuild for the newer Canon lasershot cups driver, since there is an Linux driver on there webpage, see url.
Comment 1 Stefan Schweizer (RETIRED) gentoo-dev 2006-04-23 02:05:41 UTC
We are a small team currently, sorry, no way.
Comment 2 Jonas Jonsson 2006-06-09 13:54:25 UTC
I have created 2 ebuilds and a init.d script for the Canon cups driver. I have only AMD64 to test it on, but since it's a x86 it should work.

There are some problems running it on amd64. The dev-libs/popt and dev-libs/libxml2 are needed as 32bits version since there are precompiled libs with this driver. There is a check for this in the ebuild so you just have to copy these files from another machine.

I'm a little unsure about the license stuff so someone with a little bit more knowledge could please check that out.
Comment 3 Jonas Jonsson 2006-06-09 13:55:30 UTC
Created attachment 88791 [details]
First ebuild
Comment 4 Jonas Jonsson 2006-06-09 13:55:50 UTC
Created attachment 88792 [details]
cndrvcups-capt-1.30.ebuild
Comment 5 Jonas Jonsson 2006-06-09 13:56:07 UTC
Created attachment 88793 [details]
init.d script for the ccpd
Comment 6 Jonas Jonsson 2006-09-05 09:53:55 UTC
Created attachment 96083 [details, diff]
Patch to fix some GCC 4 errors

This fixes the cast errors due to harder and more correct GCC 4.
Comment 7 Jonas Jonsson 2006-09-05 09:54:56 UTC
Created attachment 96084 [details]
cndrvcups-common-1.30.ebuild

New ebuild that uses the patch.
Comment 8 Carl Olof Englund 2006-09-27 13:55:54 UTC
The ebuilds compiled nicely..I'm very grateful for them! :) I got the printer set up in CUPS and now for the final step..but the printer is shared through Samba/NetBIOS on a Windows XP Home-server :-p How do I configure the printer with cppdadmin?
Comment 9 Jonas Jonsson 2006-09-27 14:39:52 UTC
(In reply to comment #8)
> The ebuilds compiled nicely..I'm very grateful for them! :) I got the printer
> set up in CUPS and now for the final step..but the printer is shared through
> Samba/NetBIOS on a Windows XP Home-server :-p How do I configure the printer
> with cppdadmin?
> 

Hi.. Haven't really used the printer over Samba, but if the printer is connected to the WindowsXP machine then something like this?

/usr/sbin/ccpdadmin -p LBP5000 -o net:172.23.2.72

I have take that from the drivers page at: http://software.canon-europe.com/software/0023675.asp?model=

And for the manual: http://software.canon-europe.com/files/soft23675/manual/guide-capt-1.3xE.tar.gz

Glad to hear that someone but me has use for the ebuilds.
Comment 10 Adrian Pavone 2007-01-05 07:13:52 UTC
(In reply to comment #9)
> Glad to hear that someone but me has use for the ebuilds.

Hey,
I also have use for these ebuilds, currently emerging them. Thank you for writing them, I was starting to get to the point where I was going to buy a ethernet printer and print server :P
Comment 11 Adrian Pavone 2007-01-05 07:18:07 UTC
It appears that these ebuilds were built for 1.30, and 1.30-1 is the current incarnation on the Canon website.

>>> Emerging (1 of 2) net-print/cndrvcups-common-1.30 to /
 * checking ebuild checksums ;-) ...                                      [ !! ]

!!! Digest verification failed:
!!! /usr/portage/net-print/cndrvcups-common/cndrvcups-common-1.30.ebuild
!!! Reason: Filesize does not match recorded size
!!! Got: 2197
!!! Expected: 2561
Comment 12 Jonas Jonsson 2007-01-06 08:22:07 UTC
(In reply to comment #11)
> It appears that these ebuilds were built for 1.30, and 1.30-1 is the current
> incarnation on the Canon website.
Hmm... I can only see the version from 04-04-2006 wich is 1.30 at this page

The link in the ebuild is dead, this is the new link
http://software.canon-europe.com/software/0023675.asp?model=

> 
> >>> Emerging (1 of 2) net-print/cndrvcups-common-1.30 to /
>  * checking ebuild checksums ;-) ...                                      [ !!
> ]
> 
> !!! Digest verification failed:
> !!! /usr/portage/net-print/cndrvcups-common/cndrvcups-common-1.30.ebuild
> !!! Reason: Filesize does not match recorded size
> !!! Got: 2197
> !!! Expected: 2561
> 
Try emerge with --digest. Have you used the old ebuild perhaps?

Will look at this when I get to the computer with the printer... Hopefully during the week ahead.
Comment 13 Adrian Pavone 2007-01-07 04:13:43 UTC
(In reply to comment #12)
> (In reply to comment #11)
> > It appears that these ebuilds were built for 1.30, and 1.30-1 is the current
> > incarnation on the Canon website.
> Hmm... I can only see the version from 04-04-2006 wich is 1.30 at this page
> 
> The link in the ebuild is dead, this is the new link
> http://software.canon-europe.com/software/0023675.asp?model=

Yeah, noticed that, I did a search on the website for the driver, and found that the current one was 1.30-1 instead of 1.30 was my point.

> > 
> > >>> Emerging (1 of 2) net-print/cndrvcups-common-1.30 to /
> >  * checking ebuild checksums ;-) ...                                      [ !!
> > ]
> > 
> > !!! Digest verification failed:
> > !!! /usr/portage/net-print/cndrvcups-common/cndrvcups-common-1.30.ebuild
> > !!! Reason: Filesize does not match recorded size
> > !!! Got: 2197
> > !!! Expected: 2561
> > 
> Try emerge with --digest. Have you used the old ebuild perhaps?

It emerged properly with --digest :). Thanks.

> Will look at this when I get to the computer with the printer... Hopefully
> during the week ahead.

Following the output from the end of the ebuild:

* Now you can add your printer with either the webinterface or lpadmin
 *
 * /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0
 -E
 *
 * Replace 1120 with either on of the following printers:
 * 1120 1210 2900 3000 3200 3210 3300 5000

I am getting this result:

terminator / # /usr/sbin/lpadmin -p LBP3000 -m CNCUPSLBP3000CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
lpadmin: Bad device-uri "ccp:/var/ccpd/fifo0"!

The file is definitely there though:

terminator / # ls /var/ccpd/fifo0 -l
prw------- 1 lp lp 0 Jan  7 13:00 /var/ccpd/fifo0

Any idea what the problem is here?
Comment 14 Yurii Zolotko 2007-01-11 15:56:56 UTC
(In reply to comment #13)
> I am getting this result:
> 
> terminator / # /usr/sbin/lpadmin -p LBP3000 -m CNCUPSLBP3000CAPTK.ppd -v
> ccp:/var/ccpd/fifo0 -E
> lpadmin: Bad device-uri "ccp:/var/ccpd/fifo0"!
> 
> The file is definitely there though:
> 
> terminator / # ls /var/ccpd/fifo0 -l
> prw------- 1 lp lp 0 Jan  7 13:00 /var/ccpd/fifo0
> 
> Any idea what the problem is here?
> 

Seems like ebuild installs cups backend and filters to /usr/lib/cups while new versions of cups are using /usr/libexec/cups. Copying /usr/lib/cups/* to /usr/libexec/cups/ fixed this problem for me. Maybe have to change ebuild to install to proper location?
Comment 15 Jonas Jonsson 2007-01-11 16:44:19 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > I am getting this result:
> > 
> > terminator / # /usr/sbin/lpadmin -p LBP3000 -m CNCUPSLBP3000CAPTK.ppd -v
> > ccp:/var/ccpd/fifo0 -E
> > lpadmin: Bad device-uri "ccp:/var/ccpd/fifo0"!
> > 
> > The file is definitely there though:
> > 
> > terminator / # ls /var/ccpd/fifo0 -l
> > prw------- 1 lp lp 0 Jan  7 13:00 /var/ccpd/fifo0
> > 
> > Any idea what the problem is here?
> > 
> 
> Seems like ebuild installs cups backend and filters to /usr/lib/cups while new
> versions of cups are using /usr/libexec/cups. Copying /usr/lib/cups/* to
> /usr/libexec/cups/ fixed this problem for me. Maybe have to change ebuild to
> install to proper location?
> 

Yes, it seems that this is the case. However I have net-print/cups-1.2.6 installed and it installs in /usr/libexec but I have capt stuff in /usr/lib/cups and it is working. This could be some backward compatible stuff, but I really don't know anything about that. What version are you using of cups?

Don't have much this week to check it out, maybe next week I'll give it a look and fix the ebuild.
Comment 16 Yurii Zolotko 2007-01-11 16:48:58 UTC
I've(In reply to comment #15)
> /usr/lib/cups and it is working. This could be some backward compatible stuff,
> but I really don't know anything about that. What version are you using of
> cups?

I'm using cups-1.2.6 and it doesn't look in /usr/lib/cups.
Comment 17 Yurii Zolotko 2007-01-11 16:51:04 UTC
I've also noticed that capt driver fails silently every print if ghostscript-gpl is installed, but works fine with ghostscript-esp. Perhaps app-text/ghostscript-esp have to be added to RDEPEND.
Comment 18 Jonas Jonsson 2007-02-13 19:35:00 UTC
Created attachment 110093 [details]
cndrvcups-capt-1.30-r1.ebuild

Updated capt ebuild with emul-linux-baselibs-10.0, portage and ghostscript-esp.
Comment 19 Jonas Jonsson 2007-02-14 17:57:53 UTC
Created attachment 110180 [details]
cndrvcups-capt-1.30-r1.ebuild

Updated to emul-linux-x86-baselibs-10.0-r1 since 10.0 didn't work...
Comment 20 Arnaud Fleurentdidier Messaoudi 2007-03-04 16:38:28 UTC
I spend something like 30hours trying to install the lbp5000 thanks to source given by canon...

I failed

And here i see an ebuild. Then I tried it and compilation works. But nothing print...

At least /usr/bin/captstatusui -P LBP5000 answer the printer is ready to print. and when i reboot the printer, it shows the steps the printer is following : then there is a communication !!!!! but i cant print anything and i dunno why... have you an idea ?
Comment 21 Jonas Jonsson 2007-03-04 19:45:15 UTC
(In reply to comment #20)
> I spend something like 30hours trying to install the lbp5000 thanks to source
> given by canon...
> 
> I failed
> 
> And here i see an ebuild. Then I tried it and compilation works. But nothing
> print...
> 
> At least /usr/bin/captstatusui -P LBP5000 answer the printer is ready to print.
> and when i reboot the printer, it shows the steps the printer is following :
> then there is a communication !!!!! but i cant print anything and i dunno
> why... have you an idea ?
> 

Hmm... Never used the captstatusui... Have you checked that the ccpd is actually running? I had some problems that cups believed that the file had been printed but it hang in some converting stuff to there protocol.

I would check that in cups that the device is ccp:/var/ccpd/fifo0 . Check with cups to see if you can printout a test page from there.

I would also check the /etc/ccpd.conf and see if the printer is listed as it should there. There seems to be some sort of logging in there, but I have never used it. You might wanna checkout that. Look in the manual and see if there is some info about it.

This printer is USB right, because as far as I know this driver only work with USB.

Hope you get it to work...
Comment 22 Arnaud Fleurentdidier Messaoudi 2007-03-04 22:12:36 UTC
> Hmm... Never used the captstatusui... Have you checked that the ccpd is
> actually running?

it's running.



> 
> I would check that in cups that the device is ccp:/var/ccpd/fifo0 . Check with
> cups to see if you can printout a test page from there.


i cant.



> 
> I would also check the /etc/ccpd.conf and see if the printer is listed as it
> should there. There seems to be some sort of logging in there, but I have never
> used it. You might wanna checkout that.

My LBP5000 is logged in there.


> 
> This printer is USB right, because as far as I know this driver only work with
> USB.

yes it's usb printer
Comment 23 Arnaud Fleurentdidier Messaoudi 2007-03-07 18:26:44 UTC
this ebuild seems to not work with amd64 and lbp5000 but there is a way to make the printer works.

ftp://download.canon.jp/pub/driver/lasershot/linux

here you can find x64 release of common package. I think it was required by my system because ebuild havent run until i rpm2tar the x64 common package and replaced the installed files manualy.

I hope this help.

NB : with 32 bits common package, my printer's monitor "captstatusui -P LBP5000" was able to tell me what the printer was doing (calibrating, sleeping, ready to print etc) but i wasn't able to print anything
Comment 24 Jonas Jonsson 2007-03-07 19:22:23 UTC
(In reply to comment #23)

Great to hear that your printer is working.

Can't really say why I didn't work for you. Since the common-src package is compiled to 64bit binaries.

Gonna do a complete reinstall soon, so I might spot some problems with it then.
But on the other hand this could be related to the LBP5000 printer to.
Comment 25 Arnaud Fleurentdidier Messaoudi 2007-03-07 21:06:43 UTC
as i said you : there is a captmonLBP5000 release; Maybe the problem comes from captmon program and then it's really specific to the printer.

The files the 64bits package replaced sometimes had different sizes in comparison with your ebuild ones.

Once the ebuild will be fixed, i hope the capt drivers will be in the portage !
Comment 26 Bernard Willers 2007-04-11 02:56:59 UTC
So after struggling with the ridiculous canon drivers for the last five hours I stumble upon this ebuild. I'd love to give it a try, but I'm a bit of a gentoo newbie, how can I emerge an from a file? the emerge command just complains about how emerging by path is broken?
Comment 27 Jonas Jonsson 2007-04-11 11:09:18 UTC
(In reply to comment #26)
> So after struggling with the ridiculous canon drivers for the last five hours I
> stumble upon this ebuild. I'd love to give it a try, but I'm a bit of a gentoo
> newbie, how can I emerge an from a file? the emerge command just complains
> about how emerging by path is broken?
> 

You have to create a local overlay. In short you need to create a local portage tree in ex. /usr/local/portage that looks something like this
./net-print
./net-print/cndrvcups-capt
./net-print/cndrvcups-capt/files
./net-print/cndrvcups-capt/files/cndrvcups-capt-init.d
./net-print/cndrvcups-capt/cndrvcups-capt-1.30-r1.ebuild
./net-print/cndrvcups-common
./net-print/cndrvcups-common/files
./net-print/cndrvcups-common/files/cndrvcups-common-1.30-gcc-4.diff
./net-print/cndrvcups-common/cndrvcups-common-1.30.ebuild

Then in the /etc/make.conf you need to tell portage where to look for you local overlay. Add a line like PORTDIR_OVERLAY="/usr/local/portage"

Now you can emerge it almost as normal, use emerge cndrvcups-capt --digest 
This will create the needed checksums.
Comment 28 Bernard Willers 2007-04-11 14:12:35 UTC
(In reply to comment #27)
> 
> You have to create a local overlay. In short you need to create a local portage
> .......
> Now you can emerge it almost as normal, use emerge cndrvcups-capt --digest 
> This will create the needed checksums.
> 

Ah, understanding dawns :) Unfortunately the second build (capt) failed with the error:
    * The file libpopt.so.0 need to be in /usr/lib32
    * Since there aren't any emul-linux-x86 package for these you need to manually copy these files from another machine.

I'm assuming the libpopt.so.0 lying in /usr/lib64 is a no good, which leaves me with a bit of a problem since I don't have a 32bit machine I can copy these files from... don't suppose you could give me an idea where to get hold of it? (google has been of no avail yet)

Thanks
Comment 29 Bernard Willers 2007-04-17 19:58:35 UTC
Hmm ok nevermind my silliness. So I've gotten the driver emerged, but I still get the same ominous error that I did when, captstatusui simply tells me "Check the DevicePath of /etc/ccpd.conf", yet the device path listed there, namely /dev/usb/lp0 is exactly correct. Anyone else had this problem?
Comment 30 Jonas Jonsson 2007-04-18 10:45:01 UTC
(In reply to comment #29)
> Hmm ok nevermind my silliness. So I've gotten the driver emerged, but I still
> get the same ominous error that I did when, captstatusui simply tells me "Check
> the DevicePath of /etc/ccpd.conf", yet the device path listed there, namely
> /dev/usb/lp0 is exactly correct. Anyone else had this problem?
> 

I get that error if I use lbp1120 instead of LBP1120 as my Printer. When starting captstatusui.

Check the /etc/ccpd.conf <Printer LBP1120> tag and see if it's just a simple CaseMissMatch...

I have never used the captstatusui by the way...
Comment 31 Yurii Zolotko 2007-06-15 12:23:12 UTC
Created attachment 122133 [details, diff]
cndrvcups-common-1.30-fast-add-tail.patch

When using this driver I've encountered a problem that some types of documents, especially images being printed from GQView, are being processed extremely long, ( for example printing single A4 color image from GQView in 600x600 DPI on my LBP5000 took several hours ) and pstocapt2 filter process consumes 99% CPU during this. I've done some profiling and found significant performance bottleneck in pstocapt2 filter. Here are two patches that fix this ( this reduced time of printing A4 image to few seconds ). Everyone who experience the same problems should try this.
Comment 32 Yurii Zolotko 2007-06-15 12:25:15 UTC
Created attachment 122135 [details, diff]
cndrvcups-capt-1.30-fast-add-tail.patch
Comment 33 Jonas Jonsson 2007-10-06 14:33:35 UTC
I have updated the ebuild to version 1.50.

Canon has added support for more printers, don't know which one.

Changes since last ebuild
* Skip building the captstatusgui, it depends on gtk 1.2, never use it anyway. ccpdadmin displays some of the information.
* Added the fast-add-tail patch from Yurii Zolotko
* Updated the fast-add-tail patch for capt package to be used by all filters.
* Added the .so file in the files directory, yes this isn't the best thing but I want the file to belong to the package
* The gcc-4 patch isn't needed anymore.
* Install the filters and backend in the correct directory, libexec instead of lib.
* Skipped the restrict fetch thing, since the file is available through the ftp server.
Comment 34 Jonas Jonsson 2007-10-06 14:34:21 UTC
Created attachment 132731 [details]
cndrvcups-capt-1.50.ebuild
Comment 35 Jonas Jonsson 2007-10-06 14:35:08 UTC
Created attachment 132733 [details, diff]
cndrvcups-capt-1.50-fast-add-tail.patch

Needed by cndrvcups-capt-1.50.ebuild
Comment 36 Jonas Jonsson 2007-10-06 14:36:08 UTC
Created attachment 132734 [details]
libpopt.so.0.0.0

Needed by cndrvcups-capt-1.50.ebuild

This file comes from a Gentoo x86 machine.
Comment 37 Jonas Jonsson 2007-10-06 14:36:45 UTC
Created attachment 132736 [details]
cndrvcups-common-1.50.ebuild
Comment 38 Jonas Jonsson 2007-10-06 14:37:29 UTC
Created attachment 132738 [details, diff]
cndrvcups-common-1.50-fast-add-tail.patch

Needed by cndrvcups-common-1.50.ebuild

Nothing has changes really, just the version number in the path.
Comment 39 Jonas Jonsson 2007-10-06 14:43:30 UTC
I have created an .tar.bz2 file to be used in a local overlay.

http://www.ludd.ltu.se/~jonas/net-print.tar.bz2
Comment 40 Markus Layr 2007-11-19 19:12:53 UTC
(In reply to comment #39)
> I have created an .tar.bz2 file to be used in a local overlay.
> 
> http://www.ludd.ltu.se/~jonas/net-print.tar.bz2
> 

Many thanks for this tarball, I have written an small Howto for using the Canon LBP 5000: http://gentoo-wiki.com/HOWTO_Canon_LBP_5000_using_proprietary_Canon_drivers
Comment 41 Anton Romanov 2008-02-25 08:52:57 UTC
there is 1.60 version here
http://software.canon-europe.com/software/0028622.asp
( http://software.canon-europe.com/files/soft28622/software/CAPTDRV160.tar.gz )
however there is no 1.60 on ftp
anyone tried to write ebuild for it?
Comment 42 Jonas Jonsson 2008-02-25 09:57:22 UTC
(In reply to comment #41)
> there is 1.60 version here
> http://software.canon-europe.com/software/0028622.asp
> ( http://software.canon-europe.com/files/soft28622/software/CAPTDRV160.tar.gz )
> however there is no 1.60 on ftp
> anyone tried to write ebuild for it?
> 

I gave up on my Canon printer, but after a quick look at the new file, it's almost the same as the old version. With some small adjustments to the 1.50 ebuild the 1.60 should work. The old one is an rpm, this is a .tar.bz2.

I will leave the net-print tarball at my site if anyone is intressded   to continue the work.

Since I have sold my printer I will not contiune this ebuild, sorry.
Comment 43 Anton Romanov 2008-02-28 13:56:57 UTC
Created attachment 144857 [details]
cndrvcups-common-1.60_p1.ebuild
Comment 44 Anton Romanov 2008-02-28 13:57:33 UTC
Created attachment 144858 [details]
cndrvcups-capt-1.60_p1.ebuild
Comment 45 Markus Layr 2008-03-02 16:59:01 UTC
(In reply to comment #44)
> Created an attachment (id=144858) [edit]
> cndrvcups-capt-1.60_p1.ebuild
> 

Thank you for the new ebuilds.
I've created a new tarball which contains now additionally the new ebuilds and updated the Manifest files (digest).


I've replaced the link to the new tarball on the gentoo wiki side: http://gentoo-wiki.com/HOWTO_Canon_LBP_5000_using_proprietary_Canon_drivers

and added a short info for upgrading from previous verion.
Comment 46 Sergey Belyashov 2008-03-14 22:15:48 UTC
1.50 work fine for me (2007.0, amd athlon-900, 128MB).
1.60 installs fine, but ccpd do not want run. When I start it before cups it do not work. When I start it after cups it dies (after fork() call) with segmentation fault.
Comment 47 Markus Layr 2008-04-08 09:50:08 UTC
On two machines cups doesn't work at the moment:

The web interface of cups prints this message.

"/usr/libexec/cups/filter/pstocapt2 failed"

A downgrade to Version 1.50 of CAPT didn't help, also a downgrade to older versions of cups!
Comment 48 Aleksandr Yakimov 2008-05-18 11:07:13 UTC
(In reply to comment #44)
> Created an attachment (id=144858) [edit]
> cndrvcups-capt-1.60_p1.ebuild
> 

Change app-text/ghostscript-esp to >=app-text/ghostscript-gpl-8.60
(see http://www.cups.org/espgs/index.php for details)

It works for me: net-print/cups-1.3.7-r1 app-text/ghostscript-gpl-8.62 net-print/cndrvcups-capt-1.60_p1 with LBP-810 printer.
Comment 49 Markus Layr 2008-05-18 15:17:11 UTC
(In reply to comment #48)
> (In reply to comment #44)
> > Created an attachment (id=144858) [edit]
> > cndrvcups-capt-1.60_p1.ebuild
> > 
> 
> Change app-text/ghostscript-esp to >=app-text/ghostscript-gpl-8.60
> (see http://www.cups.org/espgs/index.php for details)
> 
> It works for me: net-print/cups-1.3.7-r1 app-text/ghostscript-gpl-8.62
> net-print/cndrvcups-capt-1.60_p1 with LBP-810 printer.
> 

Thank you very much, printing works now again for me.
I will update the tarball on the wiki howto page.
I had to remove the app-text/ghostscript-esp package to reinstall the cndrvcups-capt driver ebuild which requires now app-text/ghostscript-gpl.
Comment 50 Pavel Volkov 2008-11-12 11:51:51 UTC
Everything works, but I've got broken dependencies with 1.60_p1 detected by revdep-rebuild, and it rebuilds cndrvcups-capt every time. Is there any way to get rid of this?

$ revdep-rebuild -p
 * Configuring search environment for revdep-rebuild

 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.

 * Collecting system binaries and libraries
 * Generated new 1_files.rr
 * Collecting complete LD_LIBRARY_PATH
 * Generated new 2_ldpath.rr
 * Checking dynamic linking consistency
[ 7% ]  *   broken /usr/bin/captmoncnab6 (requires /usr/lib/libcaiowrap.so)
 *   broken /usr/bin/captmoncnac5 (requires /usr/lib/libcaiowrap.so)
 *   broken /usr/bin/captmonlbp3300 (requires /usr/lib/libcaiowrap.so)
 *   broken /usr/bin/captmonlbp5000 (requires /usr/lib/libcaiowrap.so)
[ 100% ]
 * Generated new 3_broken.rr
 * Assigning files to packages
 *   /usr/bin/captmoncnab6 -> net-print/cndrvcups-capt
 *   /usr/bin/captmoncnac5 -> net-print/cndrvcups-capt
 *   /usr/bin/captmonlbp3300 -> net-print/cndrvcups-capt
 *   /usr/bin/captmonlbp5000 -> net-print/cndrvcups-capt
 * Generated new 4_raw.rr and 4_owners.rr
 * Cleaning list of packages to rebuild
 * Generated new 4_pkgs.rr
 * Assigning packages to ebuilds
 * Generated new 4_ebuilds.rr
 * Evaluating package order
 * Generated new 5_order.rr
 * All prepared. Starting rebuild
emerge --oneshot --pretend net-print/cndrvcups-capt:0


Comment 51 Pavel Volkov 2008-11-12 11:57:13 UTC
A symlink in /usr/lib fixed this (i'm x86_64 user):
lrwxrwxrwx 1 root root 25 Ноя 12 14:54 libcaiowrap.so -> /usr/lib32/libcaiowrap.so

Please submit it to ebuild.
Comment 52 Arnaud Fleurentdidier Messaoudi 2009-03-08 20:36:49 UTC
When I try to digest the attached capt-1.60 file, the shell return there are typo mistakes on the following line:

Ades cndrvcups-capt # ebuild cndrvcups-capt-1.60_p1.ebuild digest
Error(s) in metadata for 'net-print/cndrvcups-capt-1.60_p1':
  SRC_URI: http://gdlp01.c-wss.com/gds/0100000945/cndrvcups-capt-1.60-1.tar.gz doc?(http://software.canon-europe.com/files/soft28622/manual/guide-capt-1.6xE.tar.gz)
    missing space by parenthesis: '?('
Ades cndrvcups-capt # nano cndrvcups-capt-1.60_p1.ebuild
Ades cndrvcups-capt # ebuild cndrvcups-capt-1.60_p1.ebuild digest
Error(s) in metadata for 'net-print/cndrvcups-capt-1.60_p1':
  SRC_URI: http://gdlp01.c-wss.com/gds/0100000945/cndrvcups-capt-1.60-1.tar.gz doc? (http://software.canon-europe.com/files/soft28622/manual/guide-capt-1.6xE.tar.gz)
    missing space by parenthesis: '(h'


I replaced the line by:

doc? ( http://software.canon-europe.com/files/soft28622/manual/guide-capt-1.6xE.tar.gz )

and now everything is ok. I can't explain why I am the first who experience this issue.
Comment 53 Marc Elser 2009-06-13 19:02:22 UTC
Hi,

Just a quick question, does anybody have an updated ebuild for the 1.80 drivers which are available since nov 2008 from canon? Can I simply exchange the version number and it will work or is it more likely that v1.80 needs a completely new ebuild?

Thanks for letting me know.

Marc
Comment 54 Anton Romanov 2009-06-16 19:11:31 UTC
Created attachment 194919 [details]
cndrvcups-capt-1.80_p1.ebuild
Comment 55 Anton Romanov 2009-06-16 19:12:00 UTC
Created attachment 194921 [details]
cndrvcups-common-1.80_p1.ebuild
Comment 56 BeaVe 2009-06-19 06:58:33 UTC
Created attachment 195140 [details]
cndrvcups-lb-1.80_p1.ebuild
Comment 57 BeaVe 2009-06-19 07:02:36 UTC
Created attachment 195141 [details]
cndrvcups-lips4-1.80_p1.ebuild
Comment 58 BeaVe 2009-06-19 07:08:18 UTC
(In reply to comment #54)
> cndrvcups-capt-1.80_p1.ebuild
> 

After installing:

beave init.d # /etc/init.d/ccpd start
-su: /etc/init.d/ccpd: No such file or director
Comment 59 Anton Romanov 2009-06-19 07:16:08 UTC
(In reply to comment #58)
> beave init.d # /etc/init.d/ccpd start
> -su: /etc/init.d/ccpd: No such file or director
> 
have you followed all instructions from ebuild ?
Comment 60 Johanus 2009-06-19 18:02:19 UTC
Hi - I have problem with this driver (1.80). I emerged -capt and -common. That was OK. After that I tried to add my printer (I have LBP 2900):

/usr/sbin/lpadmin -p LBP2900 -P /usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
/usr/sbin/ccpdadmin -p LBP2900 -o /dev/usblp0

Everything seems to be OK, but printer doesn't work. When I try to run capstatusui, I get this error: "*** captstatusui Error: No Specified Printer ***". And I am SURE that printer is connected (can see it with lsusb command)

I think that problem might be in ccpdadmin. Because when I run CCPDADMIN (as root, of course) I get this:
<snip>
 CUPS_ConfigPath = /etc/cups/
 LOG Path        = /var/log/CCPD/
 UI Port         = 59787

 Entry Num  : Spooler   : Backend       : FIFO path             : Device Path   : Status
 ----------------------------------------------------------------------------
     [0]    : LBP2900   : ccp           : /var/ccpd/fifo0       : /dev/usb/lp0  :
<snip>

There is NO printer status. When I try to print something, I can see that job in queue. But thats all. Nothing prints. Does anybody know what can I do to fix it please? Thanls
Comment 61 Dmitry Ivankov 2009-07-30 20:02:16 UTC
I'm too getting a segfault on print, with 1.80.
ccpd[31361]: segfault at f7456004 ip 00000000f7e0ea99 sp 00000000ffd72cb4 error 4 in libc-2.9.so[f7da2000+137000]

1.50 won't install because it fails to fetch ftp://download.canon.jp/pub/driver/lasershot/linux/cndrvcups-capt-1.50-2a.tar.gz.
Comment 62 Krzysztof Beresztant 2009-09-24 18:54:23 UTC
Ebuild does not work. Cups accepts the job, says 'Processing' and nothing more. Tried on two computers (amd64, x86).
Comment 63 Andrey Tikhonov 2009-10-03 16:34:12 UTC
Created attachment 205936 [details]
cndrvcups-common-1.90_p1.ebuild
Comment 64 Andrey Tikhonov 2009-10-03 16:35:14 UTC
Created attachment 205938 [details]
cndrvcups-capt-1.90_p1.ebuild
Comment 65 Andrey Tikhonov 2009-10-03 16:37:45 UTC
I've updated old (1.80_p1) ebuilds despite it doesn't work for me, I've unpacked .deb's and it works
Comment 66 Andrey Tikhonov 2009-10-03 17:32:48 UTC
Created attachment 205943 [details]
cndrvcups-common-1.90_p1.ebuild

Some bugfixes
Comment 67 Andrey Tikhonov 2009-10-03 17:33:28 UTC
Created attachment 205945 [details]
cndrvcups-capt-1.90_p1.ebuild

Some bugfixes
Comment 68 Andrey Tikhonov 2009-10-03 17:46:37 UTC
(In reply to comment #65)
> I've updated old (1.80_p1) ebuilds despite it doesn't work for me, I've
> unpacked .deb's and it works
> 

It works for me now
Comment 69 Andrey Tikhonov 2009-10-05 13:42:15 UTC
Comment on attachment 205945 [details]
cndrvcups-capt-1.90_p1.ebuild

><?xml version="1.0"?><html><head/><body><pre># Copyright 1999-2006 Gentoo Foundation
># Distributed under the terms of the GNU General Public License v2
># $Header: $
>
>inherit multilib eutils versionator
>MY_P=${P/_p/-}
>S=${WORKDIR}/${PN}-$(get_version_component_range 1-2)
>DESCRIPTION="Canon CUPS Capt driver"
>HOMEPAGE="http://www.canon.com/"
>SRC_URI="http://gdlp01.c-wss.com/gds/1/0100001301/03/${MY_P}.tar.gz"
>LICENSE="CANON"
>SLOT="0"
>KEYWORDS="~amd64 ~x86"
>IUSE=""
>EAPI="2"
>
>DEPEND="=net-print/cndrvcups-common-1.90_p1
>		>=net-print/cups-1.1.17"
>
>dir=/usr/$(get_libdir)
>
>QA_TEXTRELS="${dir:1}/libcaiocaptnet.so.1.0.0"
>
>RDEPEND="${DEPEND}
>		>=sys-apps/portage-2.1.1_pre1
>		app-text/ghostscript-gpl
>		amd64? (
>			>=app-emulation/emul-linux-x86-gtklibs-2.0
>			>=app-emulation/emul-linux-x86-baselibs-10.0-r1
>		)
>		!amd64? (
>			dev-libs/popt
>			dev-libs/libxml2
>		)"
>
>pkg_postinst() {
>	einfo "To get your printer working you need to restart cupsd"
>	einfo
>	einfo "/etc/init.d/cupsd restart"
>	einfo
>	einfo "Now you can add your printer with either the webinterface or lpadmin"
>	einfo
>	einfo "/usr/sbin/lpadmin -p LBP3010 -m CNCUPSLBP3050CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E"
>	einfo
>	einfo "Replace 3050 with either on of the following printers:"
>	einfo "1120 1210 2900 3000 3050 3200 3210 3300 5000"
>	einfo
>	einfo "Now you must register the printer in ccpd, if connected with usb"
>	einfo
>	einfo "/usr/sbin/ccpdadmin -p LBP3010 -o /dev/usb/lp0"
>	einfo 
>	einfo "Notice that you can't use LPT port with this driver."
>	einfo "If you have a network connection to your printer use -o net:&lt;IP OF PRINTER>" 
>	einfo "instead of -o /dev/usb/lp0"
>	einfo "See manual for more information,  guide-capt-1.3xE.tar.gz at "
>	einfo "http://software.canon-europe.com/software/0023675.asp"
>	einfo 
>	einfo "Now you can go ahead and start the ccpd daemon"
>	einfo
>	einfo "/etc/init.d/ccpd start"
>	einfo
>	einfo "If you have more then one printer just create more fifos in"
>	einfo "/var/ccpd/ , increase the fifo number for more printers"
>	einfo
>	einfo "mkfifo -m 600 /var/ccpd/fifo1; chown lp:lp /var/ccpd/fifo1"
>	einfo 
>	einfo
>	ewarn "If you reinstall make sure the fifo is created in /var/ccpd, if not"
>	ewarn "just reinstall again. This is due to bug #136199"
>	if use amd64; then
>		ewarn
>		ewarn "The file /usr/lib32/libpopt.so.0.0.0 doesn't exist in any x86 package yet"
>		ewarn "The file comes from a Gentoo x86 machine"
>	fi
>}
>
>src_unpack() {
>	unpack ${A}
>	cd ${S}
>	# Fix the cups backend path
>	for i in backend pstocapt{,2,3}/filter; do
>		sed -i -e 's@libdir@libexecdir@' "${i}/Makefile.am"
>	done
>}
>
>src_configure() {
>	cd driver
>	NOCONFIGURE=1 ./autogen.sh
>	econf --disable-static
>	cd ..
>	for i in statusui backend pstocapt pstocapt{,2,3} ppd; do
>		cd ${i}
>		NOCONFIGURE=1 ./autogen.sh
>		econf
>		cd ..
>	done
>}
>
>src_compile() {
>	for i in statusui driver backend pstocapt{,2,3} ppd; do
>		cd ${i}
>		emake
>		cd ..
>	done
>}
>
>src_install() {
>	for i in statusui driver backend pstocapt{,2,3} ppd; do
>		cd ${i}
>		make install DESTDIR=${D}
>		cd ..
>	done
>
>	if use amd64; then
>		OABI=${ABI}
>		ABI="x86"
>		insinto /usr/lib32
>		i="libpopt.so.0.0.0"
>		[ ! -e ${FILESDIR}/${i} ] &amp;&amp; die "You have to download libpopt.so.0.0.0 from http://bugs.gentoo.org/attachment.cgi?id=132734 and put it to ${FILESDIR} manually!"
>		dolib.so ${FILESDIR}/${i}
>		dosym ${i} /usr/lib32/${i%.?}
>		dosym ${i} /usr/lib32/${i%.?.?}
>		dosym ${i} /usr/lib32/${i%.?.?.?}
>		ABI=${OABI}
>	fi
>
>	# Install the libs
>	OABI=${ABI}
>	has_multilib_profile &amp;&amp; ABI="x86"
>	for i in $(cd libs; ls *.so.?.?.?; cd ..); do
>		dolib.so libs/${i}
>		dosym ${i} /usr/$(get_libdir)/${i%.?}
>		dosym ${i} /usr/$(get_libdir)/${i%.?.?}
>		dosym ${i} /usr/$(get_libdir)/${i%.?.?.?}
>	done
>	
>	# Install bin
>	dobin 	libs/captdrv \
>		libs/captemon/captmoncnab6 \
>		libs/captemon/captmoncnab7 \
>		libs/captemon/captmoncnab8 \
>		libs/captemon/captmoncnab9 \
>		libs/captemon/captmoncnaba \
>		libs/captemon/captmoncnac5 \
>		libs/captemon/captmoncnac6 \
>		libs/captemon/captmoncnac8 \
>		libs/captemon/captmoncnac9 \
>		libs/captemon/captmonlbp3300 \
>		libs/captemon/captmonlbp5000 \
>		libs/captemon/captmonlbp3300 \
>		libs/captmon/captmon \
>		libs/captmon2/captmon2
>
>	# Install sbin
>	dosbin libs/ccpd libs/ccpdadmin
>
>	ABI=${OABI}
>
>	# Install the data
>	insinto /usr/share/ccpd
>	doins libs/ccpddata/*
>
>	insinto /usr/share/captmon
>	doins libs/captmon/msgtable.xml
>
>	insinto /usr/share/captmon2
>	doins libs/captmon2/msgtable2.xml
>
>	insinto /usr/share/captemon
>	doins libs/captemon/*.xml
>
>	insinto /usr/share/caepcm
>	doins data/CnA* libs/CnA* data/CNL*
>
>	# Install doc
>	dodoc LICENSE* README* COPYING
>
>	for i in statusui driver backend pstocapt{,2,3} ppd; do
>		docinto ${i}
>		dodoc ${i}/NEWS ${i}/README ${i}/AUTHORS ${i}/ChangeLog ${i}/LICENSE*
>	done
>
>
>	# Fix the fifos
>	dodir /var/ccpd
>	mkfifo -m 600 ${D}/var/ccpd/fifo0
>	fowners lp:lp /var/ccpd/fifo0
>	
>	# fix captmon
>	dodir /var/captmon
>	fowners lp:lp /var/captmon
>	keepdir /var/captmon
>
>	# Install startupscripts
>	newinitd ${FILESDIR}/${PN}-init.d ccpd
>	
>	insinto /etc
>	doins samples/ccpd.conf
>}
></pre></body></html>
Comment 70 Andrey Tikhonov 2009-10-05 13:44:16 UTC
Created attachment 206095 [details]
cndrvcups-capt-1.90_p1.ebuild

An else one bugfix ( didn't run autogen.sh and configure in ppd directory )
Comment 71 Anton Romanov 2009-10-07 09:19:00 UTC
(In reply to comment #66)
> Created an attachment (id=205943) [details]
> cndrvcups-common-1.90_p1.ebuild
> 
> Some bugfixes
> 
won't build with latest cups for me

/var/tmp/portage/net-print/cndrvcups-common-1.90_p1/work/cndrvcups-common-1.90/cngplp/cngplpmod/.libs/libcngplpmod.a(cngplpmod.o): In function `CreatePPDOptions':
cngplpmod.c:(.text+0x30c): undefined reference to `cupsGetPPD'
/var/tmp/portage/net-print/cndrvcups-common-1.90_p1/work/cndrvcups-common-1.90/cngplp/cngplpmod/.libs/libcngplpmod.a(cngplpmod.o): In function `GetPrinterInfo':
cngplpmod.c:(.text+0xd16): undefined reference to `cupsGetDests'
cngplpmod.c:(.text+0xde7): undefined reference to `cupsFreeDests'
/var/tmp/portage/net-print/cndrvcups-common-1.90_p1/work/cndrvcups-common-1.90/cngplp/cngplpmod/.libs/libcngplpmod.a(cngplpmod.o): In function `cngplpInitOptions':
cngplpmod.c:(.text+0x207a): undefined reference to `cupsGetDests'
cngplpmod.c:(.text+0x20b8): undefined reference to `cupsGetDest'
cngplpmod.c:(.text+0x2155): undefined reference to `cupsFreeDests'
/var/tmp/portage/net-print/cndrvcups-common-1.90_p1/work/cndrvcups-common-1.90/cngplp/cngplpmod/.libs/libcngplpmod.a(execjob.o): In function `exec_remove_option':
execjob.c:(.text+0x1698): undefined reference to `cupsGetDests'
execjob.c:(.text+0x16c2): undefined reference to `cupsGetDest'
execjob.c:(.text+0x18db): undefined reference to `cupsFreeDests'

also:
 *      configure: WARNING: unrecognized options: --disable-shared, --enable-static
 *      configure: WARNING: unrecognized options: --disable-shared, --enable-static

Comment 72 Andrey Tikhonov 2009-10-08 14:36:54 UTC
(In reply to comment #71)
> (In reply to comment #66)
Well, i get configure warnings too, but it compiles fine for me (i use cups-1.4.1). May be you need to run lafilefixer --justfixit or revdep-rebuild?
Comment 73 Andrey Tikhonov 2009-10-08 14:42:06 UTC
And may be you are using ~amd64 profile? I didn't test it, it may not compile due to nonexistent 32-bit cups development libraries
Comment 74 Andrey Tikhonov 2009-10-08 15:06:59 UTC
Created attachment 206444 [details]
cndrvcups-common-1.90_p1.ebuild

Added cngplp USE flag ( disabled by default )
Comment 75 Anton Romanov 2009-10-08 18:03:14 UTC
(In reply to comment #72)
lafilefixer --justfixit
seems to fix it... i have successfully emerged 1.90..
though those unrecognized configure options should be removed as they .. well... are unrecognized 
Comment 76 Andrey Tikhonov 2009-10-08 18:44:46 UTC
(In reply to comment #75)
> (In reply to comment #72)
> lafilefixer --justfixit
> seems to fix it... i have successfully emerged 1.90..
> though those unrecognized configure options should be removed as they ..
> well... are unrecognized 
> 

I've removed them in the last ebuild
Comment 77 Karl-Robert Ernst 2009-10-26 22:20:00 UTC
Just wanted to say that the 1.90 versions of these drivers don't work for me here (LBP2900, amd64). They emerge fine, but nothing gets printed (also cups interface shows nothing in queue). Going back to the 1.80 ebuild fixed the issues.
Comment 78 Anton Romanov 2009-10-27 06:14:55 UTC
yeah , 1.90 don't work for me too (LBP1120)
Comment 79 Andrey Tikhonov 2009-10-29 09:06:50 UTC
>amd64
I'm sorry, but I use x86 system, so I can't test/fix the ebuilds for amd64 profile.
Comment 80 Anton Romanov 2009-10-29 10:50:22 UTC
(In reply to comment #79)
> >amd64
> I'm sorry, but I use x86 system, so I can't test/fix the ebuilds for amd64
> profile.
> 
1.90_p1 does not work for me on x86 with the same symptoms as for Karl-Robert Ernst
Comment 81 Olexandr Shalakhin 2009-11-14 10:39:34 UTC
I've used 1.90_p1 ebuild and ccpd file is not created. Where can I download it? Could someone give me link?

P.S. I've done everything said in postinstall message. Thanks for this ebuild. :)
Comment 82 Krzysztof Beresztant 2009-11-23 16:52:27 UTC
Still can't get it working. It all installs good, but all jobs stay in queue forever. The printer works correctly on Debian and Ubuntu, so i'm using Debian system on virtualbox for printing.
Comment 83 Nick Palamarchuk 2009-12-15 07:03:28 UTC
Created attachment 213066 [details]
init file for ccpd

Here is the simple implementation of /etc/init.d/ccpd

But can't make printer work on amd64 too
Comment 84 Luciano 2010-01-20 19:43:32 UTC
(In reply to comment #0)
> Hi..
> 
> It would be nice to have an ebuild for the newer Canon lasershot cups driver,
> since there is an Linux driver on there webpage, see url.
> 

I tried the 1.90_[1. It installs ok (some collision warnings though), and I can create the printer in CUPS, following the instructions. I see the following through the CUPS HTTP interface:

Description: LBP1210
Location:
Printer Driver: Canon LBP1210 CAPT ver.1.5
Printer State: idle, accepting jobs, published.
Device URI: ccp:/var/ccpd/fifo0 

However, whenever I try to print a test page it is added into the 'finished jobs' queue, but it's not physically printed! I think somebody else was having a similar problem above.

I'm running on AMD64.

I tried 1.8 version, but this resulted in a segfault of ccpd.

One of the other problems I'm having is that I can't get ccpd to log any output, even though I've configured it in /etc/ccpd.conf. ccpdadmin shows the following:

LOG Path = /var/log/ccpd/

But this directory is always empty. I though this would give me a clue as to what is wrong.


Any ideas?
Comment 85 Anton Romanov 2010-01-20 20:42:26 UTC
(In reply to comment #84)
i have the same issues with 1.90 on both x86 and amd64
however, 1.80 is working fine on both archs
Comment 86 Luciano 2010-01-20 22:49:26 UTC
(In reply to comment #85)
> (In reply to comment #84)
> i have the same issues with 1.90 on both x86 and amd64
> however, 1.80 is working fine on both archs
> 

Hmm that's strange. I tried 1.80 again, and the same result.

Both versions give me the following output in /var/log/cups/error_log:
I [20/Jan/2010:22:39:27 +0000] [Job 54] Started filter /usr/libexec/cups/filter/texttops (PID 24988)
I [20/Jan/2010:22:39:27 +0000] [Job 54] Started filter /usr/libexec/cups/filter/pstops (PID 24989)
I [20/Jan/2010:22:39:27 +0000] [Job 54] Started filter /usr/libexec/cups/filter/pstocapt (PID 24990)
I [20/Jan/2010:22:39:27 +0000] [Job 54] Started backend /usr/libexec/cups/backend/ccp (PID 24991)
I [20/Jan/2010:22:39:29 +0000] [Job 54] Completed successfully.


Also, I've found that I can fool ccpd into piping out the commands it would send to /dev/usb/lp0, by simply running ccpdadmin -p <printer> -o /tmp/myfile. And this appears to show that it is actually writing stuff out ... 

So I can't figure out what's wrong! As I said above, it would be great if I had some way of getting ccpd to output what it's doing. 

Besides that, I can only imagine that there may be something wrong with my USB subsystem. I have a kernel 2.6.31 and it looks ok though

usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid 0x04A9 pid 0x2617
usbcore: registered new interface driver usblp

Bus 002 Device 002: ID 04a9:2617 Canon, Inc. CAPT Printer
Comment 87 Ulim 2010-02-04 05:58:39 UTC
For the lips4 driver I had to remove the --libdir=/usr/libexec from the econf line in the ebuild. Otherwise I get pages with "Unable to open the initial device". Did cost me a while to figure that out.
Comment 88 Pavel Volkov 2010-02-23 10:24:22 UTC
I have the same problem as Luciano for 1.90 (printer LBP2900), AMD64
After redirecting output from /dev/usb/lp0 to /tmp/myfile, I got the following output in there (hex form):

00000000  a1 a1 04 00 a1 a1 04 00  a1 a1 04 00 a1 a1 04 00
00000010  a1 a1 04 00

The ccpd log file isn't created for me as well.

1.80 was working fine before, but it segfaults now. 1.60 was working too, but cannot download its files anymore.
Comment 89 Dmitry Ivankov 2010-02-23 16:34:24 UTC
Hi folks!
I unfortunately have LBP-1120 printer and was never able to print under linux (except printing through virtual machine). Correct me if I'm wrong, but none of us managed to print with it and with some other printers too.
Maybe it is the time to switch from gentoo bugzilla to "fix the printing" project?
What do we have: several users with the hardware, broken closed-source system(cndrvcups), not that working open-source reverse-engineered one (www.boichat.ch/nicolas/capt/), working closed-source system (windows driver), usb sniffers, gdb and some free time.

Ok, in short: does anyone have cndrvcups working under Gentoo or another distro? If not then let's start hacking it together as a separate project, or if yes then let's find out how to make all our setups work here, in Gentoo bugzilla.
Comment 90 Vladimir 2010-02-23 17:51:53 UTC
(In reply to comment #89)
> ... let's start hacking it together as a separate project, or
> if yes then let's find out how to make all our setups work here, in Gentoo
> bugzilla.

  Hello!
  I am a very poor programmer, but I would really like to help. :) How can I do it? 
  At least, I've got "Canon i-sensys LBP3010" and I can play with it a bit to help testing or bug-fixing. Maybe even "USB-sniffing" (or how you call it) if you tell me how to do it.

  Regards,
  Vladimir.

Comment 91 Anton Romanov 2010-02-24 06:16:39 UTC
(In reply to comment #89)
> Ok, in short: does anyone have cndrvcups working under Gentoo or another
> distro?
Yes, 1.80 is still working perfectly fine for me (both x86 and x86_64 ) ( LBP-1120 )
Comment 92 Dmitry 2010-02-26 18:59:27 UTC
(In reply to comment #89)
> Ok, in short: does anyone have cndrvcups working under Gentoo or another
> distro?

I confirm. cndrvcups 1.90 is perfectly running under Gentoo, installed from ebuilds offered here. But...
There is a bug in cndrvcups-capt-1.90_p1.ebuild: binaries "/usr/bin/captmoncn*" require libstdc++.so.5. And ebuild lacks this dependence.

Try to "emerge libstdc++-v3" for example. Or debug ccpd with "strace -f ccpd 2>&1 | less" command.
Comment 93 Pavel Volkov 2010-02-26 20:28:50 UTC
(In reply to comment #92)

Still no changes after emerging that lib (amd64)
Comment 94 Pavel Volkov 2010-03-01 22:53:51 UTC
Forgot to test 1.80 with libstdc++ installed. It works (crashed before).
1.90 doesn't. Please add the dependency.
Comment 95 Dmitry Ivankov 2010-03-03 20:37:25 UTC
(In reply to comment #94)
> Forgot to test 1.80 with libstdc++ installed. It works (crashed before).
> 1.90 doesn't. Please add the dependency.
Looks like I get the same results on amd64, I at last printed something with 1.80 and libstdc++, will retest it anyway.
Things to remember when digging it:
- lsof /dev/lp0, to see if there are "hung" processes
- kill them (ccpd and captmon)
- just in case try to reattach print and turn it on/off
- strace ccpd didn't give me much info, only pointed that /dev/lp0 was busy
- strace wrap for captmon didn't give anything, shows just "started new 32-bit pid"

Bugs seen:
- without libstdc++-v3 printing is completed silently without actual printing
- sometimes captmon hangs and eats one cpu core (maybe it's when /dev/lp0 is busy, gdb pointed to select() call)
- sometimes ccpd crash
ccpd[9146]: segfault at f72ea004 ip 00000000f7da0a99 sp 00000000ffc14034 error 4 in libc-2.9.so[f7d34000+137000]
ccpd[9206]: segfault at f7308004 ip 00000000f7dbea99 sp 00000000ffa34944 error 4 in libc-2.9.so[f7d52000+137000]
ccpd[9316]: segfault at 1 ip 0000000008052b44 sp 00000000ffa979e0 error 4 in ccpd[8048000+c000]

Also I have 32bit machine at hand, so will test on x86 too.
Comment 96 Vladimir 2010-03-29 07:17:42 UTC
(In reply to comment #89)
> Maybe it is the time to switch from gentoo bugzilla to "fix the printing"
> project?
> What do we have: several users with the hardware, broken closed-source
> system(cndrvcups), not that working open-source reverse-engineered one
> (www.boichat.ch/nicolas/capt/), working closed-source system (windows driver),
> usb sniffers, gdb and some free time.
  
  Hello!
  So what about developing a free (like in "freedom" :) ) driver for Canon printers? Is there any programmer who knows how to write drivers here? It seems to be a problem of many people trying to use these printers under GNU/Linux. That's why I think there are a lot of people who will participate. At least there is a huge field for future testing. :)
  
  Regards,
  Vladimir.
Comment 97 Dmitry Ivankov 2010-03-29 08:00:40 UTC
(In reply to comment #96)
>   Hello!
>   So what about developing a free (like in "freedom" :) ) driver for Canon
> printers? Is there any programmer who knows how to write drivers here? It seems
> to be a problem of many people trying to use these printers under GNU/Linux.
Looks like 1.80 and libstdc++ works quite good, for me it prints all jobs fine except that sometimes several pages are printed twice.

> That's why I think there are a lot of people who will participate. At least
> there is a huge field for future testing. :)
Don't have any drivers or kernel experience, have lbp-1120, and developer skills, mostly in c++, willing to participate.

Imho, the first and the fastest thing to do is to polish these ebuilds.
And it'll be sufficient for this very bugzilla issue.
Comment 98 Markus Layr 2010-03-30 16:36:25 UTC
I try to update to version 1.90-p1 but i get this error:

ebuild cndrvcups-capt-1.90_p1.ebuild digest

!!! missing space by parenthesis: '?('
Comment 99 Aleksandr Yakimov 2010-05-02 13:31:41 UTC
2.00E available - http://support-sg.canon-asia.com/contents/SG/EN/0900772407.html
Comment 100 Vladimir 2010-08-23 10:22:59 UTC
(In reply to comment #97)
> (In reply to comment #96)
> >   Hello!
> >   So what about developing a free (like in "freedom" :) ) driver for Canon
> > printers? Is there any programmer who knows how to write drivers here? It seems
> > to be a problem of many people trying to use these printers under GNU/Linux.
> Looks like 1.80 and libstdc++ works quite good, for me it prints all jobs fine
> except that sometimes several pages are printed twice.
> 
  Well, in my case (Canon LBP3010 on amd64 machine) none of these drivers work. With both 1.80 and 1.90 all the printing jobs become "accomplished" without being actually printed.
Comment 101 Pavel Volkov 2010-09-02 20:35:16 UTC
1.80 and 1.90 now both crash :(
Comment 102 Vladimir 2010-09-18 04:36:27 UTC
(In reply to comment #101)
> 1.80 and 1.90 now both crash :(
> 
Well, in such case the following post becomes topical again:

(In reply to comment #89)
>...
> Maybe it is the time to switch from gentoo bugzilla to "fix the printing"
> project?
> What do we have: several users with the hardware, broken closed-source
> system(cndrvcups), not that working open-source reverse-engineered one
> (www.boichat.ch/nicolas/capt/), working closed-source system (windows driver),
> usb sniffers, gdb and some free time.
> 
> Ok, in short: does anyone have cndrvcups working under Gentoo or another
> distro? If not then let's start hacking it together as a separate project, or
> if yes then let's find out how to make all our setups work here, in Gentoo
> bugzilla.
> 

I'm ready to "USB-sniff", test and report (those are the only things I can do, I guess). But somebody competent in programming is still needed. Are there any volunteers? :)

And by the way, there are some tips on developing such driver in the article by  Nicolas Boichat mentioned above. We could use them also.
What do you guys think?
Comment 103 Karl-Robert Ernst 2010-09-22 22:11:19 UTC
Created attachment 248395 [details]
Fixed ebuild for 2.00 driver version

Uploading an ebuild wich works for my LBP2900, copied from the 1.90 version, but with some modifications. (The *-common ebuild for 1.90 can be renamed/copied to 2.00, no modifications necessary)
Comment 104 Karl-Robert Ernst 2010-09-22 22:13:46 UTC
(In reply to comment #103)
> Created an attachment (id=248395) [details]
> Fixed ebuild for 2.00 driver version
> 
> Uploading an ebuild wich works for my LBP2900, copied from the 1.90 version,
> but with some modifications. (The *-common ebuild for 1.90 can be
> renamed/copied to 2.00, no modifications necessary)
> 

I forgot to add that the downloading is kinda broken, you need to download from the location in comment #99, extract, rename and copy the source files to your distfile dir. 
Comment 105 Pavel Volkov 2010-09-22 22:54:05 UTC
This 2.00 ebuild works fine under amd64, unlike 1.90.
A surprise for me!
Comment 106 gari 2010-09-24 15:09:11 UTC
>>> Downloading 'http://gdlp01.c-wss.com/gds/1/0100001301/03/cndrvcups-capt-2.00.tar.gz'
--2010-09-24 19:03:58--  http://gdlp01.c-wss.com/gds/1/0100001301/03/cndrvcups-capt-2.00.tar.gz
Распознаётся gdlp01.c-wss.com... 217.212.252.185, 217.212.252.169
Устанавливается соединение с gdlp01.c-wss.com|217.212.252.185|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 404 Not Found
2010-09-24 19:03:59 ОШИБКА 404: Not Found.

!!! Couldn't download 'cndrvcups-capt-2.00.tar.gz'. Aborting.
!!! Fetch failed for cndrvcups-capt-2.00.tar.gz, can't update Manifest
Comment 107 Sergey Belyashov 2010-09-24 15:13:37 UTC
(In reply to comment #106)
> >>> Downloading 'http://gdlp01.c-wss.com/gds/1/0100001301/03/cndrvcups-capt-2.00.tar.gz'
> --2010-09-24 19:03:58-- 
> http://gdlp01.c-wss.com/gds/1/0100001301/03/cndrvcups-capt-2.00.tar.gz
> Распознаётся gdlp01.c-wss.com... 217.212.252.185, 217.212.252.169
> Устанавливается соединение с
> gdlp01.c-wss.com|217.212.252.185|:80... соединение
> установлено.
> Запрос HTTP послан, ожидается ответ... 404 Not Found
> 2010-09-24 19:03:59 ОШИБКА 404: Not Found.
> 
> !!! Couldn't download 'cndrvcups-capt-2.00.tar.gz'. Aborting.
> !!! Fetch failed for cndrvcups-capt-2.00.tar.gz, can't update Manifest
> 

Read comment #104 about broken downloading.
Comment 108 Aleksandr Yakimov 2010-09-25 14:15:40 UTC
This issue should depend on Bug #129352 (provides libpopt.so.0.0.0).
Comment 109 fling 2010-11-07 16:14:20 UTC
Created attachment 253537 [details]
cups error log

im using =net-print/cndrvcups-lb-1.80-p1 for my usb printer DeviceURI usb://Canon/MF4010%20Series

cups thinks that all is ok, no error on printing test page but printer doesn't work
I even hear no sound from it
how to fix this?
Comment 110 Dmytro 'daks' Fomenko 2011-01-02 13:26:55 UTC
There are work ebuild in layman/calculate, based on this thread. Thanks all commiters of the cndrvcups-capt ebuilds.
Comment 111 Vladimir 2011-01-08 10:44:51 UTC
(In reply to comment #110)
> There are work ebuild in layman/calculate, based on this thread. Thanks all
> commiters of the cndrvcups-capt ebuilds.
> 
I have installed the driver using the suggested overlay, but I still cannot get my printer printing anything. When I try to print, the task becomes accomplished at once without actually printing a page.
Comment 112 Aleksandr Yakimov 2011-01-08 14:02:44 UTC
(In reply to comment #111)
Have you configured ccpdadmin? usblp module is active?
> I have installed the driver using the suggested overlay, but I still cannot get
> my printer printing anything. When I try to print, the task becomes
> accomplished at once without actually printing a page.
> 

Comment 113 Vladimir 2011-01-08 14:47:18 UTC
Hello!
(In reply to comment #112)
> (In reply to comment #111)
> Have you configured ccpdadmin? usblp module is active?
> 
  I knew nothing about 'ccpdadmin' and that it is necessary to configure it somehow. I just added a new printer (which is automatically detected) on the administration page in CUPS web-UI.
But after you had asked about it, I tried to configure ccpdadmin. I added a printer (configured with CUPS web interface earlier) to it and now it shows something like this:

########## Quote ##########
Usage: 
  ccpdadmin [-p Printer-name -o Printer-dev-path]
  ccpdadmin [-x Remove-Printer-name]


 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787

 Entry Num  : Spooler   : Backend       : FIFO path             : Device Path  : Status 
 ----------------------------------------------------------------------------
     [0]    : Canon_LBP3010     : usb           : //Canon/LBP3010/LBP3018/LBP3050?serial=0000B287B5bO   : /dev/usblp0   :
######## End quote ########
  
  So, it looks like it is configured somehow at the moment. 
  'usblp' module is also active (since /dev/usblp0 device is present in the system)

  And after this configuration the printing tasks are not getting 'accomplished' any more. It says that printer is currently printing, but it still doesn't actually print anything.
Comment 114 Vladimir 2011-08-14 14:11:49 UTC
Created attachment 283299 [details]
cndrvcups-capt-2.20.ebuild

I tried to install the relatively new CAPT v.2.2 driver with the attached ebuilds:
    cndrvcups-capt-2.20.ebuild
    cndrvcups-common-2.20.ebuild
which I changed slightly to install on amd64, but unfortunately it's the same old story: when I send a print job to a printer, this job becomes "accomplished" immediately - without the actual printing. The printer remains silent.

Is is an amd64-only problem or a Gentoo-specific?

Regards,
  Vladimir
Comment 115 Vladimir 2011-08-14 14:14:07 UTC
Created attachment 283301 [details]
cndrvcups-common-2.20.ebuild

Note: these ebuilds still need the manual driver archive downloading and extracting of the cndrvcups-capt-2.20.tar.gz and cndrvcups-common-2.20.tar.gz from it.
Comment 116 Vladimir 2011-10-29 21:35:29 UTC
  Hello!

(In reply to comment #102)
> (In reply to comment #89)
> >...
> > Maybe it is the time to switch from gentoo bugzilla to "fix the printing"
> > project?
> > What do we have: several users with the hardware, broken closed-source
> > system(cndrvcups), not that working open-source reverse-engineered one
> > (www.boichat.ch/nicolas/capt/), working closed-source system (windows driver),
> > usb sniffers, gdb and some free time.
> > 
> > Ok, in short: does anyone have cndrvcups working under Gentoo or another
> > distro? If not then let's start hacking it together as a separate project, or
> > if yes then let's find out how to make all our setups work here, in Gentoo
> > bugzilla.
> > 
> 
> I'm ready to "USB-sniff", test and report (those are the only things I can do,
> I guess). But somebody competent in programming is still needed. Are there any
> volunteers? :)
> 
> And by the way, there are some tips on developing such driver in the article by
>  Nicolas Boichat mentioned above. We could use them also.
> What do you guys think?
  I've just found a thread on LOR discussing the opensource driver for some models of Canon printers. It looks like those guys really have some success in reverse-engineering and developing a free driver.
  Here is a wiki-article describing in short the current status of the process (Russian): http://wiki.omskedu.ru/index.php?title=Разработка_открытого_драйвера_для_принтеров_Canon_LBP

  And here is a SourceForge project page: http://sourceforge.net/projects/foo2capt/
Maybe we should join their campaign? I'm ready. What do you say? ;)

  Regards,
    Vladimir
Comment 117 Andreas K. Hüttel gentoo-dev 2012-04-12 23:51:46 UTC
Are you interested in maintaning this driver directly yourself in the new 
printer-drivers overlay [1]?

If yes, just send me via personal e-mail at dilfridge@gentoo.org the
following data, so we can give you git push access to the overlay:
* the user name that you'd like to have
* your public ssh key [2], so we can give you git push access to the overlay
* your e-mail address
* and your full name
If you have a gnupg key, you should sign that e-mail [3].

Just a few rules:
* Initially, the ebuilds should work for you, and not break
  anything else.
* You enter yourself as maintainer in metadata.xml (together with
  the printing herd), and are then automatically cc'ed in bug reports 
  on bugzilla.
* We will guide you towards improving the ebuilds over the next 
  months so they follow the rules and qa guidelines of the Gentoo 
  main portage tree. In particular this means also using a recent
  EAPI (3 or perferably 4), and fixing repoman warnings [4].
  Don't worry, we'll help you with that.
* I hope this is never going to happen, but... ebuilds that "work but 
  go against the guidelines" and do not see any improvement will be 
  removed again one year after initial addition.

There are many ways to get help.
* You can directly ask me by personal e-mail (my time is limited, 
  but I'll try), 
* you can ask on freenode, channel #gentoo-dev-help,
* you can read the documentation (ebuild howto [5], devmanual [6]), 
* ...

[1] http://git.overlays.gentoo.org/gitweb/?p=proj/printer-drivers.git;a=summary
[2] http://www.gentoo.org/doc/en/articles/openssh-key-management-p1.xml
[3] http://www.gentoo.org/doc/en/gnupg-user.xml
[4] http://dev.gentoo.org/~zmedico/portage/doc/man/repoman.1.html
[5] http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2
[6] http://devmanual.gentoo.org/
Comment 118 Karl-Robert Ernst 2012-04-16 19:44:52 UTC
Created attachment 309177 [details]
cndrvcups-capt-2.40.ebuild

New ebuild for the 2.4 version of the printer driver.

Most prominent change is that I removed the fifo, as the manual suggests doing it with sockets. Unfortunately when updating from a previous version, you have to adjust your cups configuration accordingly.
Comment 119 Karl-Robert Ernst 2012-04-16 19:46:02 UTC
Created attachment 309179 [details]
cndrvcups-common-2.40.ebuild
Comment 120 David Heidelberg (okias) 2013-05-28 12:03:21 UTC
status?
Comment 121 Andreas K. Hüttel gentoo-dev 2013-05-28 21:23:45 UTC
(In reply to David "okias" Heidelberger from comment #120)
> status?

understaffed. (or did you mean the bug? :)
Comment 122 Sergey Popov gentoo-dev 2013-05-29 06:45:27 UTC
I have tried many versions to make my CAPT printer(Canon LBP 5050) work. I have totally failed with this on amd64. ccpd provides absolutely no logs :'(
Comment 123 Pavel Volkov 2013-05-29 07:06:22 UTC
I suggest you (Canon users) connect the printer to Windows machine and print remotely (as I have done long ago, cndrvcups had too many issues and was supported poorly).
You'll need to install GhostScript and Redmon on Windows.
Redmon creates a virtual PostScript printer. What CUPS sends to that printer is then redirected to your Canon printer. Email me if you fail doing that.
Comment 124 Vladimir 2013-05-29 07:19:19 UTC
(In reply to Paul Volkov from comment #123)
> I suggest you (Canon users) connect the printer to Windows machine and print
> remotely (as I have done long ago, cndrvcups had too many issues and was
> supported poorly).
I succeeded in using my Canon LBP-3010 printer on Debian, so there might be no need in using Windows. I described the packaging process here: http://wiki.wombat.org.ua/doku.php/canon
The page is in Russian, but I can translate it if there is a need. But all the commands are more or less self-explanatory there.
Comment 125 Sergey Metelev 2013-07-02 11:04:11 UTC
The 2.40 tar.gz driver sources archieves is not available any more at canon sites. There are new one, 2.56, but I had failed compile it with the 2.40 ebuild and don't have skills enough to modify ebuild in depth.

With previous versions, 2.20 and 2.00 my printer doesn't work also. Nor with 1.80.

It would be great if someone will adopt 2.40 ebuild to 2.56 drivers, maybe it will help.

The details of the crash:
emerge --info '=net-print/cndrvcups-common-2.56-r1' http://pastebin.com/0aUk1RXL
emerge -pqv '=net-print/cndrvcups-common-2.56-r1' http://pastebin.com/tmc3LBNa
build.log http://pastebin.com/tjS6bRu8

I do modify only names of ebuild and "MY_P" variable, to point to right tar.gz archieves:
cndrvcups-common-2.56-r1.ebuild http://pastebin.com/KZxqFhUw
cndrvcups-capt-2.56-r1.ebuild http://pastebin.com/Q3sANhxF
Comment 126 Jeroen Roovers (RETIRED) gentoo-dev 2014-11-24 12:13:59 UTC
*** Bug 530332 has been marked as a duplicate of this bug. ***
Comment 127 Marko Djordjevic 2015-05-26 13:58:12 UTC
Created attachment 404004 [details]
This are ebuild for version 2.60 of Canon CAPT Printer drivers

I have created new ebuilds for version 2.60.

Ebuilds are using tar.gz package found at: http://www.canon-europe.com/support/consumer_products/products/printers/laser/laser_shot_lbp1120.aspx


I have only tested them on x86, I don't know if ebuilds will work for amd64, I would guess that some more handling would be necessary.

I was using previous ebuilds with some info form net-print/cndrvcups-common-lb since those have some similarity (like one big file with .deb, .rpm and .tar.gz packages inside.


Default instructions use /dev/usb/lp0 device created by usblp module, which is by default blacklisted by net-print/cups, easiest way around this is recompiling cups with USE="-usb".

I have tested it with cups-1.7.5 and I'm still not certain how it is woriking wit cups-2.0.2

Of course, default Local Overlay instructions apply: https://wiki.gentoo.org/wiki/Overlay/Local_overlay



Please test and report back.
Comment 128 Marko Djordjevic 2015-05-26 22:04:50 UTC
For additional information about setting up this printers, please check out: https://wiki.gentoo.org/wiki/Canon_CAPT_Printer

And if you can help with making it more helpful.
Comment 129 Pavel Volkov 2015-05-27 06:43:28 UTC
(In reply to Marko Djordjevic from comment #127)

Your attachment is gzipped 2 times.
Thanks, I'll try this later...
Comment 130 Marko Djordjevic 2015-05-27 07:07:55 UTC
Created attachment 404052 [details]
net-print-cndrvcups.tar.gz

Here it is again, my local copy is normal .tar.gz archive. But downloaded is strange.
Comment 131 Marko Djordjevic 2015-05-27 07:18:25 UTC
It looks like Bugzilla is gzipping it another time, so I'm not sure how to upload tar.gz or what is preferred way to upload couple of ebuilds and make it easier for others.

Any advice would be welcomed.
Comment 132 Marko Djordjevic 2015-05-27 20:03:39 UTC
One way to download this archive is using wget (that way it will not be double gzipped):

wget -O net-print-cndrvcups.tar.gz  https://bugs.gentoo.org/attachment.cgi?id=404052


But better way is to go to github repo and make contributions easier: 
https://github.com/homoludens/canoncapt-euilds
Comment 133 Vitalii Morvaniuk 2015-06-03 20:53:50 UTC
Created attachment 404542 [details, diff]
x11-libs/gtk+ gnome-base/libglade dependencies

https://github.com/homoludens/canoncapt-euilds/issues/2
Comment 134 Vitalii Morvaniuk 2015-06-03 20:56:15 UTC
Current ebuild don't have needed dependencies - added them in patch, tested on x86
Comment 135 Marko Djordjevic 2015-06-04 16:01:12 UTC
Thank you!

I have added them to https://github.com/homoludens/canoncapt-euilds
Comment 136 Peter Draganov 2016-09-15 19:37:47 UTC
I tested this successfully on latest x86_64 kernel 4.4.6-gentoo with cups-2.1.3-r1 on Canon LBP2900. It was not very clear from the wiki what exactly should I download and where to move it. For example, I went to Canon website and tried to download driver 2.60, but there was 2.70 and 2.20. I downloaded 2.70, but didn't know where to move the downloaded file. Next I understood, that "repoman manifest" command downloads 2.60 driver from gentoo repositories (the 4th on for me, as first 3 did not contain the drivers). I also had problems with automatically starting ccpd service on system startup. I am relatively new to Gentoo and tried to add following lines to /etc/init.d/ccpd without success:
depend ()
{
  need cupsd
}

I solved this problem by creating an EXECUTABLE file /etc/local.d/ccpd.start:
#!/bin/sh
sleep 10 && /etc/init.d/ccpd restart

Here are all successful steps:
emerge --ask net-print/cups
/etc/init.d/cupsd start
rc-update add cupsd default
mkdir -p /usr/local/portage/{metadata,profiles}
echo 'CanonCAPT'>/usr/local/portage/profiles/repo_name
echo 'masters = gentoo' > /usr/local/portage/metadata/layout.conf
chown -R portage:portage /usr/local/portage
mkdir -p /etc/portage/repos.conf
vim /etc/portage/repos.conf/local.conf
[CanonCAPT]
location = /usr/local/portage
masters = gentoo
auto-sync = no

cd /usr/local/portage/
wget https://github.com/homoludens/canoncapt-euilds/archive/master.zip
unzip master.zip
mv canoncapt-euilds-master/* .
rmdir canoncapt-euilds-master
chown -R portage:portage /usr/local/portage
pushd /usr/local/portage/net-print/cndrvcups-common
repoman manifest
popd
pushd /usr/local/portage/net-print/cndrvcups-capt
repoman manifest
popd
emerge --ask net-print/cndrvcups-capt
/etc/init.d/cupsd restart
/usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59687 -E
ccpdadmin -p LBP2900 -o /dev/usb/lp0
USE='-usb' emerge --ask --newuse net-print/cups
cd /usr/src/linux
make menuconfig
Device Drivers --->
 *         USB support  --->
 *             [*] USB Printer support

make
make modules_install
make install
genkernel --install initramfs
vim /etc/conf.d/modules
  Modify modules="..." by adding usblp, like this:
  modules="r8169 fuse vboxdrv vboxnetflt vboxnetadp usblp"
vim /etc/local.d/ccpd.start:
#!/bin/sh
sleep 10 && /etc/init.d/ccpd restart

vim /home/<user>/.config/captstatusui.desktop 
#!/usr/bin/env xdg-open

[Desktop Entry]
Name=CAPTstatusui
Comment=CAPT status
Exec=captstatusui -P LBP2900  
#Icon=
Terminal=false
Type=Application
Encoding=UTF-8
Categories=System Tools;Application;

reboot

The last .desktop file was intended to start captstatusui, but it did not for some reason. Anyway, I copied it to the desktop, so that I can start it manually. The -e option did not pop-up the program, when there was an error. I had some problems, when some printed pages were A4 and others - Letter, or when there was no paper in the printer. In all these cases the printer was paused and it needed to be resumed from the web interface at localhost:631, supplying the root credentials.
Thank you for the good job. I am expecting a new ebuild for 2.70 drivers and probably including it in Gentoo repositories!