Using Samsung provided drivers
It's not a great science as it almost works out-of-the-box. All you have to do is to download the driver from samsung web page and copy two files into specified directory of CUPS system.
The steps are as following:
- Download following file Linux Driver for CUPS.
Extract the *tar.gz file, cd to the directory cdroot and copy the following files:
cp Linux/i386/at_root/usr/lib/cups/filter/rastertosamsungpcl /usr/pkg/libexec/cups/filter/
cp Linux/noarch/at_opt/share/ppd/ML-1640spl2.ppd /usr/pkg/share/cups/model/
- After that execute (or reboot the machine)
**/etc/rc.d/cupds restart**and your Samsung ML-1640 will work just out-of-the-box.
Using a native driver
Nowadays, the best way to get a wide range of Samsung and Xerox laser printers working with CUPS is using the Splix drivers. Since it's not in pkgsrc yet, you have to download and build it yourself.
$ wget http://ufpr.dl.sourceforge.net/sourceforge/splix/splix-2.0.0.tar.bz2 ;# or download from any sourceforge mirror $ tar jxf splix-2.0.0.tar.bz2 $ cd splix-2.0.0
To build the driver we need CUPS (print/cups) and GNU Make (devel/gmake) installed from pkgsrc. Also, we can optionally disable JBIG support or install wip/jbigkit to fulfill its dependencies. In this example, I'm about to disable it
$ DISABLE_JBIG=1 gmake $ su root -c 'gmake install'
Now the driver is installed, along with the PPD files. You can add the desired printer(s) the usual way.