This is a project I'll be working on over the next while.

It started with a guinea pig experiment I involved my mother in. I installed Ubuntu on our home PC and configured it in such a way that it would be straightforward for her to use. I applied the Radiance theme and placed Mozilla Firefox and on the desktop, also moving the window buttons to the right-hand side, a la Windows.

I walked away for a few days and forgot about this until one day I walked past the PC room and saw her working away at a letter while browsing the web and checking her email. I asked her if she noticed anything different and the only answer I got was, “Yeah it's much faster now. What did you do?”.

Mojavé Experiment, eat your heart out ;)

Her one complaint is that she can't print from Ubuntu. I have a Dell All-In-One 944 printer, which is a rebranded Lexmark X2470 printer. Lexmark are well known in the open-source world as being “Linux paperweights”. Rather than go with any half-arsed solutions such as going through an XP VM or having to buy a new printer, I wanted to solve this using the hacker mentality.

Lexmark on very rare occasion have released Linux drivers for some printer models. One of these models is the Z600. Many people within the community have managed to hack this driver to work with newer versions of Lexmark printers, however I have not heard of a successful attempt with a Dell AIO printer, at least not the model I have at home.

Using some guides online, I have managed to pass all of the print queue commands from Ubuntu, through CUPS (Common Unix Printing System) to my printer. Everything works flawlessly, and CUPS processes the file-to-be-printed without hassle, except until the command reaches the printer itself. The printer gets confused and doesn't know what to do with the command.

My idea is to hack the driver some more (or if needs be, the printer firmware or CUPS itself) and reverse engineer everything to print from Ubuntu.

linux_driver_hacking.txt · Last modified: 2010/08/19 17:36 by Aaron Hastings