After some struggle, I finally managed to set up my Slitaz 2.0 to print on my Canon LBP2900.
The most important lesson I learned, was to check for kernel modules! Slitaz has a very good hardware detection software, but it did not reckognize my usb printer. So, first step is to load the module. If you don’t do this, the device mount point won’t be created by udev.
# modprobe usblp
Connects printer with usb and issue (lsusb is not available yet in Slitaz):
# cat /proc/bus/usb/devices
Verify that /dev/usblp0 or /dev/usb/lp0
has been created. This is your device, and ensures that udev is working. The number may vary if you have several printers connected.
Unfortunately, the driver Canon offer demands an EULA. Current version (today) is v1.8. Go their website and accept the license and download (external link to canon).
Read their manual – it’s actually correct.
The downloaded package needs to be un-tar’d. It contains both .deb and .rpm packages. They should pretty much be equal, so use the one that fits your system the best. Slitaz has its own packagemanager which does not nativily support neither of the two formats. However, both deb and rpm should be supported for installation by dpkg and rpm respectively. I used the rpm packa
ges.
So – the real kicker! Do this – don’t hesitate! The hints are picked up from several forums and own knowledge.
# tazpkg get-install cups
Verify that it works by browsing: http://localhost:631
. I created a little script for the rest.
#!/bin/sh #Install Canon LBP2900 on Slitaz #rpm -i common #rpm -i capt echo -n "add usblp as a module on boot" echo -n "add cupsd and ccpd as a daemon at boot" modprobe usblp /etc/init.d/cupsd stop /etc/init.d/cupsd start PNAME=canon PPDFILE=CNCUPSLBP2900CAPTK.ppd mkdir /usr/share/ppd cd /usr/share/cups/model chmod 555 -R /usr/share/cups/model # modified from chmod a+rX $PPDFILE cp /usr/share/cups/model/$PPDFILE /usr/share/ppd/ # this should not be necessary mkdir /var/ccpd mkdir /var/captmon mkfifo /var/ccpd/fifo0 chmod 777 /var/ccpd/fifo0 lpadmin -p $PNAME -m $PPDFILE -v cpp:/var/ccpd/fifo0 -E -u allow:tux,root ccpdadmin -p $PNAME -o /dev/usb/lp0 /etc/init.d/ccpd start
Note the -u allow:tux,root. This can be modified later in cups.
You can also monitor the printer. It is also a good way of checking that everything is in order. I got several error messages which needed to addressed. Restarting the ccpd daemon is sometimes necessary.
# /usr/local/ccpd/captstatusui -P canon