Printer in the world of GNU/Linux is ridiculer, even from the good old days that Richard Stallman was fighting against a printer company. This is a note about how to made Canon MG2900 Series working in GNU/Linux.
Basically, and most importantly from the perspective of Free Software philosophy, the only right thing you have to do is to return your Canon printer, and then, buy another one which comes with a free and open source driver for GNU/Linux.
If you cannot do that immediately, this is a temporary workaround:
wget -c http://wealthlibre.info/static/webup-2016-04-15-173921-cnijfilter2-5.00-1-deb.tar.gz tar -zxvf cnijfilter2-5.00-1-deb.tar.gz cd cnijfilter2-5.00-1-deb sudo ./install.sh
Then you just need to follow the instruction step by step. Hopefully, any printer that belongs the Canon MG2900 Series can work well, such as MG2920, 2922, and 2929.
What if it still cannot work? Well, is there any reason to have it anymore?
Have fun; be free!