FedoraForum.org - Fedora Support Forums and Community
Results 1 to 6 of 6
  1. #1
    Join Date
    Dec 2007
    Posts
    110
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Canon CAPT printer drivers dont work on FC12 x86_64 for canon printer (LBP5050n)

    Sorry - I did get them to work - so Ive deleted my original message.
    Heres the formula if anyone is interested:

    Download the source
    http://support-au.canon.com.au/conte...900772502.html
    untar it to get the individual tarballs (1)cndrvcups-capt-1.90-1.tar.gz (2)cndrvcups-common-1.90-1.tar.gz and SPEC files cndrvcups-capt.spec cndrvcups-common.spec
    which are inside those tarballs

    as an ordinary user setup your rpm environment

    in pseudo code:
    rpmdev-setuptree
    # copy the above tarballs in place:
    cp *gz ~/rpmbuild/SOURCES
    # copy the above spec files in place
    cp *.specs (from the tarball) ~/rpmbuild/
    cd ~/rpmbuild/SPECS
    rpmbuild -ba cndrvcups-common.spec
    then sudo install the generated rpm

    install the following i386 junk because the canon 64 bit drivers use this stuff (bummer!)
    yum install cups-libs-1.4.2-20.fc12.i686 popt-1.13-6.fc12.i686 compat-libstdc++-33-3.2.3-68.i686
    It sucks but its the only way!

    as normal user build the cndrvcups-capt spec rpm:
    rpmbuild -ba cndrvcups-capt.spec

    as root install the rpm

    as root create links:
    ln -vs /usr/lib64/cups/backend/ccp /usr/lib/cups/backend/ccp
    ln -vs /usr/lib64/cups/filter/pstocapt /usr/lib/cups/filter/pstocapt
    ln -vs /usr/lib64/cups/filter/pstocapt2 /usr/lib/cups/filter/pstocapt2
    ln -vs /usr/lib64/cups/filter/pstocapt3 /usr/lib/cups/filter/pstocapt3


    as root make the fifo friendly:
    chmod a+rw /var/ccpd/fifo*

    create the queue. Note I use the 'K' suffix not 'J' suffix on the ppd. J means Japanese and K means UK. My printer is LBP5050n:
    /sbin/service cups restart
    lpadmin -p LBP5050n -m CNCUPSLBP5050CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
    lpadmin -d LBP5050n


    # if you want to set the paper size to stop the printer hanging on wrong size
    lpadmin -p LBP5050n -o media=Legal

    /usr/sbin/ccpdadmin -p LBP5050n -o /dev/usb/lp0
    /etc/init.d/ccpd restart


    attempting to print will give cups error:
    lpr /etc/fedora-release
    cat /var/log/cups/error_log
    printer-state-message="Can't open FIFO: Interrupted system call"

    Now configure SELinux
    as root:
    /usr/sbin/setenforce 0

    as normal user:
    lpr /etc/hosts
    as root:
    audit2allow -M cncapt -l -i /var/log/audit/audit.log

    /var/log/audit/audit.log should have something like:
    type=SYSCALL msg=audit(1265805179.992:13437): arch=c000003e syscall=30 success=yes exit=140180863422464 a0=943001c a1=0 a2=0 a3=8 items=0 ppid=372 pid=374 auid=500 uid=4 gid=7 euid=4 suid=4 fsuid=4 egid=7 sgid=7 fsgid=7 tty=(none) ses=1 comm="gs" exe="/usr/bin/gs" subj=unconfined_u:system_r:cupsd_t:s0-s0:c0.c1023 key=(null)

    type=ANOM_ABEND msg=audit(1265805195.338:13438): auid=500 uid=0 gid=0 ses=1 subj=unconfined_u:system_r:initrc_t:s0 pid=415 comm="captmoncnac8" sig=11


    install the policy:
    /usr/sbin/semodule -i cncapt.pp

    reboot

    go into system-config-printers and ensure the printer is enabled under properties->policy

    ---------- Post added at 04:06 PM CST ---------- Previous post was at 12:31 PM CST ----------

    Hi
    Although this works its not ideal because the spec files force the 64 bit rpms to use 32 bit libraries.
    ie the following end up as dependencies:
    compat-libstdc++-33-3.2.3-68.i686
    cups-libs-1.4.2-20.fc12.i686
    gtk2-2.18.6-3.fc12.i686
    popt-1.13-6.fc12.i686

    This really sucks as ideally it should use the 64bit version of those libraries.
    Somehow we need to modify the src code and spec to build only against 64bit libraries.
    Also notice how the backend links to the location for the 32bit binaries and filters which again sucks and needs fixing.
    At least it is possible using the mix of 32 and 64 to get printing working, but it would be better to have 64 bit all the way
    Last edited by mattywix; 10th February 2010 at 02:03 PM.
    Mattywix

    "For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return." - Leonardo da Vinci speaks of his joy at experiencing Linux

  2. #2
    Join Date
    Dec 2009
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Canon CAPT printer drivers dont work on FC12 x86_64 for canon printer (LBP5050n)

    Thanks, your formula for Canon CAPT driver, it works, although I had to create /var/ccpd/fifo0 file manually with the permissions you have suggested.
    Sivaraman.

  3. #3
    Join Date
    Dec 2007
    Posts
    110
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Canon CAPT printer drivers dont work on FC12 x86_64 for canon printer (LBP5050n)

    Worth noting is that the install automatically creates a second printer definition. I kept deleting it but it kept recreating it. It seems both have to be there for the printer to work.

    The normal one has device URI: ccp:/var/ccpd/fifo0
    The wierd one I didnt create myself has URI: usb://Canon/LBP5050

    I had to set paper size on both of them for it to work. And both have to be enabled.

    Wierd!!
    Mattywix

    "For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return." - Leonardo da Vinci speaks of his joy at experiencing Linux

  4. #4
    Join Date
    Dec 2007
    Posts
    110
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Canon CAPT printer drivers dont work on FC12 x86_64 for canon printer (LBP5050n)

    Just an update - the latest seems to beVersion 2.20 Released on 26-01-2011
    http://software.canon-europe.com/software/0040567.asp
    Mattywix

    "For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return." - Leonardo da Vinci speaks of his joy at experiencing Linux

  5. #5
    Join Date
    Dec 2007
    Posts
    110
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Canon CAPT printer drivers dont work on FC12 x86_64 for canon printer (LBP5050n)

    Heres a procedure for Fedora 14 (FC14) 64 bit x86_64 using the latest Canon printer drivers version 2.20.
    Thanks to http://www.linuxquestions.in/tips-tr...nter-lbp-3250/ and http://www.fedoraforum.org/forum/sho...ght=canon+capt

    Disable SELINUX
    Code:
    # vim /etc/sysconfig/selinux
    to confirm
    Code:
    # getenforce
    you need to reboot so that the* kernel is aware of SELINUX is disabled.
    Code:
    # reboot
    Now connect the printer
    Code:
    # ls /dev/usb*
    this should show /dev/usb/lp0 ( the printer is detected at this port )

    Code:
    # vim /etc/ccpd.conf
    This file will be blank.

    Code:
    # vim /etc/cups/printers.conf
    This file will also be blank.

    Stop Haldaemon service - apparently this stops the Canon rpm's from installing correctly!

    Code:
    # service haldaemon stop
    Check ghost-script is installed.
    Code:
    # rpm -qa |grep ghost
    
    ghostscript-cups-8.71-16.fc14.x86_64 
    ghostscript-8.71-16.fc14.x86_64 
    ghostscript-fonts-5.50-23.fc12.noarch
    Code:
    # ghostscript –version
    you can also check it by typing the following command on the terminal.
    Code:
    # gs -h | grep opvp
    If the Ghostscript has the OpenPrinting Driver Interface, you can see the text includes both "opvp" and "oprp" as following.
    lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d ljetplus nullpage opvp oprp pbm

    Note if ghostscript is not installed please install it before moving forward.

    Code:
    # yum install cups-libs popt compat-libstdc++-33 
    # yum install cups-libs.i686 popt.i686 compat-libstdc++-33.i686
    install the RPMS from canons download Version 2.20 Released on 26-01-2011
    http://software.canon-europe.com/software/0040567.asp
    This will be a tarball - untar and then untar the two tarballs inside that and find the rpms for your system:
    Code:
    # rpm -ivh cndrvcups-common-2.20-1.x86_64.rpm
    # rpm -ivh cndrvcups-capt-2.20-1.x86_64.rpm
    Restart cups

    Code:
    # /etc/init.d/cups restart
    Register the printer with the Print Spooler

    Code:
    # ls /var/ccpd/fifo*
    if nothing exists
    Code:
    mkfifo /var/ccpd/fifo0
    Set permissions
    Code:
    chmod a+rw /var/ccpd/fifo*
    Check the symlinks are in place – ie you should not need to do the following because they are there already (the install without disabling haldaemon doesnt create these – if you dont have these you should remove ccpd and restart the install)
    ln -vs /usr/lib64/cups/backend/ccp /usr/lib/cups/backend/ccp
    ln -vs /usr/lib64/cups/filter/pstocapt /usr/lib/cups/filter/pstocapt
    ln -vs /usr/lib64/cups/filter/pstocapt2 /usr/lib/cups/filter/pstocapt2
    ln -vs /usr/lib64/cups/filter/pstocapt3 /usr/lib/cups/filter/pstocapt3

    Code:
    # lpadmin -p LBP5050n -m CNCUPSLBP5050CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
    register the printer with the daemon setup file

    Code:
    # /usr/sbin/ccpdadmin -p LBP5050n -o /dev/usb/lp0
    this will show you something like this

    Code:
     CUPS_ConfigPath = /etc/cups/ 
     LOG Path        = None 
     UI Port         = 59787 
    
     Entry Num  : Spooler	: Backend	: FIFO path		: Device Path 	: Status 
     ---------------------------------------------------------------------------- 
         [0]    : LBP5050n 	: ccp 		: /var/ccpd/fifo0 	: /dev/usb/lp0 : New!! 
    
    
    --------------------------------------------------------
    confirm it by viewing the following file

    Code:
    # more /etc/ccpd.conf
    it should contain something like this
    Code:
    <Printer LBP5050n> 
    DevicePath /dev/usb/lp0 
    </Printer>
    restart ccpd daemon

    Code:
    # /etc/init.d/ccpd restart
    make the ccpd service bootable
    add the following below the first 2 lines:
    Code:
    ### BEGIN INIT INFO 
    # Provides: ccpd 
    # Required-Start: $local_fs $remote_fs $syslog $network $named 
    # Should-Start: $ALL 
    # Required-Stop: $syslog $remote_fs 
    # Default-Start: 3 5 
    # Default-Stop: 0 1 2 6 
    # Description: Start Canon Printer Daemon for CUPS 
    ### END INIT INFO
    Code:
    # chkconfig --add ccpd 
    # chkconfig --level 345 ccpd on
    check cups starts every time you boot your machine

    Code:
    # chkconfig --level 35 cups on
    To solve the following error seen in /var/log/cups/error_log:
    Unable to bind socket for address 0.0.0.0:631 - Address already in use.
    E [03/May/2011:13:48:59 +0100] Unable to bind socket for address :::631 - Address already in use.

    Code:
    # vi /etc/cups/cupsd.conf
    change
    Code:
    Listen localhost:631
    to
    Code:
    Listen 127.0.0.1:631
    /etc/cups/cupsd.conf.default should be adapted too.
    (Actually, I don't know why localhost wouldn't be ok.)

    set default printer
    Code:
    # lpadmin -d LBP5050n
    # if you want to set the paper size to stop the printer hanging on wrong size (in this case I use Legal size you might use A4 instead)
    Code:
    # lpadmin -p LBP5050n -o media=Legal
    Code:
    # reboot
    test:
    Code:
    # lpr /etc/fedora-release
    You should get a printout.
    Code:
    # cat /var/log/cups/error_log
    You should see no errors in the log

    renable selinux
    Code:
    # vi /etc/sysconfig/selinux
    SELINUX=enforcing
    Mattywix

    "For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return." - Leonardo da Vinci speaks of his joy at experiencing Linux

  6. #6
    Join Date
    Dec 2011
    Location
    Hong Kong
    Posts
    3
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Canon CAPT printer drivers dont work on FC12 x86_64 for canon printer (LBP5050n)

    This worked pretty well for me, installing a LBP6300dn in Fedora 16. One problem was that the cndrvcups-capt installation failed due to a dependency problem. This was solved (thanks to someone on another forum) by installing with yum and using the option --nogpgcheck.

    On my system, the three chkconfig commands were rejected. To solve this, I added the following 3 lines (including the #'s) to /etc/init.d/ccpd after the first line:

    Code:
    # chkconfig: 2345 95 20
    # description: startup script for Canon Printer Daemon
    # processname: ccpd
    Also, you need to not include the # at the start of the lines added to /etc/ccpd.conf
    Last edited by prokofievlover; 20th December 2011 at 06:27 AM.

Similar Threads

  1. Canon CAPT drivers, SMB Printer
    By Spode in forum Using Fedora
    Replies: 2
    Last Post: 28th March 2010, 10:11 AM
  2. Canon LBP-1120 FC5 printer drivers
    By trance_techau in forum Hardware
    Replies: 7
    Last Post: 19th December 2007, 07:14 AM
  3. Drivers for Canon i850 printer?
    By GammaPoint in forum Hardware
    Replies: 1
    Last Post: 9th May 2007, 12:02 AM
  4. Canon Picasa MP110 Printer/scanner Drivers
    By felixq78 in forum Hardware
    Replies: 0
    Last Post: 15th May 2006, 05:51 AM
  5. Canon Printer Drivers
    By Rick069 in forum Using Fedora
    Replies: 3
    Last Post: 12th October 2005, 11:23 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •