I am doing this over and over again. Along with writing puppet config I am posting the recipe for my WC3119 configuration here in case somebody finds it useful too. I will describe the setup of Xerox WC3119 for remote printing and scanning in Ubuntu Precise Pangolin (12.04).
The printer is supported by SpliX driver:
Also, you will want to blacklist usblp module (otherwise you will have “usblp0: removed” entries in dmesg and printer may work sometimes but fail at random). Add the following to /etc/modprobe/blacklist.conf:
Remote CUPS access
By default CUPS does not listen to the network and does not accept remote configuration. Edit /etc/cups/cupsd.conf to enable:
# For IPv6 Listen [::]:631 # For IPv4 Listen 0.0.0.0:631 # Restrict access to the server... <Location /> Order allow,deny Allow @LOCAL </Location> <Location /admin> Order allow,deny Allow @LOCAL </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Default Require user @SYSTEM Order allow,deny Allow @LOCAL </Location>
@LOCAL expands to the names of all the local interfaces.
Remote scanner access with saned
Install sane-utils and edit /etc/sane.d/saned.conf:
Enable daemon startup in /etc/default/saned:
On the client end, the hostname/IP of the server should be added to /etc/sane.d/net.conf
Due to bug 773617 the saned user is not added to scanner group, fix this with
And then restart the saned service.
To test whether client can see the saned server, run
$ scanimage -L device `net:example.net:xerox_mfp:libusb:001:005' is a SAMSUNG ORION multi-function peripheral
If the client crashes and you haven’t rebooted after you installed sane-utils, unplug/plug in the device for udev rules to be reapplied.