Monday, 31 December 2018

Resetting the Page Count on a Samsung Laserjet (MLT-R116 Drum)

Our Samsung M2835 printer's drum unit (MLT-R116, not toner, the drum unit) finally hit its software-programmed end-of-life of 10,000 pages.  This is annoying for several reasons:

  • Page 9,999 was perfectly fine
  • I disagree with business practices involving software-enforced obsolescence 
  • Other printers (Brother and HP) provide an option to reset the page count
After some research, it turns out drum unit uses the same technique as toner cartridges to enforce end-of-life.  It uses a small 4Kbit i2c EEPROM to store the page count.  

There are some great resources for resetting almost the same EEPROM on toner cartridges on Samsung printers.  I used and adapted these to reset the drum counter.

Here's the Chip with contacts soldered to it so I can plug it into my raspberry Pi.

And here's the chip by itself:

And here's the connection to the RPI:

So once connected, dumping and re-writing the ROM is easy.  Use the above links to enable i2c on the RPI and then:

  • python -b 0x50.bin --addr 0x50
  • python -b 0x51.bin --addr 0x51
  • bvi 0x50.bin
    • Change offset 0x0C to 00 00 00 00
  • python -r 0x50.bin --addr 0x50
Now the drum counter reports 0 and the printer will print again.  Note: from what I have been reading, some versions of the firmware require modifications to other offsets too.  It's probably easiest to take a snapshot of the eeprom, save it somewhere safe, and then reload the eeprom 5 years later when the page counter is too high.

Tuesday, 1 September 2015

First Uber Ride *Updated*

First trip with Uber: driver and trip was great, app and experience was sub-par.

Update: Customer service swings experience to positive agian.

I'd like to think I'd be writing this if all went smoothly, but it didn't, and here we are. Let's start with the positive.  My wife and I were standing outside at Bay and Wellesley, we requested a ride to YYZ, Steve was there within 2 minutes.   It was a pleasant ride.  It was cheaper than a cab, it was cleaner than a cab, it was cheaper than the new train thingy from downtown Toronto to the airport ($30/person, really?), and the subway wasn't running that early anyway.

Now, we did the estimate fare thing, and requested the pickup no less than 5 seconds after that, and ZOMG 1.5x SURGE PRICING!  I'm suspicious that demand rose "through the roof" at 8:30am on a Sunday morning within those 5 seconds, but maybe it was a coincidence, or maybe we were the last grain of sand.  It was still cheaper than a taxi, so we accepted the 1.5x fare.

The night before I added a $20 promo off the first ride.  Everyone said add it, and offered their user-specific codes. I realize now I could have, and should have, added the user-specific code from one of my friends so they get $20 too.  The system accepted the promo code I used.  It knows I'm in Canada.   You can see where this is going.

Three days later it has charged the full amount to my credit card, no promo code.  The promo code still shows up in my account "Enjoy $20 off your first ride" (that's it, no restrictions are visible).   I have a sneaky suspicion that this was a US-only code and the system didn't bother to tell me, or at least warn me.  It would be such a simple thing to do--FYI, you have a Canadian postal code, you just put in a US-only promo.  That's just annoying.

I navigated their help system and entered that the system didn't apply the promo code for the trip.  Now my pessimist is taking over and I expect this to happen:
1. They'll mail me back eventually and tell me it's a US-only code, or had some other restriction the system didn't tell me about.
2. I'll request that they apply it anyway because there was no indication it wouldn't work so they should put $20 back on my card, since that would have been the outcome had I used one of my friend's code (which I can't use anymore because I've taken my first trip).
3. They'll offer a $20 credit.
4. I'll pretty much have no choice to accept, even though I don't see myself using Uber again in the near future.

So feeling a bit taken-advantage-of by the last-second surge pricing and no promo code.  But it was cheaper than a taxi.  A little good customer service right now could turn my feelings around but right now I'm unlikely to use Uber again in the near future.

Update:  No sooner did I finish writing that than Chad from Uber responded with some great customer service.  The code is indeed a US-only code, they put the $20 back on my CC.  

Monday, 12 July 2010

Skype + Compiz + Cairo Dock

Apparently skype video has issues with cairo dock.   I can confirm this, it definitely doesn't work, where all other webcam apps (like cheese, or guvcview) work fine.  The recommend solution from skype is to simply turn off all visual effects and compositing.  Just like Adobe recommended all 64bit users switch to a 32bit browser just to use their latest flash player that fixed a rather nasty bug.  It's the "hit it with a big hammer corporate approach".

Thanks to the folks at for this one.  Just add "export XLIB_SKIP_ARGB_VISUALS=1"  to /usr/bin/skype and skype.  And it all works.

Saturday, 24 October 2009

Thursday, 13 August 2009

Greasemonkey + Facebook

Psst, facebook, I don't want to be friends with random people just because "we both went to UBC", or "we both live in Vancouver". UBC is pretty big, so is Vancouver. I also don't want to become fans of things just because my friends have. So.. bye-bye suggestion box:

Step 1, install greasemonkey:

Step 2, install this greasemonkey script, just detaches the suggestion box from the HTML, making it disappear, the more elegant solution would be if facebook would just not send the HTML in the first place.. but that's asking too much mehtinks:

Step 3, enjoy facebook without the stupid suggestion box.

Wednesday, 22 July 2009

Recovering Ubuntu

A few days ago I did something bad.  I did a distro upgrade to bleeding edge Ubuntu (9.10) before release, all for the want of the latest version of libvirt on my antiquated laptop.

I know pre-release software might be rough around the edges, I know things might not work, but I didn't really care, after all these things are usually fixed over time.  However, what I didn't bargin for was that the upgrade process was to totally bjorked that it sent dpkg into an infinite loop unpacking the same packages, over and over again, until I stopped it.

Big mistake, but what else could I do?

Thursday, 25 June 2009

Error message FAIL

I'm trying to get libvirt working, just to play with it.  Here's the error:

libvir: Network Config error : cannot create bridge 'virbr0': Package not installed

Package not installed?  But the bridge utilities are installed.  After much googling, I discovered it's a bridge-utils error message, and here's my translated version:

Ethernet bridging support isn't enabled in the kernel

lrn2writeerrormessages.  kthx.