I bought a new printer few months ago, since my old printer was not capable anymore. It's Canon Pixma IP 1880. At the beginning, i was worried whether my printer will be detected by Linux or not. I asked the shop, but they don't understand about Linux, so i searched from the Internet. I found a Linux driver from Singapore's site and i download it (there were two files that needs to be downloaded, cnijfilter-common-2.70-1.i386 and cnijfilter-ip1800series-2.70-1.i386). It was in RPM format. Well, only downloading, but not installing it. Since then, i left it behind until today.
Today, i wanted to test since i have some time and i'm on my Linux system right now. So I started with opening K > System > Manage Printings. This will open a SeaMonkey browser (i don't know why it picked up SeaMonkey, even though i have Firefox installed) and opened CUPS local file (http://localhost:631). I add some information about the printer, and in the next few seconds, my printer was detected (at this time, i was only installing cnijfilter-ip1800series-2.70-1.i386 package after i convert it to tgz using rpm2tgz command). I was quite surprised, since it was very fast (and i often heard that people are having problem detecting this printer). I tried to print a test page and it failed, since it's missing a file named pstocanonij. It's a library which should also be installed (it's located in cnijfilter-common-2.70-1.i386 package). So my next step would be installing the package and i delete the printer information and start over. This time, i choose the correct options and voila.... my printer is fully detected and i can print a test page. Here's the screenshot of the CUPS page.
Update (24 August 2008): It's been one year since this post is written, so it's time to update the article, as it seems that there has been some changes in the CUPS since it was bought by Apple.
Right now, you don't need to add your printer manually, as the CUPS interface can detect your connected printers by using the Administration tab. Click on it and it will try to detect your printer (make sure you have connect your printer). Most printers already use USB connection and it will be detected automatically by the CUPS interface. Here's my new screenshot on CUPS 1.3.8 on Slackware 12.1 (the second screenshot). Look at the device URI. It's different compared to the old screenshot.