Ubuntu Epson SX400 All in One — Making it work!

*** PLEASE NOTE THAT ACCORDING TO Sitarane THIS PRINTER SHOULD ‘JUST WORK’ ON UBUNTU NATTY ***
My mum just brought one of these (cos it was cheap in Argos) so I thought it prudent to link together the multiple how-to’s I discovered whilst trying to make it work :)

Printing
First off make sure you have cupsys installed, from a Terminal (Applications->Accessories->Terminal) type:

sudo apt-get install cupsys (input your password if asked)

And say yes if you need to.

Right now it’s time to go and grab the driver, visit http://www.avasys.jp/lx-bin2/linux_e/spc/DL1.do and fill in the form to get the driver for your printer (SX400 in my case).

You should now have a deb file that you can double click on and install. Right, now make sure the printer is connected and turned on.

Then, in a terminal, type:
sudo pipslite-install

This will have a bit of a poke around and probably appear with just a cancel button. If it does appear with a cancel button then reboot your computer and try again (which worked for me).

When you get a continue button then you need to fire up the printing configuration program (System->Administration->Printing), click Change on the right of where the driver name is written and choose the driver model called LITE. Then choose the recommended driver.

Now you should be able to print a test page :D

Scanning

Scanning is a little bit harder, but not impossible. First off lets make sure we’ve got all the scanning tools installed:
sudo apt-get install sane sane-utils

Once again say yes to everything.

When that’s done run:
sudo sane-find-scanner

This should hopefully produce some thing that looks like:

$ sane-find-scanner
# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.

# No SCSI scanners found. If you expected something different, make sure that
# you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04b8, product=0x084a) at libusb:005:002
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.

# Not checking for parallel port scanners.

# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.

# You may want to run this program as root to find all devices. Once you
# found the scanner devices, be sure to adjust access permissions as
# necessary.

What you need are those two kind of number looking things:
vendor=0x04b8, product=0x084a

Now we have those we need to add them to a file, so now type:
sudo gedit /etc/sane.d/epson.conf (assuming your scanner is an epson)

Find the line that just says: usb

# USB scanner:
# There are two different methods of configuring a USB scanner: libusb and the kernel module
# For any system with libusb support (which is pretty much any recent Linux distribution) the
# following line is sufficient. This however assumes that the connected scanner (or to be more
# accurate, it's device ID) is known to the backend.
usb
# For libusb support for unknown scanners use the following command

And change it to make it read:
# USB scanner:
# There are two different methods of configuring a USB scanner: libusb and the kernel module
# For any system with libusb support (which is pretty much any recent Linux distribution) the
# following line is sufficient. This however assumes that the connected scanner (or to be more
# accurate, it's device ID) is known to the backend.
usb 0x04b8 0x084a
# For libusb support for unknown scanners use the following command

Obviously use your numbers not mine (unless you have a SX400 too), save that and close it.

Right lets see if it works at all, type
sudo xsane

Click OK to the warning. In the large window towards the right of the screen (titled Preview ….) click the Aquire button. If you get an image back then we’re all set to go. If you don’t then I can’t help you as it worked perfectly for me.

Now we need to make the scanner available for everyone to use so once again from the terminal type:
sudo gedit /etc/udev/rules.d/90-modprobe.rules

and add the line:
SUBSYSTEM=="usb" ATTRS{manufacturer}=="EPSON", GROUP="scanner", OWNER="root", MODE="0660"

Save that, now we need to create a script to load our map so type:
sudo gedit /etc/hotplug/usb/epson_scanner.sh

And add the lines
#!/bin/bash

if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
then
chown root "${DEVICE}"
chgrp scanner "${DEVICE}"
chmod 660 "${DEVICE}"
fi

And save it.

Right that’s it. Reboot and you should be able to use your scanner via xsane (Applications->Graphics->XSane Image Scanner)

Reference

Printing: http://ubuntuforums.org/showthread.php?t=903905
Scanning: http://www.freecolormanagement.com/sane/libusb.html

Enjoy!