Today, I purchased a Samsung ML-1676 Monochrome Laser Printer. I was under the impression that most printers are now supported out of the box but I was wrong. This model of the printer uses a proprietary language called the Samsung Printing Language (SPL) and hence drivers are not included in the distributions by default. But fear not, there is a very simple process to setup your printer because Samsung provides drivers not just for Windows but also for Mac and Linux based distributions! Great going Samsung, you deserve a pat on the back.

Download the "Unified Drivers" for Linux from the download center on Samsung website. At the moment of writing this post, the drivers are available here.

Switch on your printer and connect it to your PC. Then, extract the downloaded file and start your printer configuration suite. On KDE, it is found under System Settings > Printer Configuration. Click on the "New Printer" option and select a "New Network Printer". Most likely, you will see a "Samsung ML-1670 Series" connection in the various printer connection options. If you do not find it, check if the printer is connected and switched on. Select the "Samsung ML-1670 Series" connection and proceed. In the next screen, select the "Provide the PPD file" (PPD - PostScript Printer Description) option and select the following file from your downloaded directory (<Download_directory>/cdroot/Linux/noarch/at_opt/share/ppd/ML-1670spl.ppd).

The driver for the printer is installed. All you now need is the 'rastertosamsungsplc' utility which translates the default print language to the Samsung Printer Language. This utility is also present in the download. Copy the 'rastertosamsungsplc' from the <Download_directory>/cdroot/Linux/<arch>/at_root/usr/lib/cups/filter/ directory to /usr/lib/cups/filter/ on your PC. Fill the <arch> in the path appropriately. If you use a 32-bit machine, arch would be i386 and x86_64 on a 64-bit.

Setting up this printer is a little bit of a struggle but once setup, it works perfectly.

PS: The option of providing PPD works for a lot of Samsung models and you may be lucky to find your model in the "Unified Driver" download.