
I know! But it works for me and I don't dare mess around with something that works. If it ever stops working, then I'll try the new approach of using split ebuilds (cnijfilter plus cnijfilter-drivers) for my MP510 and MP560 printers. At the moment they are both installed with different versions of the 'old' cnijfilter ebuild in different slots, and both work nicely.tclover wrote:@Fitzcarraldo: you're using an antic ebuild!
I reverted that messy split because it requires too much maintenance! I introduced a new splitting scheme using USE flags (backends/drivers) instead which do not duplicate ebuilds.Fitzcarraldo wrote:I know! But it works for me and I don't dare mess around with something that works. If it ever stops working, then I'll try the new approach of using split ebuilds (cnijfilter plus cnijfilter-drivers) for my MP510 and MP560 printers. At the moment they are both installed with different versions of the 'old' cnijfilter ebuild in different slots, and both work nicely.

Code: Select all
$ eix cups-bjnp
[I] net-print/cups-bjnp
Available versions: (~)1.1 (~)1.2.1
Installed versions: 1.2.1(16:35:32 01/02/14)
Homepage: http://sourceforge.net/projects/cups-bjnp/
Description: CUPS backend for the canon printers using the proprietary USB over IP BJNP protocolThanks Fitzcarraldo, I'm already using it. It has some bugs here and there but at leaset it works. No fax tough.Fitzcarraldo wrote:mgiritli, have you tried the Gutenprint driver for your model, instead of the cnijfilter driver? Apparently net-print/gutenprint includes support for the Canon PIXMA MX925: http://gimp-print.sourceforge.net/p_Sup ... inters.php
In case it helps you with respect to the cnijfilter driver you have been trying, I sometimes use my Canon Pixma MP560 over WiFi with the appropriate cnijfilter driver and I also have the package net-print/cups-bjnp installed, although I have no idea if the Canon BJNP protocol is actually used. So you could try installing cups-bjnp to see if it makes a difference.
Code: Select all
$ eix cups-bjnp [I] net-print/cups-bjnp Available versions: (~)1.1 (~)1.2.1 Installed versions: 1.2.1(16:35:32 01/02/14) Homepage: http://sourceforge.net/projects/cups-bjnp/ Description: CUPS backend for the canon printers using the proprietary USB over IP BJNP protocol

2550 what? There is ip2500 driver in the old cnijfilter-2.70 and mg2500 in cnijfilter-4.00. Which one you need?!chaoscommander wrote:And here comes another one. I appear to be the only fool trying to use a Pixma 2550 on Gentoo, or at least neither Google nor the forum search turned up anyone else. Here's how far I got so far: CUPS recognises the printer (or at least reports no error installing it). When I create a print job, the CUPS website shows that it's processing or even printing the job, but always stops after about a quarter page. The printer never makes a peep. I don't know if anything even gets sent to it. On previous tries I at least got the status LED to flash once...
I'm using Gutenprint 5.2.10 for Canon Pixma 2500 series, so exactly what I should need. I have LogLevel set to debug but there are no errors in cups/error_log.

Ah yeah, sorry. I have the MG2550. I accidentally just now discovered your bar-overlay (I didn't see the link in your signature but found it while actually looking for a howto:custom ebuilds) and am in the process of trying it out...tclover wrote: 2550 what? There is ip2500 driver in the old cnijfilter-2.70 and mg2500 in cnijfilter-4.00. Which one you need?!
Code: Select all
install: cannot stat ‘lproptions/lproptions-p200-4.00DE.txt’: No such file or directory
!!! dodoc: lproptions/lproptions-p200-4.00DE.txt does not exist
* ERROR: net-print/cnijfilter-4.00::bar failed (install phase):
* dodoc failed
...
* Working directory: '/var/tmp/portage/net-print/cnijfilter-4.00/work/cnijfilter-source-4.00-1'
* S: '/var/tmp/portage/net-print/cnijfilter-4.00/work/cnijfilter-source-4.00-1'
* QA Notice: file does not exist:
*
* dodoc: lproptions/lproptions-p200-4.00DE.txt does not exist
chaoscommander wrote:Indeed documentaion installation was not stable at all to say the list. I fixed it in a commit. You could have disabled doc USE flag to get going.tclover wrote:Code: Select all
install: cannot stat ‘lproptions/lproptions-p200-4.00DE.txt’: No such file or directory !!! dodoc: lproptions/lproptions-p200-4.00DE.txt does not exist * ERROR: net-print/cnijfilter-4.00::bar failed (install phase): * dodoc failed ... * Working directory: '/var/tmp/portage/net-print/cnijfilter-4.00/work/cnijfilter-source-4.00-1' * S: '/var/tmp/portage/net-print/cnijfilter-4.00/work/cnijfilter-source-4.00-1' * QA Notice: file does not exist: * * dodoc: lproptions/lproptions-p200-4.00DE.txt does not exist


Which one is recommended for the Canon PIXMA MX925 (920 series in general)?Fitzcarraldo wrote:... have you tried the Gutenprint driver for your model, instead of the cnijfilter driver? Apparently net-print/gutenprint includes support for the Canon PIXMA MX925: http://gimp-print.sourceforge.net/p_Sup ... inters.php
In case it helps you with respect to the cnijfilter driver you have been trying, I sometimes use my Canon Pixma MP560 over WiFi with the appropriate cnijfilter driver and I also have the package net-print/cups-bjnp installed, although I have no idea if the Canon BJNP protocol is actually used. So you could try installing cups-bjnp to see if it makes a difference.
Code: Select all
$ eix cnij
* net-print/cnijfilter [1]
Available versions:
(2) (~)2.60^m (~)2.70^m (~)2.80^fm (~)2.90^m
(3) (~)3.00^m (~)3.10^m (~)3.20^m (~)3.30^m (~)3.40^m (~)3.50^m (~)3.60^m (~)3.70^m (~)3.80^m (~)3.90^m
(4) (~)4.00^m (~)4.10^m
{backends debug +doc +drivers e400 e510 e560 e600 e660 gtk ip100 ip1800 ip1900 ip2200 ip2500 ip2600 ip2700 ip2800 ip3300 ip3500 ip3600 ip4200 ip4300 ip4500 ip4600 ip4700 ip4800 ip6600d ip7200 ip7700 ip8700 ip90 ix6500 ix6700 ix6800 mg2200 mg2400 mg2500 mg3200 mg3500 mg4200 mg5100 mg5200 mg5400 mg5500 mg6100 mg6300 mg6400 mg6500 mg7100 mg8100 mp140 mp160 mp190 mp210 mp240 mp250 mp270 mp280 mp430 mp490 mp495 mp500 mp510 mp520 mp540 mp550 mp560 mp600 mp610 mp630 mp640 mx320 mx330 mx340 mx350 mx360 mx370 mx390 mx410 mx420 mx430 mx450 mx470 mx510 mx520 mx530 mx710 mx720 mx860 mx870 mx880 mx890 mx920 +net p200 servicetools +usb ABI_X86="32 64"}
Homepage: http://www.canon-europe.com/Support/
Description: Canon InkJet Printer Driver for Linux (Pixus/Pixma-Series)
[1] "bar" /var/lib/layman/bar-overlayCode: Select all
$ USE="mx920 backends" emerge -autv =net-print/cnijfilter-3.90
...
^
bjcupsmon_cups.c: In function ‘getPrinterStatus’:
bjcupsmon_cups.c:292:12: error: dereferencing pointer to incomplete type
pRequest->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
^
bjcupsmon_cups.c:293:12: error: dereferencing pointer to incomplete type
pRequest->request.op.request_id = 1;
^
bjcupsmon_cups.c:302:18: error: dereferencing pointer to incomplete type
if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
^
bjcupsmon_cups.c:314:34: error: dereferencing pointer to incomplete type
strncpy(pStatus, pAttribute->values[0].string.text, bufSize);
^Code: Select all
$ USE="mx920 backends" emerge -autv net-print/cnijfilter
...
!!! The ebuild selected to satisfy "net-print/cnijfilter" has unmet requirements.
- net-print/cnijfilter-4.10::bar USE="backends doc drivers gtk net usb -debug -e400 -e560 -ip2800 -ip8700 -ix6700 -ix6800 -mx470 -mx530 -servicetools" ABI_X86="64 -32"
The following REQUIRED_USE flag constraints are unsatisfied:
drivers? ( any-of ( ix6700 ix6800 ip2800 mx470 mx530 ip8700 e560 e400 ) )
The above constraints are a subset of the following complete expression:
any-of ( abi_x86_32 abi_x86_64 ) servicetools? ( gtk ) any-of ( drivers backends ) drivers? ( any-of ( ix6700 ix6800 ip2800 mx470 mx530 ip8700 e560 e400 ) ) backends? ( usb )
Code: Select all
Driver: Canon PIXMA MX925 - CUPS+Gutenprint v5.2.10 (color, 2-sided printing)
Connection: bjnp://192.168.8.206 or via DNS: bjnp://printer
Defaults: job-sheets=none, none media=iso_a4_210x297mm sides=one-sidedCode: Select all
"Failed to establish TCP connection to printer 192.168.8.206 port 8611"Massimo B. wrote:...
^
bjcupsmon_cups.c: In function ‘getPrinterStatus’:
bjcupsmon_cups.c:292:12: error: dereferencing pointer to incomplete type
pRequest->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
^
bjcupsmon_cups.c:293:12: error: dereferencing pointer to incomplete type
pRequest->request.op.request_id = 1;
^
bjcupsmon_cups.c:302:18: error: dereferencing pointer to incomplete type
if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
^
bjcupsmon_cups.c:314:34: error: dereferencing pointer to incomplete type
strncpy(pStatus, pAttribute->values[0].string.text, bufSize);
^[/code]
3.90-1 is the version I am pointed to at the Canon site, so I tried that. Trying the latest:Code: Select all
$ USE="mx920 backends" emerge -autv net-print/cnijfilter ...[/quote] I guess if you took a sec to read the readme file (there is a lengthy one in the ebuild dir, well, it's not that lengthy but still... too lengthy.) you will know exactly why/when/how about that.

Code: Select all
=net-print/cnijfilter-4.10 mx920 backends driversCode: Select all
The following REQUIRED_USE flag constraints are unsatisfied:
drivers? ( any-of ( ix6700 ix6800 ip2800 mx470 mx530 ip8700 e560 e400 ) )The answer is obvious if your read the output since there is no mx920 in that package and drivers USE flag is enabled.Massimo B. wrote:Thanks. Trying to understand the README, building with drivers did not work with this package.use:Code: Select all
=net-print/cnijfilter-4.10 mx920 backends driversWhy? Since this USE="drivers" only puts the ppd file, don't I need this file for the MX925?Code: Select all
The following REQUIRED_USE flag constraints are unsatisfied: drivers? ( any-of ( ix6700 ix6800 ip2800 mx470 mx530 ip8700 e560 e400 ) )
However I got it emerged with -drivers.
No idead. If you need a particular model ppd file, just grab from the appropriate tarball and put it in `/etc/cups/ppd' or something. And then, you can use virtually any package for backends. You better get a new one than an older one (reference: package which have the printer model requested).Massimo B. wrote:Now what printer connection should I use? Before emerging cnijfilter this connection worked but is very slow: lpd://printer/queue That means it takes minutes to print one page as if the printer gets new input for every line.
Canon itself points to the 3.90 version for the MX925, should I better use this version?

Fitzcarraldo, thank you, you saved my day! I finally got around to try your 2.70-r4 ebuild (from this forum post, not the one from your overlay) together with the app-emulation/emul-linux-x86-bjdeps-0.1-r4 and cups-2.0.1-r1, and everything works perfectly now.Fitzcarraldo wrote:cnijfilter-2.70-r4 (my version of it in a local overlay, anyway) is working with cups-1.7.3 for me, but I don't have your model of Canon printer; I'm using cnijfilter-2.70-r4 with a Canon MP510.Small_Penguin wrote:Same problem here. After updating to cups-1.7.3, my pixma ip4300 is still recognized, but it doesn't print. LED is blinking once or twice, and cups says everything's done. Gutenprint works, but only with 300x300 dpi, and even then the borders don't seem to be correct (lower part is cut off a bit).
Anyone got cups-1.7.3 and cnijfilter-2.70 working?

After sending a testpage nothing happens and the status is Idle - "Data file sent successfully."Driver: Canon MX920 series Ver.3.90 (color, 2-sided printing)
Connection: lpd://printer/queue
Code: Select all
bjcupsmon_cups.c:690:28: error: dereferencing pointer to incomplete type
if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
^
bjcupsmon_cups.c:690:28: error: dereferencing pointer to incomplete type
if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
^The first page is working but very slowly, then the printer accepts printing without errors but nothing is moving.Driver: Canon PIXMA MX925 - CUPS+Gutenprint v5.2.10 (color, 2-sided printing)
Connection: lpd://printer/queue

Port 8611 I read in some forum posts. But still the printer does not print. The State in the cups webinterface isDriver: Canon MX920 series Ver.3.90 (color, 2-sided printing)
Connection: bjnp://printer:8611
..after that:processing since
Fri 05 Dec 2014 03:23:39 PM CET
"Connected to printer..."
Idle - "Ready to print."

Code: Select all
Shorewall:home2fw:DROP:IN=wlan0 OUT= MAC=00:15:e9:4b:4a:f0:f4:81:39:95:ae:2c:08:00 SRC=192.168.8.206 DST=192.168.8.203 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=64350 PROTO=UDP SPT=8611 DPT=8611 LEN=40Code: Select all
$ /usr/libexec/cups/backend/bjnp
network bjnp://printer.fritz.box:8611 "Canon MX920 series" "Canon MX920 series printer.fritz.box" "MFG:Canon;CMD:BJL,BJRaster3,BSCCe,NCCe,IVEC,IVECPLI;SOJ:BJNP2,BJNPe;MDL:MX920 series;CLS:PRINTER;DES:Canon MX920 series;VER:2.061;STA:10;FSI:0F;HRI:D;MSI:DAT,E3,H2FSF,JTIME,K20000700;PDR:4;PSE:ADJX20175;CID:CA_IVEC1TYPE4_IJP;"..resulting in some equal connection on the next page: Connection: bjnp://printer.fritz.box:8611Discovered Network Printers: Canon MX920 series printer.fritz.box (Canon MX920 series)
nothing happens. /var/log/cups/access_log has:processing since
Fri 05 Dec 2014 03:47:52 PM CET
"Connected to printer.fritz.box..."
Code: Select all
localhost - - [05/Dec/2014:15:47:52 +0100] "POST /printers/Canon_PIXMA_MX925 HTTP/1.1" 200 349892 Print-Job successful-okCode: Select all
E [05/Dec/2014:15:59:09 +0100] Missing value on line 287.
W [05/Dec/2014:15:59:09 +0100] CreateProfile failed: org.freedesktop.DBus.Error.ServiceUnknown:The name org.freedesktop.ColorManager was not provided by any .service files
W [05/Dec/2014:15:59:09 +0100] CreateProfile failed: org.freedesktop.DBus.Error.ServiceUnknown:The name org.freedesktop.ColorManager was not provided by any .service files
W [05/Dec/2014:15:59:09 +0100] CreateDevice failed: org.freedesktop.DBus.Error.ServiceUnknown:The name org.freedesktop.ColorManager was not provided by any .service files
E [05/Dec/2014:15:59:09 +0100] Unable to open listen socket for address [v1.::1]:631 - Address family not supported by protocol.
So you're trying to compile a gtk interface for monitoring which is buggy and cannot be compiled with recent GCC.Massimo B. wrote:...
The 3.90 ebuild does not compile, with lots of errors I can't get a hint in the documentation:With the current configurationCode: Select all
bjcupsmon_cups.c:690:28: error: dereferencing pointer to incomplete type if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) { ^ bjcupsmon_cups.c:690:28: error: dereferencing pointer to incomplete type if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) { ^The first page is working but very slowly, then the printer accepts printing without errors but nothing is moving.Driver: Canon PIXMA MX925 - CUPS+Gutenprint v5.2.10 (color, 2-sided printing)
Connection: lpd://printer/queue
And those files are from `cnijfilter-source-3.90-1/cngpijmon/src' directory that are included in the build with:net-print/cnijfilter/README wrote:So cnijfilter-{2.[6-9],3.[0-9]}0[-servicetools,-gtk] is compilable while
cnijfilter-4.[01]0[-servicetools,+gtk] compile just fine!
Code: Select all
pkg_setup() {
...
if use gtk; then
CNIJFILTER_SRC+=" cngpij"
if [[ ${PV:0:1} == 4 ]]; then
PRINTER_SRC+=" lgmon2"
use net && PRINTER_SRC+=" cnijnpr"
else
PRINTER_SRC+=" lgmon cngpijmon"
use_if_iuse net && PRINTER_SRC+=" cngpijmon/cnijnpr"
fi
fi
...
}