Many have suggested that since Canon does not offer a Linux driver for the MX310, one could use the driver for the MP150. I tried that but found the results very sketchy. After a bit of digging, I found a driver
from Canon for the MX340 which works extremely well for the MX310 and allows much better configuration. It wasn't easy to find, so here's the URL in case you want to try for yourself:
http://files.canon-europe.com/files/...ux_Package.tar.
The package (located in the tar file) that worked for me is cnijfilter-mx340series-3.30-1-i386-rpm. Good luck!