Canon MX 870 Communication Error Solution. At least this worked for me. The problem has to do with Bon Jour.
- Go to the setup panel on the Canon MX870.
- Select Device Settings->LAN Settings->Other Settings->Bonjour settings.
- Next select Enable/Disable Bonjour and make sure that it is enabled.
- Next select Service name and either leave what is there or put in a name like "Canon Mx870 Bon Jour" or "My Stupid Printer".
- Next Enable LPR advertising (not sure this is necessary but my Windows7 under VMware Fusion found the printer).
- Next get out of the printer's menus and select System Preferences->Print & Scan on your Mac (I am running Mountain Lion). Delete of whatever entries you had for the Canon printer and scanner. Then use + to add a printer and your should find "Canon Mx870 Bon Jour" or "My Stupid Printer" or whatever you called it. Select it to set it up and ditto on the scanner.
By the way, I reserved an IP address in my Airport thinking maybe that would help. Nope. Then I updated all of my Canon drivers, utilities, etc. couple of days ago. Nope, got the same stupid and very annoying Communication Error. Then I did the Bon Jour thing and now all is right with the world. OK, maybe not everything, but getting rid of the Communication Error is very satisfying. I will repost some misery if it returns.
It would probably be a good idea to update all the Canon stuff and apply any other updates to your OS as a step "0" before you do the above. I wound up having to download 10 or maybe 11 files from the Canon website. There is probably a much smarter way to update the Canon stuff. If someone knows please post it in this thread.
Anyway it is all working fine. And, best of all, it makes sense because Apple uses the Bon Jour protocol to find printers so if it is not set or set correctly on the MX 870 then it make sense that OS X keeps losing it.
So I hope this helps relieve some pain out there.