Canon MX870 printer only shows "Processing" on the status LCD

I had my Canon MX870 installed perfectly fine in 11.10, but since upgrading to 12.04, it no longer works. The printer is recognized in print settings and when I attempt to print a test page, the printer LCD displays a "Processing" message, but then it disappears and nothing happens. Here are my logs (note that printing did not succeed despite the access logs showing success):

# /var/log/cups/access_log

localhost - - [22/May/2012:12:29:35 -0400] "POST /printers/Canon-MX870 HTTP/1.1" 200 412 Print-Job successful-ok

-

# /var/log/cups/error_log

W [22/May/2012:12:25:51 -0400] failed to CreateProfile: org.freedesktop.ColorManager.AlreadyExists:profile id 'Canon-MX870-Gray..' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateProfile: org.freedesktop.ColorManager.AlreadyExists:profile id 'Canon-MX870-RGB..' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateDevice: org.freedesktop.ColorManager.AlreadyExists:device id 'cups-Canon-MX870' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateProfile: org.freedesktop.ColorManager.AlreadyExists:profile id 'Canon-MX870-Gray..' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateProfile: org.freedesktop.ColorManager.AlreadyExists:profile id 'Canon-MX870-RGB..' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateDevice: org.freedesktop.ColorManager.AlreadyExists:device id 'cups-Canon-MX870' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateProfile: org.freedesktop.ColorManager.AlreadyExists:profile id 'Canon-MX870-Gray..' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateProfile: org.freedesktop.ColorManager.AlreadyExists:profile id 'Canon-MX870-RGB..' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateDevice: org.freedesktop.ColorManager.AlreadyExists:device id 'cups-Canon-MX870' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateProfile: org.freedesktop.ColorManager.AlreadyExists:profile id 'Canon-MX870-Gray..' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateProfile: org.freedesktop.ColorManager.AlreadyExists:profile id 'Canon-MX870-RGB..' already exists
W [22/May/2012:12:25:51 -0400] failed to CreateDevice: org.freedesktop.ColorManager.AlreadyExists:device id 'cups-Canon-MX870' already exists

Solution 1:

Found the solution: I originally had the printer working under 11.10 with the michael gruz ppa, but this no longer worked in 12.04 and attempting to install from Ubuntu's Printing manager didn't work either.

I found a michael gruz ppa that has been updated for 12.04: https://code.launchpad.net/~michael-gruz/+archive/canon-trunk/+packages

I first removed the old driver with Synaptic Package Manager, then added the new one:

sudo add-apt-repository ppa:michael-gruz/canon-trunk
sudo apt-get update
sudo apt-get install cnijfilter-mx870series

After doing this, installing the printer with the Printing manager worked.