[Brian] really liked his Samsung color laser printer right up until it was time to replace the toner cartridges. A full set of toner cartridges sell for about the same price as the printer itself, so [Brian] figured he could simply refill the toner in the cartridges he already has. The printer sends out the ‘low toner’ warning based on page count and won’t print if the page count is too high, negating the economy of a toner refill kit. Luckily, [Brian] figured out a dead simple way to reset the page count so he can use those third-party refill kits.
All the configuration settings and page counts for the printer are stored on an I2C EEPROM. After dumping the data held on this EEPROM with an Arduino and sniffing everything going into the EEPROM with a Bus Pirate, [Brian] was nearly at his wit’s end. Thankfully, serendipity intervened. When [Brian] restarted the printer with the Bus Pirate attached, he noticed it took much longer to initialize. Printing a configuration report, he was trilled to see that all page counts have been zeroed.
The final hack that allows [Brian] to reset the page count and used refilled toner cartridges is a simple wire that ties the SDA line of the EEPROM to ground on boot. [Brian] used a momentary switch, but given this is a once-every-few-months operation, a simple wire would suffice. Check out [Brian]’s page reset demo after the break.
[youtube=http://www.youtube.com/watch?v=077GLsEMV2E&w=470]
Excellent, I’ve recently bought similar printer, but B/W. Thanks Brian!
I think this might work on more printers than just mine. Let me know how it goes!
Yup, will try this weekend.
Nope, won’t work. I have Samsung 1865W. I didn’t even tried to open it now, but it’s impossible to even print test page. I had ML1610 previously and it still prints beautifully after 18000 pages and I’ve bought only one toner cartridge so I had spare one for quick changing.
1865 apparently doesn’t have test-page mode, it’s starter cartridge is welded (no screws) and it has chip. This may be the most hacker unfriendly Samsung printer out there.
for quick and easy i2c without an arduino the DDC port of a vga connector can be used.
trouble is most interesting chips are password protected. (battery fuel gauges, lcd MPU flash areas, etc) and the commands to flash are sometimes not standard i2c stuff.
Now THIS is a great hack. It’s interesting to see the printer stores the number of pages separately from the “% of toner left”, but it makes sense–it probably calculates how much toner is used for a specific page, converts it to a percentage base on an estimated toner cartridge’s capacity, and subtracts it from the previous amount.
Brian was lucky that the CPU only retrieves the data from the EEPROM during boot, rather than read-modify-write for each instance.
normally you just wipe the i2c eeprom on the cartridges. this is easily done without having to hack the whole printer like this.
Indeed, but this hack only requires a piece of wire which opens up the audience a bit. You are right, though. There are many ways to skin this cat.
Hey Canon! This hack makes me WANT to buy your printer instead of avoid it. DO YOU UNDERSTAND?
I think this was on a Samsung printer, not a Cannon.
I agree with the sentiment however!
Indeed. I always check to see if the device I want to buy is hackable or customizable without hacking. I always buy the brand that gives me that option.
10 Geek cred points for the AYBABTU reference.
Sweet. I’m up to 11, now.
Does the eeprom involved here have a write protect pin? If so, would this printer still work in the long term if you shorted out this pin and simply prevented any changes from being retained? A wire mod would be a really nice hack that might make this an attractive fix for those less well versed in bus hacking.
Just a thought.
There is a write protect pin on this, but I found that letting the counts increment was still a useful way to detect when the toner was about to run out. If you pull the WC pin high after the hack, it will keep the counts where they are.
i’ve done something very similar for years with my samsung clp-300 (color laser).
i used a simple LPT port interface and ponyprog software.
as said, the printer just counts pages. and wastes a lot of toner if i just replace the half empty cartrige.
my problem was, the printer engages a writelock on the chip if the maximum capacity is reached, making it impossible to reset the chip.
at first, i solder new chips onto the tiny boards (Atmel 34c02 like the original) then i read about someone using similar chips but with a write protection pin. with that chip and engaged hardware lock the printer can not write on the chip. that’s called a permanent chip. last problem. the printer keeps an internal copy of the page count, so you need 2 permanent chips per cartrige, with 2 differnet serial numbers. if one chip is “full” just swap them, and the printer resets the internal list when it sees the new serialnumber. there is no logging of serial numbers, only the current one is stored internaly.
true hack. +1
That’s 12. (c: Thanks.
But isn’t the same for most, if not all printer? you cab buy a new printer with new ink cartridges fit >= replacement cartridges? At Walmart at least. Something I about set to do. This has been the business model for some time. I know I’m not privy to the manufactures facts, and figures, but it doesn’t make sense. The only thing that makes sense is that they ar making a butt load off both the printer, and ink. Why would hackers complain? End up with a functional printer, an overflowing junk box. Yea it would be nice to see a lower retail price for both printers, and replacement ink, but that ain’t going to happen. Not as long as stock holders are a corporation’s first priority not the customers, and employees.
OK the intent was to say =, be nice if an edit function was available,as other have stated previously.
Good job finding a easy way to reset.
Strangely enough i’ve be trying to access my samsung printer toner chip. But i’m trying with RS 232 and PonyProg. Idk if it is the usb to rs232 adapter or is there something else. I get some data but not with EEPROM 8bit selection in the program. I got whole one man topic with all the details if anyone wants to give advice or share thoughts. http://forum.allaboutcircuits.com/showthread.php?p=462513#post462513
Before I stumbled upon the hack, I wrote an arduino sketch that dumped the entire eeprom. I also had a sketch to write a 1 back to a single 4 byte segment of memory. Links can be found on the post, if you’re interested.
I have a CLP-325, the original cartridges come with no chip at all (there is a PCB with no connectors and no chips in it’s place), so if they were to include chips on later cartridges, all i would need to do is rip them off and they would work…
what happens if you just remove the chip
You can do this on the old Brother printers by using a screwdriver to turn the escapement drive system backwards. These printers have no soft way to reset the toner count (but there is one for the drum; go figure), so you have to trick the printers into thinking they’re working on a new page.
On the clp-510, all you need to do is boot the printer whilst holding menu+enter and it enters “Uncheck consumables mode” 🙂
Very nice hack. I have a CLP-315 that I bought several years ago which has just recently run out of black toner. I will try this hack on mine since it’s so simple. I think I even have the momentary pushbutton and breadboard laying around somewhere.
This hack was originally published in a Russian forum, for other printer models:
http://www.arbikas.com/cgi-bin/yabb2/YaBB.pl?num=1239022807
Here is a pdf locating the chip in the PCB:
http://www.arbikas.com/cgi-bin/yabb2/YaBB.pl?action=downloadfile;file=ML1640_reset.pdf
Also, in another discussion forum, there is a better solution where they hacked the (printer) firmware to ignore the page count if the toner chip is missing:
http://www.fixyourownprinter.com/forums/printer/67172
Firmware:
http://hotfile.com/dl/78172625/58935f6/1660v30.zip.html
This is for model ML 1660, just flash it and remove the chip from the toner cartridge. Works perfectly.
id be trilled too if i was a feathered friend
Thanks for this hack but I found a much more simpler method that doesn’t make you open the printer (and void the warranty)…
Simply but a piece of tape or paper between the front panel and the toners….
The printer will be all lit red, but test page will give 0% toner remaining while printing anyway…
Actually demo cartridges provided with the printer do not have the 4 contacts and I wanted to try to refill one….Now I know it will work
Man that sounds like a lot of work. My samsung ML-2510, which was extremely cheap, just has a small glass fuse hidden on the toner cartridge. When you install the toner cartridge for the first time, the printer blows the fuse and resets the page count. I guess that it does something very similar to what you just described?
Strangely enough, I have never had my ML-2510 lock me out for lack of toner. That might be because I ditched the OEM cartridge before it was 100% done and the third-party ones just get rid of the fuse, but I’m not sure.
That little beast has gotten me through lots, if it wasn’t so great at what it does, I would probably already have upgraded to the CLP line.
all Laser Printer page counter reset solution