printer LBP 3000

Hello,

have somebody made printer Canon LBP3000 work in openSUSE 12.1 (Linux 3.3.4-1-desktop x86_64)? Can you please help me? I try to install Canon drivers. First time I try to install 64-bit rpm, I set printer in YaST. All looked fine. Printer was detected and driver was installed, but printer didn’t work. Printing test page failed.

I try to compile driver by howto in post #6; http://forums.opensuse.org/hardware/410015-canon-lbb5100-capt-driver-x86_64-a.html but I insall only cndrvcups-common-2.40 and cndrvcups-capt-2.40 finished with error:

gcc -DHAVE_CONFIG_H -I. -I.. -DPACKAGE_DATA_DIR=\""/usr/local/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/local/share/locale"\" -I/usr/include/libxml2 -I../cnsktmodule -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14     -Wall -O2 -fPIC -g -O2 -MT ppapdata.o -MD -MP -MF .deps/ppapdata.Tpo -c -o ppapdata.o ppapdata.c
ppapdata.c:109:34: error: unknown type name 'ppd_size_t'
ppapdata.c: In function 'PrintPPAData':
ppapdata.c:165:2: error: unknown type name 'ppd_file_t'
ppapdata.c:166:2: error: unknown type name 'ppd_size_t'
ppapdata.c:180:2: warning: implicit declaration of function 'ppdOpenFile' -Wimplicit-function-declaration]
ppapdata.c:180:6: warning: assignment makes pointer from integer without a cast [enabled by default]
ppapdata.c:181:2: warning: implicit declaration of function 'ppdPageSize' -Wimplicit-function-declaration]
ppapdata.c:181:7: warning: assignment makes pointer from integer without a cast [enabled by default]
ppapdata.c:189:2: warning: implicit declaration of function 'MakePPAData' -Wimplicit-function-declaration]
ppapdata.c: At top level:
ppapdata.c:215:35: error: unknown type name 'ppd_size_t'
ppapdata.c:240:37: error: unknown type name 'ppd_size_t'
ppapdata.c:252:34: error: unknown type name 'ppd_size_t'
ppapdata.c:266:38: error: unknown type name 'ppd_size_t'
ppapdata.c:278:38: error: unknown type name 'ppd_size_t'
ppapdata.c:291:34: error: unknown type name 'ppd_size_t'
ppapdata.c:227:12: warning: 'WritePageEnd' defined but not used -Wunused-function]
ppapdata.c:233:12: warning: 'WriteFileEnd' defined but not used -Wunused-function]
make[3]: *** [ppapdata.o] Error 1
make[3]: Leaving directory `/usr/src/packages/BUILD/cndrvcups-capt-2.40/statusui/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/packages/BUILD/cndrvcups-capt-2.40/statusui'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/packages/BUILD/cndrvcups-capt-2.40/statusui'
make: *** [all] Error 1
chyba: Špatný návratový kód z /var/tmp/rpm-tmp.Aq5qok (%build)


chyby sestavení RPM:
    Špatný návratový kód z /var/tmp/rpm-tmp.Aq5qok (%build)

I try versions of driveres 1.60, 1.80, 1.90, 2.00, 2.20 and 2.40 stile with same error.

Thanks for help!

Own experience: printing test-page often fails on canons. Finishing the printer config, then trying from f.e. LibreOffice may still have a good result. Don’t ask me about the cause, but I have two working Canon machines (a LBP?? and a copier (with integrated LBP???) and they work. Knock on wood. I did use the g861enx.rpm, you might need a newer one.

Also, after installing the driver and configuring the printer, please post output of


lpstat -t

I try remove the printer and configure it again. After configure lpstat -t:

tucnacek:/home/rada # lpstat -t
scheduler is running
system default destination: deskjet-5600
device for deskjet-5600: hp:/usb/deskjet_5600?serial=MY37U3K0FP89
device for lbp3000: usb://Canon/LBP3000
deskjet-5600 accepting requests since Pá 16. září 2011, 15:05:24 CEST
lbp3000 accepting requests since St 16. květen 2012, 18:45:40 CEST
printer deskjet-5600 disabled since Pá 16. září 2011, 15:05:24 CEST -
        Unplugged or turned off
printer lbp3000 is idle.  enabled since St 16. květen 2012, 18:45:40 CEST

I try to print something from LibreOffice, but nothing happened, lpstat -t:

tucnacek:/home/rada # lpstat -t
scheduler is running
system default destination: deskjet-5600
device for deskjet-5600: hp:/usb/deskjet_5600?serial=MY37U3K0FP89                                                                                                                   
device for lbp3000: usb://Canon/LBP3000                                                                                                                                             
deskjet-5600 accepting requests since Pá 16. září 2011, 15:05:24 CEST                                                                                                               
lbp3000 accepting requests since St 16. květen 2012, 18:48:28 CEST                                                                                                                  
printer deskjet-5600 disabled since Pá 16. září 2011, 15:05:24 CEST -                                                                                                               
        Unplugged or turned off                                                                                                                                                     
printer lbp3000 now printing lbp3000-67.  enabled since St 16. květen 2012, 18:48:28 CEST                                                                                           
        Printer is now connected.                                                                                                                                                   
lbp3000-67              rada              9216   St 16. květen 2012, 18:48:28 CEST

perhaps a late entry but I see in an ubuntu thread today (post #2)

[SOLVED] Making Canon printer work with 32 bit ubuntu - Ubuntu Forums](http://ubuntuforums.org/showthread.php?t=1997532&highlight=canon+printer)

Hello,

Due to a new cups update, it seems that usblp module is now blacklisted (as it was with 11.10).
So the printer is not mounted in /dev/usb/lp0.

The solution is to cancel this blacklist.

Edit this file : /etc/modprobe.d/blacklist-cups-usblp.conf

Comment (#) the line : blacklist usblp
Here is my file :
Quote:
# cups talks to the raw USB devices, so we need to blacklist usblp to avoid

grabbing them

#blacklist usblp

as a cups update, this may apply to opensuse too

Hi socool2. I suspect you haven’t configured your printer correctly. This Canon model uses the Canon CAPT printer driver, which depends on the ccpd daemon running, and the print queue you have (from the lpstat command is not correctly configured). Have a read of this thread:

http://forums.opensuse.org/english/get-technical-help-here/hardware/473533-i-cant-print-canon-lpb2900.html

Here’s a useful reference for ArchLinux, but applicable to openSUSE as well

https://wiki.archlinux.org/index.php/Canon_LBP2900

BTW, the udev rule will automate starting ccpd, when the printer is plugged in.

Hopefully, this is enough to get you up and running.

Try downloading the tarball from here:

Canon CAPT Printer Driver for Linux

Once you unpack the tarball, you should end up with a folder containing the required RPMs. (I ignored the distro version list, and found no problem installing when trying to assist another user months back).

Thanks for your help. I have solved it and printer work now. The right way was remove installed packages with drivers and delete printer configuration. Next I install rpm packages with drivers again, exactly version 2.20 work me with openSUSE 12.1

cndrvcups-common-2.20-1.x86_64
cndrvcups-capt-2.20-1.x86_64

After installation I configure the spooler:

/usr/sbin/lpadmin -p LBP3000 -m CNCUPSLBP3000CAPTK.ppd -v ccp://localhost:59787 -E

register the printer

/usr/sbin/ccpdadmin -p LBP3000 -o /dev/usb/lp0

and start ccpd

/etc/rc.d/ccpd start

The printer works now, but I must start ccpd manually after each reboot by comand:

sudo /etc/rc.d/ccpd start

I try to make undev rule by Archlinux wiki:

echo -e '#Own udev rule for Canon-CAPT
SUBSYSTEM=="usb", KERNEL=="lp*", RUN+="/etc/rc.d/ccpd restart"' > /etc/udev/rules.d/85-canon-capt.rules

but it doesn’t work to me. I will be happy if somebody advice me how to start ccpd during the system boot.

post #6 of this ubuntu thread

[SOLVED] Trouble installing Canon LBP 3100 Printer - Ubuntu Forums](http://ubuntuforums.org/showthread.php?t=1982917)

is by the (French) maintainer of the Ubuntu Canon LBP advice blog;

he gives explicit detail; on how to set up a udev rule;

perhaps deano or someone could glance over it to see if some of it is ubuntu-specific;

(or whether it can be directly used for opensuse);


he also comments

Due to a new cups update, it seems that usblp module is now blacklisted (like it was with 11.10).
So the printer is not mounted in /dev/usb.

The solution is to cancel this blacklist.

Edit this file : /etc/modprobe.d/blacklist-cups-usblp.conf

Comment (#) the line : blacklist usblp
Here is my file :
Quote:
# cups talks to the raw USB devices, so we need to blacklist usblp to avoid

grabbing them

#blacklist usblp

so again someone like deano might like to comment as to whether this is relevant to an OpenSuse installation

I don’t think the problem is with the udev rule as such, but more so that the CAPT driver relies on the deprecated usblp driver to be loaded first. Try manually loading with

modprobe usblp

then plug your printer in, and make sure that /dev/usb/lp0 exists first

ls -l /dev/usb/lp*
dmesg|tail

If all is well, see if ccpd is running

ps -A|grep ccpd

You may need to make sure usblp is started at boot via YaST…

UPDATE: I don’t have a Canon printer to test with, but after a bit of experimentation with my Brother USB-connected printer, I found that after

modprobe usblp

and then attaching the printer, ‘/dev/usblp0’ appeared

# ls -l /dev/usb*
lrwxrwxrwx 1 root root  7 Jun 12 20:46 /dev/usblp0 -> usb/lp0

and linked to /dev/usb/lp0

Hopefully, you’ll get a similar result.

I did steps witch you recommended and here is the result:

tucnacek:/home/rada # modprobe usblp
tucnacek:/home/rada # ls -l /dev/usb*
lrwxrwxrwx 1 root root  7 13. čen 20.45 /dev/usblp0 -> usb/lp0

/dev/usb:
celkem 0
crw------- 1 root root 180, 96 13. čen 20.41 hiddev0
crw-rw---- 1 root lp   180,  0 13. čen 20.45 lp0
tucnacek:/home/rada # dmesg|tail
  202.681395] cfg80211:   (5490000 KHz - 5710000 KHz @ 40000 KHz), (N/A, 2700 mBm)
  213.330131] wlan0: no IPv6 routers present
  235.775770] usbcore: registered new interface driver usblp
  239.148168] usb 1-3: new high-speed USB device number 5 using ehci_hcd
  239.270968] usb 1-3: New USB device found, idVendor=04a9, idProduct=266a
  239.270975] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  239.270981] usb 1-3: Product: Canon CAPT USB Device
  239.270986] usb 1-3: Manufacturer: Canon
  239.270989] usb 1-3: SerialNumber: 0000A180F90q
  239.274468] usblp0: USB Bidirectional printer dev 5 if 0 alt 0 proto 2 vid 0x04A9 pid 0x266A
tucnacek:/home/rada # ps -A|grep ccpd
tucnacek:/home/rada # /etc/rc.d/ccpd start
Starting /usr/sbin/ccpd: .
tucnacek:/home/rada # ps -A|grep ccpd
 2393 ?        00:00:00 ccpd
 2396 ?        00:00:00 ccpd
tucnacek:/home/rada #

It looks that ccpd is not running before I started it manually.

I wonder whether adjusting the udev rule, so that it just executes via ‘usr/sbin/ ccpd’ might work

SUBSYSTEM=="usb", KERNEL=="lp*", RUN+="/usr/sbin/ccpd"

Another method to start ccpd at boot is outlined in the Printer HCL:

HCL Printers - openSUSE

cd /etc/init.d
insserv -v ccpd

When next booted, the ccpd daemon will be running.

Then to automate the usblp module loading

YasT>System>/etc/sysconfig, naviagte to ‘System’>‘Kernel’>‘MODULES_LOADED_ON_BOOT’ and add the’usblp’ module there.

Thanks for your help. I adjusted udev rule and the printer work correctly. The ccpd was started automatically, wen I turn the printer on.

That’s a great result. :slight_smile: