The Canon i9900 is an ooooooooooold printer. The hardware-side interface consists of two buttons and a bicolor LED. The two buttons are Power (turns it on and off, duh) and Resume (what you press when you've replaced ink or added paper after it b*tches at you for having run out of one or the other). The LED is either green or orange in color and can flash. Green is good, orange is, er, not.
The specific error code being given by this printer is a set of flashes in a repeating sequence. Specifically, GRN-ORN-ORN-ORN-ORN-ORN, that is, one green flash followed by five orange flashes. This is explained by Canon in the relevant literature in copious helpful quantities of detail as "There is an error with the printhead." (Thanks, Canon... *rolleyes* ) The only manufacturer-approved remedy, unless one can make the error go away spontaneously, is to spend beaucoup bucks on a replacement printhead.
My pet theory, which may or may not be wildly inaccurate, is that the printhead's ROM (on the back of the circuit board with all the contacts) contains both an identity string and a use counter. It's the same scam as with ink cartridge chips, and it works like this -- every time an ink cartridge spits on your paper, the printer's controller increments a value in the ROM chip on the cartridge. When the printer "thinks* the cartridge is about 2/3 empty (which it may or may not be) it starts shrieking that it's out of ink and that imminent global thermonuclear doom will happen if you don't go off and spend a thousand bucks on ink RIGHT BLINKING NOW. So you heave a heavy sigh and go off and spend a sum that would shame Warren Buffet on little plastic things with ink in them, pretending the whole while not to notice the Bic pens in a bag two aisles over that are also little plastic things with ink in them but that miraculously go for two dozen to a dollar instead of something like $35+ each. (To quote a webcomic called "The Oatmeal", and quite reasonably so -- "Either printer ink is made from unicorn blood or we're all getting screwed.")
So what I think happened here, is that there's a value somewhere in this ROM that, if changed, will make the printer think its printhead is brand new, and that the old one simply has an "invalid" number of uses because it's original to the printer, and the way Canon set things up, it's had the sheer audacity to survive past its allotted lifetime (per whatever the accounting dept insisted on) so the printer thinks its just, you know, time to throw more money at poor little Canon Inc once again... never mind that *any* given international conglomerate of that size could literally use $20 bills as toilet paper without a terribly significant impact on their bottom line... it doesn't matter, they just want more... they always do...
Directions to create your own ROM dump are in the appropriate section. If I get enough of them that I can discern a pattern, that would be awesome. If someone from Canon, *especially* someone who worked on the design of this particular model, wants to get in touch with me and explain the ROM -- I promise you that I will buy you lunch (there will be some fine print on that, out of necessity), *especially especially* if you're willing and able to come to me and tell me everything you can about this thing. (if not -- we'll work it out -- maybe you have Paypal?)