I just wrote a case study where I printed to my Canon WiFi printer from Fedora 17. My method is extremely easy. It uses the open LPR protocol. The tutorial is here:
http://beginlinux.com/blog/2012/12/tlwir-50-a-case-study-on-line-printing-from-gnulinux-to-a-wifi-printer/
The basic steps:
- Reserve an IP address for your printer in your router.
- Enable the LPR protocol on your printer's configuration web page.
- Add your printer as an LPR printer in Linux (You'll need to enter the printer's ip address and network name).
- Print a test page.
- You're done.
Since you printer will always be at the same IP address, the system will never get confused. LPR is an old (1990) and open source protocol, so it will ALWAYS work with Linux. Microsoft or any other company can never try to break it because it is a standard. I have printed hundreds of pages from my Fedora 17 laptop to my Canon MP560 wireless printer with no problems at all. In theory, if I had 10 Linux computers in my house, I could print to my Canon printer from all of them wirelessly. I would just have to point them to the wireless printer at the printer's IP address (I use 192.168.1.3), and have the computers print to the printer using the LPR protocol.
I tried Samba before, but I found it to be less reliable. Some days it would print, others days not. Using LPR has worked every time. Even though I summarized the steps here, please take a look at my article in the link above. It has more detailed info and pictures that you may find helpful. Cheers and good luck!