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
Advertisements