Sorry all, for adding to this, I wanted to correct and add some more to this, and couldn’t edit it. Also although the post is long it is a relatively straightforward procedure.
Specifically for a Canon laser LBP5100 on OpenSuse 11.1. Pulled information from ubuntu forums and from here for canon machines. I’ve summarised my steps and also how to build the 64bit drivers if you want.
However you can replace 5100 with some of the other lasershot capt printers and should get the same result. LBP5000 LBP3600 LBP3500 LBP3310 LBP3100 LBP2900 LBP1120 LBP1210 to name a few.
Download from Canon
Canon Europe - i-SENSYS Linux Support
for the LBP5100
LBP5100
Download the 1.80 Driver
[important disclaimer - through laziness I just used the root command, and just added sudo below - apologies if I get it wrong]
gunzip CAPTDRV180.tar.gz
tar xvf CAPTDRV180.tar
You will have a CANON_UK folder
sub folder Driver, Doc, Src
For 32bit users
cd CANON_UK/Driver/RPM
**sudo rpm -ivh *.rpm **
For 64bit users
**cd CANON_UK/Src
cp cndrvcups-capt-1.80-1.tar.gz /usr/src/packages/SOURCES
cp cndrvcups-common-1.80-1.tar.gz /usr/src/packages/SOURCES
gunzip cndrvcups-capt-1.80-1.tar.gz
tar xvf cndrvcups-capt-1.80-1.tar
gunzip cndrvcups-common-1.80-1.tar.gz
tar xvf cndrvcups-common-1.80-1.tar**
The next part, I can’t tell what you have on your system. So you may need to add bits until it compiles. Basically you need the C compilers. Various -devel packages. I think a list of these can be found in the canon docs. I added some via YAST->Software Management
cd cndrvcups-common-1.80
rpmbuild -bb cndrvcups-common.spec
assuming you have the required libs, you will find
** l /usr/src/packages/RPMS/x86_64
cndrvcups-common-1.80-1.x86_64.rpm**
**
sudo rpm -ivh /usr/src/packages/RPMS/x86_64/cndrvcups-common-1.80-1.x86_64.rpm**
cd …/cndrvcups-capt-1.80
rpmbuild --bb cndrvcups-capt.spec
once again
**l /usr/src/packages/RPMS/x86_64
cndrvcups-capt-1.80-1.x86_64.rpm
**
sudo rpm -ivh /usr/src/packages/RPMS/x86_64/cndrvcups-capt-1.80-1.x86_64.rpm
You now have the drivers installed.
Adding a printer
sudo /etc/init.d/ccpd restart
- Goto CUPS printer management
- Add printer
- Give it a name, location, description. (Remember the name)
- Next select the protocol.
If installed you should get a list of Canon Priter Daemon (yes spelled Priter) #1 to #8
- select one of these
- Select canon for manufacturer
- Select Canon LBP5100 CAPT (UK) (en) for model. (Note the new ones have no dash LBP-Xxxx and are grouped below the LBP-Xxxx ones)
- add printer
Some posts say you need to do this
where LBP5100 is the name given to the printer above
***sudo /usr/sbin/lpadmin -p LBP5100 -m CNCUPSLBP5100CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
But I think you can skip that, however if you did chose the step above note that the fif0 part corresponds to the Canon Printer Daemon #1.
fifo0…fifo7 = Daemon #1 to #8
next
sudo /usr/sbin/ccpdadmin -p [name above] -o /dev/usb/lp0
e.g.
so if you named you printer LBP5100 then
sudo /usr/sbin/ccpdadmin -p LBP5100 -o /dev/usb/lp0
The /dev/usb/lp0 assumes you have only connected one usb printer to the system. You can check /var/log/messages to see which usb port is connected to the canon. Look for the canon printer being recognised. Suse adds it to the /dev/usblp0 device, which is linked to the /dev/usb/lp0.
sudo /etc/init.d/ccpd restart
ps ax | grep cap
you should see a capmon program with fifo0 to lp0 parameters
Try a test page, should work
==================================
Autostart
Now the following is new to me.
Previously on Suse all I had to do was create a symbolic link S99Name in the /etc/init.d/rc5.d directory to have a script startup on boot.
e.g. I would have done
cd /etc/init.d/rc5.d
ln -s …/ccpd S99ccpd
ln -s …/ccpd K99ccpd
Now I have been trying to do so, no luck. The only way I got it to run was to edit /etc/init.d/ccpd
and add a header (below) to the top of the file
I use nano, but use any editor you wish
sudo nano /etc/init.d/ccpd
or sudo gedit /etc/init.d/ccpd
or sudo kate /etc/init.d/ccpd
copy paste and add
**#! /bin/sh
Author :
/etc/init.d/ccpd
startup script for Canon Printer Daemon for CUPS (ccpd)
BEGIN INIT INFO
Provides: ccpd
Required-Start: $local_fs $remote_fs $syslog cupsd
Required-Stop:
Should-Start:
Should-Stop:
Default-Start: 3 5
Default-Stop: 1 6
Short-Description: ccpd printer daemon
Description: Start ccpd to provide spooling and printing files
functionality for local and remote printers. Even required if
printers are broadcasted (“Browsing”) into (sub)nets.
END INIT INFO
**
end of section
save the file
next have suse insert the service
cd /etc/init.d
sudo insserv -v ccpd
You should see a list of services. Scroll the list to check that ccpd was added and no errors.
That should be it, on a reboot you can check
ps ax | grep cap
you should see a capmon program with fifo0 to lp0 parameters