Can you ACTUALLY print from FreeBSD?

Keith Seyffarth weif at weif.net
Mon Apr 20 14:58:43 UTC 2009


I'm trying to print from my FreeBSD machine. I've been through a
number of online tutorials and instructions on printing from Unix or
FreeBSD in particular, but they all seem to start with the assumption
that printing from the machine is possible. I'm trying to get to that
starting point.

I have installed:

cups-base-1.3.9_3   Common UNIX Printing System
cups-pdf-2.5.0      A virtual printer for CUPS to produce PDF files
cups-pstoraster-8.15.4_2 Postscript interpreter for CUPS printing to non-PS printers
gutenprint-cups-5.1.7_3 GutenPrint Printer Driver
libgnomecups-0.2.3_1,1 Support library for gnome cups admistration
hplip-2.8.2_4       Drivers and utilities for HP Printers and All-in-One device

The printer I'm working with is a HP Officejet 4110.


There seem to be several issues with printing. First, since this is a
USB printer, the pinter is always owned by root:operator with read
permissions for user, group, and world.

Adding these lines to /etc/devfs.conf
link ulpt0 printer
own ulpt0 cups:cups
perm ulpt0 0666

will set the ownership to cups:cups and the permissions to read and
write for user, group, and world on startup if the printer is already
turned on and plugged in. However, if the printer is not turned on at
startup, or if it is disconnected or turned off after system startup,
ownership and permissions revert.

Trying chown or chmod to the device at /dev/ulpt0 gives an invalid
path error, and trying to do so following the instructions in the man
page for devfs give 'operation not supported by device' errors.

When th device is owned by root, attempting to print the test page
generates a 'permission denied' error in CUPS. When the device is
owned by cups, attempting to print the test page generates a "failed"
error in CUPS.

When the device is owned by cups, this error is reported in the error
log in CUPS, if debug logging is enabled:

[CGI] /usr/local/share/cups/drivers/pscript5.dll: No such file or directory

There isn't a drivers directory in /usr/local/share/cups. I can make
one, but where do I get the pscript5.dll, and what else is it going to
rely on?

CUPS et al were installed using portinstall, and CUPS is working well
to produce .pdf files. I tried portupgrade last night on all the (I
think) relevant ports, but the system thinks they are all up to date.

So, questions:

1. how can I get permissions on the device to stick, so that I do not
   have to reboot the machine every time we want to print or have to
   power cycle the printer?
2. Am I correct that the missing .dll (that seems awfully Windows to
   me) is the problem in getting a filter to print? If so, what do I
   need to do to install it?


And, actually, a third printing-related issue: How do I get cupsd to
start on startup? I have these two lines in /etc/rc.conf:\

cupsd_enable="YES" # enable cups printing management
devfs_system_ruleset="system" # something else they say cups needs

but CUPS has to be manually started by root after each reboot. what
else needs to be done to get cupsd to start at startup?

Keith


More information about the freebsd-questions mailing list