Tuesday, November 09, 2010

Samsung ML-1666 printer in Linux

Samsung ML-1666

Unfortunately, splix does not support this model. So, you have to download Linux driver from: Samsung Website

You can either run their automated installer or install it manually.
I prefer manual installation because, automated installer install many unnecessary tools in my system.

 1. locate the ML-1660 from the Unified driver PPD while adding printer:

2.Copy the filter, depending on your system (32bit or 64bit):
 /cdroot/Linux/x86_64/at_root/usr/lib64/cups/filter/rastertosamsungspl --> /usr/lib/cups/filter/ 

3. You may need to install libtiff and splix or may try to modify the ML-1660.ppd for splix support. But, be inform that, from splix website "Splix won't support old SPL(1) printers."


NIJO said...

i cant paste the filter file... the paste option is disabled while going to the file syystem... please help me....

NIJO said...

i cant paste the filter file.. the paste option is disable in the file system

salahuddin66 said...

you have to use $su to become root, then run the copy command.

Miven Dooligan said...

Forget CUPS, I don't use it. I've never actually got a printer working that way. They all
failed. Or it always fails. I know localhost:163 and all that stuff, but I'm a fan of 'cat
THING.EXT > /dev/do_something', the good old Linux way.

This has taken me a couple months to figure out. There is very little usable information out
there, any many people with the same problem, so this is a 'Pay It Forward' kind of thing.
The same technique most likely works with many printers. Maybe I can save someone else the
same big headache.

ML-1660 magic:

You need 'rastertosamsungspl' and 'ML-1660spl.ppd' from Samsung's 'UnifiedLinuxDriver_0.86.tar.gz'.

The magic is thus:

1. Convert whatever you want to print into PostScript (FILE.ps).

2. Type 'export PPD=/wherever/you/put/ML-1660spl.ppd' (the spl filter needs this to be set
or it will fail silently) ***MAGIC***

3. Type '/wherever/you/put/rastertosamsungspl 1 1 1 1 1 FILE.ps > FILE.spl' (all those ones
are mandatory arguments that the filter completely ignores)

4. Type 'cat FILE.spl > /dev/usblp0' (or whatever your system calls it). Printer wakes up,
yawns, thinks, and actually prints in full glory!

Simple, but arcane. I hope this pops up in google so others can get this working faster than
I did.