The Samsung CLP-300 is an inexpensive color laser printer from Samsung that claimed to have Linux support, but didn't work in Linux for many users when first released. Times have changed hopefully.
This is a much abbreviated version of a much longer article that I wrote several years ago when circumstances forced me to devote way too many hours to figuring out how to get a Samsung CLP-300 Laser printer to work on Linux. The original article is still on the site here. If you are having trouble getting a CLP300 to work and this article doesn't help, try it. Maybe something there will help you with your problem.
You now have your choice three drivers:
This can be downloaded here
Conceptually, this can be downloaded from http://foo2qpdl.rkkda.com, however, repeated attempts to contact that site in Dec 2009 timed out. Here's the Internet Archive Link to the latest archived version of information on the driver (Aug 2008). The driver can apparently be called either foo2qdpl or foo2zfs. I'm hazy on the difference.
As originally released, this driver was not only seriously bloated, it depended on an installation program that was dynamically linked to libraries that no longer were part of many Linux installations (I think the moral is that there are times when static linking should be used). It also frequently didn't work because of bugs in the install program. The Samsung driver should be packaged with the printer, and can be downloaded from Samsung Support
Hopefully the installation problems are fixed. If not -- try this abbreviated installation procedure
- Try the Samsung installer setup.sh. If that fails, go to the next step. Note 1
- Extract the files ppmtosplc and CLP-300splc.ppd from the Samsung CD or from the installation software on the Samsung Web Site.
- Put ppmtosplc into the /usr/lib/cups/filter directory. Note 2
- Put CLP-300splc.ppd into the /usr/share/cups/model directory. Note 2
- Run CUPS and install the printer. If you call the printer anything other than CLP300N, change the string CLP300N in the linuxprint.cfg you will create in the next step to whatever name you use. Don't bother with printing a test page. It won't print ... yet.
- Create a /etc/linuxprint.cfg file. Linuxprint.cfg is a text (XML) file that specifies the configuration information needed by the ppmtosplc filter. Here's the content that seemed to work for me.
<?xml version="1.0"?> <linux root="/etc/cups/ppd/" system="cups"> <option name="ghostscript" value="/usr/bin/gs"/> <option name="address" value="localhost"/> <option name="port" value="631"/> <option name="lpr" value="/usr/bin/lp-cups"/> <printer ppd="CLP-300splc.ppd" queue="CLP300N"> <option name="ColorModel" value="RGBA"/> <option name="Resolution" value="1200x600"/> <option name="PageSize" value="Letter"/> <option name="InputSlot" value="AUTO"/> <option name="MediaType" value="Normal"/> </printer> <option name="llpr-default-printer" value="CLP300N"/> </linux>Notes 3 and 4
Now try printing a test page. Hopefully it will print.
Note 1. I skipped this step because I thought the chances of the Samsung install software running properly on Slackware 12.0 were essentially zero; I didn't really need drivers for every Samsung laser printer; and I had access to the Samsung files for the CLP300 in another partition on the hard drive.
Note 2. Samsung, left to their own devices would install the two files elsewhere (bin/Linux/x86/filters/ppmtosplc and /usr/share/cups/model/CLP-300splc.ppd), then install links into the above directories where CUPS is going to look for the ppd and filter. That seemed byzantine so I simply put the files where CUPS will look for them.
Note 3. The lines root= and ppd= almost certainly need to specify the path to a usable ppd file when 'concatenated' (means 'joined') together.
Note 4. Looking at the content of linuxconfig.cfg, I'd guess that the things like paper size might be taken from there rather than from wherever CUPS puts them when they are changed by "modifying the printer configuration". If CUPS settings don't seem to work, try changing the corresponding value in linuxprint.cfg.
This lengthy PDF document is available for download from a bunch of places for various prices. I eventually found a free copy ... at
www.free-service-manuals.com/Samsung_CLP-300_Series_Service_Manual_L57022/ The link seems to be dead. It may be possible to download a manual from https://web.archive.org/web/20140312152701/http://www.givemyfile.net/smanuals/printers/samsung/clp-300.html ... or not. Or you may have to pay.
The Network version of the CLP-300 has a web server accessible on port 80 that makes some status information available. It can be accessed from a web browser at http:// printer_IP:80. Unfortunately, the status information does not include toner level data.
The Network Utilities CD shipped with the printer includes software that purportedly allows printer status to be obtained via a program called Samsung Smartpanel using the Simple Network Management Protocol(SNMP). The available information does include toner levels. The Windows version of the software works. The Linux version apparently works on some distributions, but not on others. It does not work on my computer. I have not checked the Samsung web site for updated versions of the software. I am still plugging away on a very low priority basis to get Smartpanel working. In the meantime, Sync-thru (see next item) is adequate for my needs.
Samsung provides a Sync-Thru web server that runs on Windows. It is capable of providing toner and other status information for networked Samsung printers via a Web Server. If your network has an always on NT based windows PC, you can install Sync-Thru there and interrogate the web-server from your Linux machines in order to get printer and consumable status. You will probably need to punch holes in the Windows firewall on the PC to get access to the Sync-Thru server on port 90. If you know what ping is and might ever want to use it to check connection to the Windows PC, you may want to turn ICMP echo on while you are tweaking the firewall.
You can get the consumable status without the Sync-Thru server by printing a status page. To do that, hold the printer's single front panel button down until the green status button starts to blink rapidly, then release it.
The CLP300 has no way to determine if toner cartridges are empty. Instead, it counts pages printed and declares the cartridge empty after 2000 pages (Black) or 1000 pages (color) no matter how much toner remains. This mechanism prevents home refills of the cartridges with bulk toner. Page counts are also used the determine the lifetime of the drum and some other components. Some dedicated folks have worked out (complex) ways to defeat the counting mechanism. [See http://rumburg.org/printerhack/ http://rumburg.org/printerhack/]. These hacks are not for the faint of heart.
Samsung does not seem to provide a Management Information Base (MIB) file that presumably might allow standard SNMP tools to obtain printer status for a networked CLP-300.