Simple instructions on installing the Samsung ML-2015 printer in FreeBSD

I’ve written about this once <broken link> already. Now, that time the whole thing got a little hectic, which was somewhat related to the promille phenomenon. Anyway, this time it’s gonna be a little simpler.

The instructions presented here are on installing CUPS for Samsung ML-2015. ML-2015 is (basically) the same as ML-2010.

These instructions will also be useful with other Samsung printers, since the printing language (and drivers as a consequence) are disgustingly similar for Samsungs. (How do I know? I don’t. I’m a mockingbird.)

I assume you know how to use pkg_add, portupgrade (my case) or other port managing utility. If not, just ask.

1) Install cups-base. You probably have this. Add to /etc/rc.conf:


(Re)start CUPS. Check localhost:631 if it works. If you try installing a printer in CUPS now, Samsung won’t be listed yet.

2) Install splix.

ports% cat /usr/ports/print/splix/pkg-descr
SpliX is a set of CUPS printer drivers for SPL (Samsung Printer Language)
printers. Below is a non-exhaustive list of currently supported printers. Note
that only SPL2 and SPLc printers are currently supported!

At this point if you try installing a printer in CUPS, you will have Samsung listed.

3) Install cups-pstoraster.

ports% cat /usr/ports/print/cups-pstoraster/pkg-descr
This distribution is based on GNU Ghostscript and provides the "driver" for
CUPS that supports non-PostScript printer drivers within CUPS.

Samsung printers don’t support PostScript, at least to my severely limited knowledge they don’t.

Restart CUPS.

4) Modify ulpt0 permissions.

cd /dev
/dev% ll ulpt0
crw-r--r-- 1 root operator 0, 121 Jun 13 22:00 ulpt0
/dev% sudo chown root:cups ulpt0
/dev% sudo chmod g+w ulpt0

Now for some elaboration. You might wonder why not just add user cups to group operator. The answer is simple: security.

Fact is, cups only needs access to the printer, and that’s it. The operator group, on the other hand, has access to a lot more: other USB devices, hard disk devices, and hell knows what other system files in whichever depths of /usr or /var or /etc.

Now, you just do what you think is better. If you want to add cups to operator – then do it. After all, root is thy lord. I’m just telling what I did.

EDIT: if you don’t take measures, settings to /dev will be reset on restart.

5) Start the printer if not already done (from CUPS’ administrative interface). Print a test page.

6) If you smoke, have a smoke. If you drink beer, have a beer. If you drink coffee, have another coffee. If you lapdance, have a lapdance. If you fuck children for breakfast – go kill yourself.


Wouldn’t have figured this all out without this BSD forums thread and this blog post.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: