I recently acquired a Canon multi-function printer; it prints, copies and scans, and has wireless network connectivity. It came with drivers for OSX, and then I began to hunt for Linux support. Some scrounging later, I now have the printer working over the wireless network from my Linux Ubuntu machine, following the directions in http://www.michael-krueger.org/2009/01/how-to-use-canon-pixma-mp620-with.html
The printer works fine, prints photos reasonably well. It doesn’t do duplex printing. I haven’t yet tried scanning from linux, but this page describes the status.