Skip to main content

Setting up my Xerox WC3119

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).

Basic setup

The printer is supported by SpliX driver:

sudo apt-get install openprinting-ppds printer-driver-splix

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:

# Xerox WC3119 splix works with libusb
blacklist usblp

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:

## Access list
# My local IPv4 network
192.168.1.1/24
# My local IPv6 network
2a01:d0:801a::2/64

Enable daemon startup in /etc/default/saned:

RUN=yes

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

sudo gpasswd -a saned scanner

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.