install canon LBP2900/3050 as network printer

Problems and successes with specific brands/models of printers
Post Reply
Message
Author
levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

install canon LBP2900/3050 as network printer

#1 Post by levian »

i am trying to install a Canon LBP2900 or LBP3050 into my puppy 4.2.1.
or best, to install it as a network printer.
i tried to plug it in using the USB cable n installed through CUPS,
but it didn't work, giving me the error
"Filter "pstocapt" for printer "2900" not available: No such file or directory" instead.

right now, i have a clean installation of puppy in my laptop, with scim (pinyin), pidgin & skype installed.
what should i do to not mess things up?
thanks!
Last edited by levian on Fri 28 Aug 2009, 06:15, edited 1 time in total.

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#2 Post by muggins »

Levian,

pstocapt is available in the .pet I uploaded here. One thing I just noticed is that there is a configuration file, /etc/ccpd.conf, and it has this:
# Printer entries.
# Mapping each "Printer Name" to each "Printer Device Port".
# The "Printer Name" has to be identical to the CUPS printer queue name.
#
# For example, if you prepare a printer named "LBP3200" as a CUPS printer
# queue name, and the printer is connected to the USB port "/dev/usb/lp0",
# you can use the following three lines example just by removing the
# comment symbol "#" of each line.
#<Printer LBP3200>
#DevicePath /dev/usb/lp0
#</Printer>
So this might be why you've had no success. e.g. for your LBP3050, if, when you added it to CUPS you named it LBP3050, then you would need to alter the 3 lines of ccpd.conf to:

<Printer LBP3050>
DevicePath /dev/usb/lp0
</Printer>[/quote]

Give this a try.

cheers

levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

#3 Post by levian »

muggins,

thanks for the reply.
i didn't uninstall the 3 packages patriot gave me yesterday.
n proceed to install the package you gave me today.
... </Path>

<Printer 3050a>
DevicePath /dev/usb/lp0
</Printer>

<Port> ...
after altering the /etc/ccpd.conf file n tried to print the test page.
the job stacked under the job list with the printer status being "3050a is now on-line".
after a while the job disappear from the job list n nothing came out.
what should i do next?
Last edited by levian on Fri 21 Aug 2009, 01:24, edited 1 time in total.

levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

#4 Post by levian »

i saw the file - lp1 in /dev/usb, changed the configuration to lp1, but still without any result.
... </Path>

<Printer 3050a>
DevicePath /dev/usb/lp1
</Printer>

<Port> ...

levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

#5 Post by levian »

from another forum, seemed like the following information is required to analyze the problem?
here goes:
# lpstat -s
system default destination: 3050
device for 3050: usb://Canon/LBP3010/LBP3018/LBP3050
# lpq
3050 is ready n printing
Rank Owner Job File(s) Total Size
active root 33 (stdin) 1024 bytes
1st root 34 (stdin) 1024 bytes
2nd root 35 (stdin) 1024 bytes
3rd root 36 (stdin) 1024 bytes
4th root 37 (stdin) 1024 bytes
5th root 38 (stdin) 1024 bytes
#

levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

#6 Post by levian »

hitting a wall.
i don't remember how many times i installed n re-installed the but still no progress.

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#7 Post by muggins »

Levian,

Can you try uninstalling the previous cndrvcups-capt_1.80-i486.pet, and instead try installing this one:

cndrvcups-capt_1.80-i486.pet.

Then open a console & try:

Code: Select all

/etc/init.d/cups restart
lpadmin -p 3050a -m CNCUPSLBP3050CAPTK.ppd -v cpp:/var/ccpd/fifo0 -E -u allow:root
ccpdadmin -p 3050a -o /dev/usb/lp0
/etc/init.d/ccpd start

levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

#8 Post by levian »

muggins,

thanks for the reply.
i have done uninstalling n installing the new package.
i received the error message with line 2 in the console:

Code: Select all

# /etc/init.d/cups restart
cups: restarted scheduler.
# lpadmin -p 3050 -m CNCUPSLBP3050CAPTK.ppd -v cpp:/var/ccpd/fifo0 -E -u allow:root
lpadmin: Bad device-uri "cpp:/var/ccpd/fifo0"!
#

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#9 Post by muggins »

Levian has finally reported success getting the Canon LBP3050 going. I think the steps were:

1) Download & install http://puppylinux.ca/members/muggins/printing/cndrvcups-capt_1.80-i486.pet

2) Edit /etc/ccpd.conf & add:

Code: Select all

<Printer LBP3050>
DevicePath /dev/usb/lp0
</Printer>
3) Then run, in a console:

Code: Select all

/etc/init.d/cups restart
lpadmin -p LBP3050 -m CNCUPSLBP3050CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
ccpdadmin -p LBP3050 -o /dev/usb/lp0
/etc/init.d/ccpd start

levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

#10 Post by levian »

yup, that was the instructions that i followed.
thank you so, so much, muggins! :D

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#11 Post by muggins »

The next step is to get it working as a network printer. Not knowing much about this subject, I'll have to do a bit of googling. Also, you might need to add the last line, /etc/init.d/ccpd start, to the file /etc/rc.d/rc.local, as the last line, to ensure this daemon is running when you reboot.

Also, I found this link to be the most useful.

mtse
Posts: 10
Joined: Wed 22 Oct 2008, 08:06

... as a USB printer

#12 Post by mtse »

Hurrah! I have finally made a test page out of my LBP2900 printer... after struggling for some years off-and-on (off more than on :D ). Here is the procedure; some steps might be unnecessary:-

Code: Select all

 -  Connect printer.
 -  Switch on printer.
 -  Boot puppy.
 -  Make a new directory: /root/NewDir
 -  Copy cndrvcups-common_1.80-1_i386.deb, 
    cndrvcups-capt_1.80-1_i386.deb and debbi-1.0.0.pet to 
    /root/NewDir
 -  Install debbi-1.0.0.pet.
 -  Reboot.
 -  Open a console window at /root/NewDir (by pressing `).
 -  Start CUPS:
        # /etc/init.d/cups start
 -  Install the common module for CUPS driver:
        # debbi cndrvcups-common_1.80-1_i386.deb
 -  Install the CAPT printer driver module:
        # debbi cndrvcups-capt_1.80-1_i386.deb
    Two error messages are returned:
        chown: unknown user/group lp:lp
        chown: unknown user/group lp:lp
 -  Issue commands (in responding to the error messages):
        # chown root /var/ccpd/*
        # chown root /var/captmon
 -  Restart CUPS:
        # /etc/init.d/cups restart
 -  Register the printer (PPD) with the spooler:
        # /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
 -  Register printer in the ccpd daemon setup file for USB 
    connection:
        # /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
 -  Allow full access to fifo0 (to avoid future complains from 
    web interface):
        # chmod 777 /var/ccpd/fifo0
 -  Start ccpd daemon:
        # /etc/init.d/ccpd start
 -  Start web interface to modify printer LBP2900, but without 
    actually changing anything. (Confirm that printer port is
    "Daemon Port#1", not "USB".)
 -  Print a test page.
 -  Smile!
Too excited, must tell (sorry!)

Supplement: On reboot, the following procedure is needed to revive printing:-

Code: Select all

 -  Allow full access to fifo0 (to avoid future complains from 
    web interface):
        # chmod 777 /var/ccpd/fifo0
 -  Restart ccpd daemon:
        # /etc/init.d/ccpd restart
 -  Start web interface to modify printer LBP2900, but without 
    actually changing anything.
Note: I know very little to this linux/driver affair. But I have unsuccessfully tried many suggestions from different news group resources, and the above is merely a hybrid of those that happens to work. I believe this is not the best (probably not ever a correct) approach. I post it in the hope that it can be useful, and that someone knowledgeable may point out issues and refine the procedure. At present, I do not have the time and knowledge to refine it. (I don't even have the printer accessable on weekdays.)
Last edited by mtse on Sat 05 Sep 2009, 06:43, edited 2 times in total.

levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

Re: ... as a USB printer

#13 Post by levian »

mtse wrote:

Code: Select all

 -  Connect printer.
 -  Switch on printer.
 -  Boot puppy.
 -  Make a new directory: /root/NewDir
 -  Copy cndrvcups-common_1.80-1_i386.deb, 
    cndrvcups-capt_1.80-1_i386.deb and debbi-1.0.0.pet to 
    /root/NewDir
 -  Install debbi-1.0.0.pet.
mtse,
where can i download these files?
- cndrvcups-common_1.80-1_i386.deb
- cndrvcups-capt_1.80-1_i386.deb
- debbi-1.0.0.pet

n how to confirm (or change) that the printer port is Daemon Port#1, not USB?
thanks!

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#14 Post by muggins »

Levian,

debbi.pet

Regarding the other two files, they're both in the archive available at the bottom of this page. However, there shouldn't be any need for you to install these, as their essentials are already included in the .pet I linked to above. Is the 3050 still working?

For your 2900, you probably just need to follow mtse's directions from:
- Issue commands (in responding to the error messages):
# chown root /var/ccpd/*
# chown root /var/captmon
- Restart CUPS:
# /etc/init.d/cups restart
- Register the printer (PPD) with the spooler:
# /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpt/fifo0 -E
- Register printer in the ccpd daemon setup file for USB
connection:
# /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
- Allow full access to fifo0 (to avoid future complains from
web interface):
# chmod 777 /var/ccpd/fifo0
- Start ccpd daemon:
# /etc/init.d/ccpd start
- Start web interface to modify printer LBP2900, but without
actually changing anything. (Confirm that printer port is
"Daemon Port#1", not "USB".)
- Print a test page.
- Smile!

levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

#15 Post by levian »

muggins,

i did not reinstall the 3050, focusing only on the 2900 for now.
i failed to get it working, could it be caused by me rebooting?

mtse
Posts: 10
Joined: Wed 22 Oct 2008, 08:06

Re: ... as a USB printer

#16 Post by mtse »

levian wrote:. . . n how to confirm (or change) that the printer port is Daemon Port#1, not USB?
thanks!
levian, the setting is shown/changeable within the "modify" section of CUPS web interface. But you shouldn't have to change anything. The "Confirm . . ." part is just meant for future reference (just in case).

levian
Posts: 34
Joined: Fri 07 Aug 2009, 03:32
Contact:

#17 Post by levian »

muggins,
mtse,

after comparing the codes provided by the both of you,
my 2900 managed to print after rebooting by adding one more line into /etc/rc.d/rc.local:

Code: Select all

chmod 777 /var/ccpd/fifo0
/etc/init.d/ccpd start
i finally understand, after the muggin's last reply, that the cause of failure could be rebooting.
with 3050, i didn't have to reboot to test print;
however with 2900, i need to switch places due to the limited accessibility.
for now, i have a 2900 that is able to print, n is happy enough to stick with a USB printer.
thank you muggins n mtse! :D

here goes a summary of what i did with my 2900 today (steps may not be absolutely necessary):
1) Download & install this

2) in /etc/ccpd.conf, add:

Code: Select all

<Printer 2900>
DevicePath /dev/usb/lp0
</Printer>
3) run in console:

Code: Select all

# /etc/init.d/cups start
# chown root /var/ccpd/*
# chown root /var/captmon
# /etc/init.d/cups restart
# /usr/sbin/lpadmin -p 2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
# /usr/sbin/ccpdadmin -p 2900 -o /dev/usb/lp0
# chmod 777 /var/ccpd/fifo0
# /etc/init.d/ccpd start
4) in /etc/rc.d/rc.local, add:

Code: Select all

chmod 777 /var/ccpd/fifo0
/etc/init.d/ccpd start
hope it works for others too!

mtse
Posts: 10
Joined: Wed 22 Oct 2008, 08:06

#18 Post by mtse »

1. This is a cleaned up version of my installation procedure:-
  • - Boot puppy.
    - Make a temperary directory: /root/NewDir
    - Copy cndrvcups-common_1.80-1_i386.deb and cndrvcups-capt_1.80-1_i386.deb to /root/NewDir (These files cannot be installed residing on USB drive.)
    - Install debbi-1.0.0.pet (if not yet been done).
    - Open a console window at /root/NewDir (by pressing `).
    - Start CUPS:

    Code: Select all

    # /etc/init.d/cups start
    - Install the common module for CUPS driver:

    Code: Select all

    # debbi cndrvcups-common_1.80-1_i386.deb
    - Install the CAPT printer driver module:

    Code: Select all

    # debbi cndrvcups-capt_1.80-1_i386.deb
    • Two error messages are returned:

      Code: Select all

      chown: unknown user/group lp:lp
      chown: unknown user/group lp:lp
      So, correct them for Puppy:

      Code: Select all

      # chown root /var/ccpd/*
      # chown root /var/captmon
      Moreover, to allow worldwide access to all fifo's:

      Code: Select all

      # chmod 666 /var/ccpd/fifo0
      # chmod 666 /var/ccpd/fifo1
      # chmod 666 /var/ccpd/fifo2
      # chmod 666 /var/ccpd/fifo3
      # chmod 666 /var/ccpd/fifo4
      # chmod 666 /var/ccpd/fifo5
      # chmod 666 /var/ccpd/fifo6
      # chmod 666 /var/ccpd/fifo7
    - Restart CUPS:

    Code: Select all

    # /etc/init.d/cups restart
    - Register the printer (PPD) with the spooler:

    Code: Select all

    # /usr/sbin/lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
    - Register printer in the ccpd daemon setup file for USB connection:

    Code: Select all

    # /usr/sbin/ccpdadmin -p LBP2900 -o /dev/usb/lp0
    - Connect and switch on printer (if not yet been done).
    - Start ccpd daemon:

    Code: Select all

    # /etc/init.d/ccpd start
    • Returned is a messaged without newline:

      Code: Select all

      Starting /usr/sbin/ccpd: #
      Press <enter> to complete the job.
2. For mobile computers: If the printer were not connected at boot time, reissue (manually) the following command after printer connection:

Code: Select all

# /etc/init.d/ccpd start
  • Returned is a messaged without newline:

    Code: Select all

    Starting /usr/sbin/ccpd: #
    Press <enter> to complete the job.
Notes:
  • - After these procedures, the /etc/ccpd.conf is correctly set for LBP2900. So there is no need to touch up that file.
    - I found no need to add lines to /etc/rc.d/rc.local: Printer works if it were connected at boot time; A manual "ccpd start" is required anyway if it were not.

User avatar
capoverde
Posts: 232
Joined: Wed 28 Jun 2006, 21:36
Location: Sanremo (Italy) with fine seaview

#19 Post by capoverde »

Been struggling with a Canon LBP2900 for about three years now -- I bought it because it came with an original Canon driver for Linux: darn, never got a single hiccup from it... (yes, it does print OK under Win).

Adding to my despair, up to about one year ago the LBP2900 was described as a "Paperweight" in OpenPrinting.org (ex-Linuxprinting.org); today no Canon LBP printer between 1760 and 3360 is listed there anymore, nor in Cups.org (!?).

Meanwhile, Canon has issued updated drivers for this printer & its siblings, and I had a heartjump today finding this thread by Levian. Nay, it doesn't yet work despite several attempts, closely following all advice; but I'm using Quirky 018, while Levian is on Puppy 4.2.1, so there's still hope...

Anyway, huge thanks to all who posted helpful detailed descriptions and links, making some light in the tunnel. You'll hear my loud yells if and when it works!

Post Reply