I just migrated this package to AUR4. If the original maintainer (Ghul) wants it back I will transfer the ownership back of course.
Search Criteria
Package Details: cnijfilter-mp620 3.00-4
Package Actions
| Package Base: | cnijfilter-mp620 |
|---|---|
| Description: | Canon drivers for the MP610/MP620/MP630 printer/scanner with improved PPD files |
| Upstream URL: | http://support-asia.canon-asia.com |
| Category: | system |
| Licenses: | |
| Submitter: | mouse256 |
| Maintainer: | Ghul |
| Last Packager: | None |
| Votes: | 7 |
| First Submitted: | 2010-09-02 18:58 |
| Last Updated: | 2013-01-27 08:39 |
Dependencies (3)
Required by (0)
Sources
- 10-usbprinter-canon-mp6x0.rules
- autoconf.patch
- http://downloads.sourceforge.net/mp610linux/ppdMP610en-1.3.tar.gz
- http://downloads.sourceforge.net/mp610linux/ppdMP620-630en-1.5.tar.gz
- http://gdlp01.c-wss.com/gds/1/0100000841/01/cnijfilter-common-2.80-1.tar.gz
- http://gdlp01.c-wss.com/gds/6/0100001606/01/cnijfilter-common-3.00-1.tar.gz
- libpng15.patch
- missing-include.patch
- mp610.patch
- ppd.patch
- v3.00.patch
Latest Comments
Comment by Bevan
Comment by x1101
I would suggest adding a note that for x86_64 systems, enabling the [multilib] repositories is needed for this to build correctly.
Comment by Bevan
Hi,
you may add the MP630 to the 10-usbprinter-canon-mp6x0.rules. idProduct is "172e" for that device.
Anonymous comment
I try with another 2 machine but for me it's all ok! I think that could be a Net problem. Try to send me your machine's configuration. :)
Anonymous comment
I re-installed cups cups-bjnp cnijfilter-mp620 and system-config-printer, removed the /etc/cups directory contents. Re-installed cups and the AUR packages: cups cups-bjnp cnijfilter-mp620
Every *looks* like it works fine from my machine but I still have the same issue, the printer doesn't flinch or print anything. I can see the printer queue, which shows processing the done and removes the job from the print queue.
I think a system update in April broke something.
Anonymous comment
Some month ago a cups update deleted some configuration file. But if you try to reinstall this package all come back to normal. My advice is to reinstall also the cups-bjnp. System-config-printer is a simple gtk GUI, make only easy the cups configuration but is not necessary. So, if you have a problem with this package try "pacman -S cups cups-bjnp cnijfilter-mp620" for reinstall it.
Anonymous comment
My printing has been busted for months. I'll have to try re-installing this. Running through the guide I put together back when I originally installed this didn't work either. A system update broke things.
http://gregk.me/2013/install-canon-pixma-mp620-on-arch-linux
Comment by cippaciong
Seems like reinstalling the driver solved the issue.
Sorry for the bother. :S
Anonymous comment
I just done a test and for me it's all ok.
Comment by cippaciong
Are you guys still able to print?
Because I'm not, no matter if I use the cable or not and the same goes for the system architecture.
Anonymous comment
okok! thanks a lot! :)
Comment by mouse256
Thanks Fede1M.
There's not much to tell. I just tried a lot of things to get it compiling every time.
Basically I currently use the source files from the 3.00 package as the 2.80 does not work anymore with a recent cups. Then I combined it with the binaries from the 2.80 as there are no mp620 binaries in the 3.00. a bunch of patches later this is basically the package :-)
Anonymous comment
Thank you very much mouse256 for your great work! I decided to adopt this package. I hope I will be up to the work. If you want to send me some information about the package and your work I really thank you!!
Comment by cippaciong
These are really bad news! =(
Thanks for all the (superb) work you've done so far.
Comment by mouse256
Bad news. My printer broke down :-( It gives an error which is 95% chance a broken printerhead and is expensive to replace.
So I'm going to orphan this package since I won't be using it anymore...
Anonymous comment
Thanks Mouse, I did that last night after a little reading. Its working great now. Going to blog about getting this printer installed on Arch.
Comment by mouse256
for network printing you need to install cups-bjnp from aur. Then you should be able to add a printer using the bjnp protocol.
Anonymous comment
Once I install lib32-popt (running x86_64) from the AUR installed fine. Now I just need to work out how to add my printer over WiFi ...
Anonymous comment
WORKS!!! Well done and thank you so much! :)
Comment by cippaciong
You really don't have to worry, the work you are doing with this ia amazing.
Thank you!
Comment by mouse256
Sorry for the delay guys, I've been rather busy.
I used a patch from the mp280, it's now compiling again.
Comment by mouse256
This package is not out-of-date, there's no new upstream version. It's just not compiling anymore.
I'll try to fix it when I've some time.
Anonymous comment
I try to use de solution for mp250:
1)install the older version of automake-1.11 from AUR
2)add this line to build() {
export CC="gcc -m32 -D_IPP_PRIVATE_STRUCTURES"
mkdir -p ${srcdir}/automake-path
ln -sfn /usr/bin/automake-1.11 ${srcdir}/automake-path/automake
ln -sfn /usr/bin/aclocal-1.11 ${srcdir}/automake-path/aclocal
export PATH="${srcdir}/automake-path:$PATH"
3)you can remove automake-1.11 and install automake-1.13.1-1 from official repository
WORKS!
but it is not the best solution! the problem is the version of automake actually (automake-1.13.1-1).
Bye!
Anonymous comment
I have this build() error! i'm not able to solve it. i hope that this log can help you!
patching file backend/src/cnij_backend_common.c
patching file cngpijmon/src/bjcupsmon_cups.c
patching file cnijfilter/configure.in
patching file cnijfilter/src/bjfimage.c
Hunk #1 succeeded at 1521 (offset 1 line).
Hunk #2 succeeded at 1575 (offset 1 line).
patching file cnijfilter/src/bjfoption.c
patching file canonmp620-630en.ppd
processing .
Running libtoolize...
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: You should add the contents of the following files to `aclocal.m4':
libtoolize: `/usr/share/aclocal/libtool.m4'
libtoolize: `/usr/share/aclocal/ltoptions.m4'
libtoolize: `/usr/share/aclocal/ltversion.m4'
libtoolize: `/usr/share/aclocal/ltsugar.m4'
libtoolize: `/usr/share/aclocal/lt~obsolete.m4'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Running aclocal ...
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:4: error: 'AM_CONFIG_HEADER': this macro is obsolete.
You should use the 'AC_CONFIG_HEADERS' macro instead.
/usr/share/aclocal-1.13/obsolete-err.m4:12: AM_CONFIG_HEADER is expanded from...
configure.in:4: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
Running autoheader...
autoheader: error: AC_CONFIG_HEADERS not found in configure.in
Running automake --gnu ...
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in: error: no proper invocation of AM_INIT_AUTOMAKE was found.
configure.in: You should verify that configure.in invokes AM_INIT_AUTOMAKE,
configure.in: that aclocal.m4 is present in the top-level directory,
configure.in: and that aclocal.m4 was recently regenerated (using aclocal)
configure.in:9: installing './install-sh'
Makefile.am: installing './COPYING' using GNU General Public License v3 file
Makefile.am: Consider adding the COPYING file to the version control system
Makefile.am: for your code, to avoid questions about which license your project uses
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
buftool/Makefile.am:1: error: library used but 'RANLIB' is undefined
buftool/Makefile.am:1: The usual way to define 'RANLIB' is to add 'AC_PROG_RANLIB'
buftool/Makefile.am:1: to 'configure.in' and run 'autoconf' again.
buftool/Makefile.am: installing './depcomp'
/usr/share/automake-1.13/am/depend2.am: error: am__fastdepCC does not appear in AM_CONDITIONAL
/usr/share/automake-1.13/am/depend2.am: The usual way to define 'am__fastdepCC' is to add 'AC_PROG_CC'
/usr/share/automake-1.13/am/depend2.am: to 'configure.in' and run 'aclocal' and 'autoconf' again
/usr/share/automake-1.13/am/depend2.am: error: AMDEP does not appear in AM_CONDITIONAL
/usr/share/automake-1.13/am/depend2.am: The usual way to define 'AMDEP' is to add one of the compiler tests
/usr/share/automake-1.13/am/depend2.am: AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC, AC_PROG_OBJCXX,
/usr/share/automake-1.13/am/depend2.am: AM_PROG_AS, AM_PROG_GCJ, AM_PROG_UPC
/usr/share/automake-1.13/am/depend2.am: to 'configure.in' and run 'aclocal' and 'autoconf' again
paramlist/Makefile.am:1: error: Libtool library used but 'LIBTOOL' is undefined
paramlist/Makefile.am:1: The usual way to define 'LIBTOOL' is to add 'LT_INIT'
paramlist/Makefile.am:1: to 'configure.in' and run 'aclocal' and 'autoconf' again.
paramlist/Makefile.am:1: If 'LT_INIT' is in 'configure.in', make sure
paramlist/Makefile.am:1: its definition is in aclocal's search path.
Running autoconf ...
configure.in:2: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.in:4: error: possibly undefined macro: AM_CONFIG_HEADER
configure.in:11: error: possibly undefined macro: AM_PROG_LIBTOOL
Running ./configure --prefix=/usr ...
./configure: line 2181: syntax error near unexpected token `buftool,'
./configure: line 2181: `AM_INIT_AUTOMAKE(buftool, 1.0.0)'
Comment by cippaciong
Seems like is not compiling anymore. :s
Running ./configure --prefix=/usr --libdir=/usr/lib32 ...
./configure: line 2181: syntax error near unexpected token `buftool,'
./configure: line 2181: `AM_INIT_AUTOMAKE(buftool, 1.0.0)'
==> ERROR: A failure occurred in build().
Aborting...
Take also a look at this too:
https://aur.archlinux.org/packages/cnijfilter-mp250
Comment by mouse256
I don't think you can rename a package. You can submit a new package with a new name, but that would leave this orphaned and even more confusing. I don't see a way to delete it.
And I added mp610/630 to the description, so it should be fairly easy to find it using the search.
Comment by cippaciong
@mouse256: Don't know either... =)
Do you think that is advisable to change the name of the package too, making it suitable also for 610 and 630?
Comment by mouse256
@Cippaciong: Indeed I remember vague. Don't remember why I did reject it back then...
@Zou: I had to do quite some hacking to get the driver compiling on a recent distribution. And as there is no specific driver for the mp620 for linux, this is exactly the same as the mp610
Anyway: changes:
* put mp610 and mp630 also in the description as the driver works for those too
* added ppd file for the mp610 (the one for the 630 is the same as the 620)
* added udev rules for 610 and 620. I don't know the values for the 630...
Anonymous comment
Actually, there is an orphaned package for the canon pixma MP610. It was the first driver I wanted to use for my printer. But I didn't manage to get it works. There is an error during the compilation.
I think it is better just to have one driver for mp610/620.
My config for the MP610 is:
ATTR{idVendor}=="04a9", ATTR{idProduct}=="1725", MODE="660", GROUP:="lp", ENV{libsane_matched}:="yes"
Comment by cippaciong
As I wrote in June this is my config:
ATTR{idVendor}=="04a9", ATTR{idProduct}=="172f", MODE:="0660", GROUP:="lp", ENV{libsane_matched}:="yes"
and I think it should work for everyone since values (idVendor,idProduct) are printer related and should be the same for every mp620 owner. I would put these instead of zou 610 config since your package is for mp620. By the way if there isn't any mp610 package in AUR it could be worthy to add both maybe =)
Anonymous comment
@mouse256, I can provide my config (/etc/modprobe.d/blacklist.conf, /etc/udev/rules.d/10-usbprinter.rules) of my canon MP610 but I guess there will be some minors changes regarding the differents pixma printers (vendor and product for the udev rules)
Comment by mouse256
Maybe it makes sence to add a custom udev rules file to the package? I can't test for myself as I'm using the printer over network. But if somebody can provide me the proper rules I can add them.
Anonymous comment
YOU ROCK! IT WORKS! I AM TOO HAPPY!
Since five days I tried to setup my printer until you helped me with the multi-repo and finally with this wiki.
THANK YOU VERY MUCH Cippaciong! You are the man!
Zou
Comment by cippaciong
@zou: This is probabily due to the "Device Node Error" problem. Check my messages in June. In the Arch wiki there was a good section explaining how to solve this but it seems that they removed it. By the way you can find it here (look for line 268):
https://wiki.archlinux.org/index.php?title=CUPS&diff=236095&oldid=232038
I'll ask to but this section again in the wiki...
Anonymous comment
It works ! I forgot to enable multirepo in /etc/pacman.conf!
But unfortunatly, my canon pixma mp610 still does not work!
Thanks for helping me.
Comment by cippaciong
This seems really strange to me...
Did you enable multilib repo?
Anonymous comment
It seems that for x86_64 systems, the PKGBUILD does not work. For the depends, you do not have to prefix with lib32-libtiff, but just put libtiff. This is the same for all others depends.
Comment by cippaciong
It's because is needed only by x86_64 systems. Looking at the PKGBUILD you have the main "depends" section containing cups, ghostscript and popt and then you have the "if arch=x86_64 depends". Aur web page shows only the main depends.
Comment by mouse256
Indeed. It seems it's not listed on aur as a dependency, strange...
Comment by cippaciong
It already is...
Comment by mouse256
should it be added as dependency?
Comment by cippaciong
It's lib32-libtiff, not lib32-tiff and it's in the repo.
https://www.archlinux.org/packages/multilib/x86_64/lib32-libtiff/
Anonymous comment
I cannot installer this package as I have a problem with dependency lib32-tiff that cannot be found.
Any help please ?
Thanks
Zou
Comment by cippaciong
Thanks to you! =)
Comment by mouse256
Thanks Cippaciong, updated package
Comment by cippaciong
I created a new install file suitable for systemd for Chakra. It's here if you want:
http://paste.chakra-project.org/3246/raw/
Comment by altkrall
thanks for your patches (and your PKGBUILD). They helped me building a PKGBUILD for mp640 (uploaded).
Anonymous comment
It works on Arch 64 , that is(Sorry, forgot to mention)
Anonymous comment
Yep, it works with me as well. Great work!
Comment by cippaciong
I already am in the "scanner" group so I think the only solution is the udev rules.
Comment by mouse256
Cippaciong: I've a similar rule already in /usr/lib/udev/rules.d/53-sane.rules. Only difference there is that the group is scanner instead of lp.
Maybe your problem would just have been fixed by adding yourself in the "scanner" group instead of needing to add a custom rule?
Comment by cippaciong
Sure!
I created the file 10-mp620.rules in /usr/lib/udev/rules.d/ with this simple rule:
ATTR{idVendor}=="04a9", ATTR{idProduct}=="172f", MODE:="0660", GROUP:="lp", ENV{libsane_matched}:="yes"
Comment by mouse256
Glad to hear I could help you out :-)
And just noticed my email address in my account setting was set to one that does not work anymore for years. That may explain why I never got notified of your previous comments here...
I'm also using the printer over LAN (wired in my case).
Maybe I could add an udev rule to the package if you could provide me the correct values?
Comment by cippaciong
Here I am as promised with a quick report:
I was able to print on:
1) Arch64 via wireless connection (not tested USB)
2) Arch i686 via USB connection (not tested wireless) but only after struggling a bit with udev as explained here: https://wiki.archlinux.org/index.php/Cups#Device_node_permission_troubleshooting
3) Chakra i686 via USB connection (without libpng15 patch) still only after udev tweaking
I wasn't able to print only on Chakra i686 via wireless connection obtaining the well knonw "Failed to read side-channel request" error. I hope I could test this on Arch soon to figure out whether it's only a problem of Chakra or not.
Comment by cippaciong
This is a great news (really great, actually)!
I'll test the new driver as soon as possible an I can test it on i686 system too; I'll let you know if everything run smooth.
Thanks for your work. =)
Comment by mouse256
A very long overdue update... It seems the printing however kept on working for a long time for me while you could not compile it anymore.
Anyway, The 2.80 driver does not compile anymore as was figured out already by you guys. The 3.00 does compile, but does not have the binary package for the MP620. So I made a mix of them. Using the source from 3.00 and the binary packages from 2.80. I had to hack a bit of the source however to get it linked correctly. That means it could potentially do strange things.
But it does compile, and I can print with it! (x64 that is, don't have an i686 system to test)
Comment by th-fr
I see. There is also the cnijfilter-common package.
Comment by cippaciong
cups-bjnp is just the canon network protocol for printing. It's not that you can use it if you don't have the correct printer driver installed.
I used to have both cups-bjnp and this package installed to have my printer working.
Comment by th-fr
Use cups-bjnp instead.
Anonymous comment
Still doesn't work... Same problem as described below. Maintainer is AWOL.
Comment by cippaciong
Hi, I used to install this package in order to print with my MP620 but on my last arch installation I get an error while building:
make[2]: Entering directory `/tmp/packerbuild-0/cnijfilter-mp620/cnijfilter-mp620/src/cnijfilter-common-2.80/backend'
Making all in src
make[3]: Entering directory `/tmp/packerbuild-0/cnijfilter-mp620/cnijfilter-mp620/src/cnijfilter-common-2.80/backend/src'
gcc -DHAVE_CONFIG_H -I. -I.. -O2 -Wall -MT cnij_backend_common.o -MD -MP -MF .deps/cnij_backend_common.Tpo -c -o cnij_backend_common.o cnij_backend_common.c
cnij_backend_common.c: In function ‘get_model_name’:
cnij_backend_common.c:192:2: error: unknown type name ‘ppd_file_t’
cnij_backend_common.c:196:2: warning: implicit declaration of function ‘ppdOpenFile’ [-Wimplicit-function-declaration]
cnij_backend_common.c:196:17: warning: assignment makes pointer from integer without a cast [enabled by default]
cnij_backend_common.c:198:23: error: request for member ‘product’ in something not a structure or union
cnij_backend_common.c:204:4: error: request for member ‘product’ in something not a structure or union
cnij_backend_common.c:218:3: warning: implicit declaration of function ‘ppdClose’ [-Wimplicit-function-declaration]
make[3]: *** [cnij_backend_common.o] Errore 1
make[3]: Leaving directory `/tmp/packerbuild-0/cnijfilter-mp620/cnijfilter-mp620/src/cnijfilter-common-2.80/backend/src'
make[2]: *** [all-recursive] Errore 1
make[2]: Leaving directory `/tmp/packerbuild-0/cnijfilter-mp620/cnijfilter-mp620/src/cnijfilter-common-2.80/backend'
make[1]: *** [all] Errore 2
make[1]: Leaving directory `/tmp/packerbuild-0/cnijfilter-mp620/cnijfilter-mp620/src/cnijfilter-common-2.80/backend'
make: *** [all] Errore 1
==> ERRORE: Si è verificato un errore in build().
L'operazione sta per essere interrotta...
I think that the problem is cnij_backend which shouldn't have the underscore starting from recent versions of cups.
Source= http://mp610.blogspot.com/2009/02/canon-printer-driver-and-cups-error.html
Furthermore, the .install file should be updated since the cups daemon is actually cupsd now.
Finally, on others computers I successfully installed the package but I'm not able to print (the printer is idle but doesn't gives signal of life when assigning a job); it shouldn't be a package error but I'm reporting it hoping in some help.
Thanks =)
Anonymous comment
Great work, works just nice, thanks. However, build needs to be adjusted for multilib - there are missing dependencies for lib32-libtiff and lib32-libpng. If you add those two packages manually, it builds just fine.
Comment by mouse256
Thanks to the new multilib repository, this now works both on 32bit and 64bit!