I have previously, without any real luck, tried to connect a USB printer/scanner called Canon Pixma MP500 to a machine running Ubuntu Edgy, and later Feisty (7.04). The driver “MP500 Ver.2.60” kept refusing to print anything more than a small part of the upper left corner of an A4 page. This driver, in other words, no matter how it was configured in the printing dialogs, only used the setting of some obscure paper size. I don’t know CUPS well enough to tell if there’s some conf file to tweak, so I went to ask the great oracle of Mountain View, CA.
Some googling revealed that the way to go is to set up the device in CUPS using the Gutenprint driver for another Canon printer, “BJC-8200”. Using a driver called “bj8pa06n.upp”, which Ubuntu’s, or rather Gnome’s CUPS frontend (“System -> Administration -> Printing”) insists on calling “recommended” and “suggested” gives you weird, bleak colors, so going with “High Quality Image (Gutenprint CUPS) (expert)” is really what you’d want to do.
Printing now works almost perfectly, the quality isn’t quite the same as with Canon’s crapware bundled driver package for a certain market dominating desktop operating system, but it’s good enough to get stuff done in Ubuntu.
Scanning seems to have worked fine all along, although I just did a quick check using XSane.