There already exists here and there (especially in forums) isolated information about how to make a recent all-in-one Epson DX8450 printer work under Debian/Ubuntu. Actually instructions are for CX8400 and DX8400 but it also works with DX8450.
Moreover, some packages have a dependency on gtk1.2, you might have install the corresponding libraries (sudo apt-get install libgtk1.2 under Debian and probably Ubuntu). It depends on whether you install them by hand or through apt-get.
Anyway, let's go.
The instructions are for the Hardy Heron version of the Ubuntu distribution. For the Intrepid Ibex version, printing seems to work out-of-the-box with the provided cups drivers and scanning requires additional work (see the relevant section below).
You will first have to either download the packages and install them with dpkg or use the package manager to get them.
Well, help yourself (sudo dpkg -i package_name in a terminal once downloaded):
Add the following line to /etc/apt/sources.list, or more easily by adding the source through the package manager:
deb http://hivernal.org/resources/static/computing/hardware/ubuntu-dx8450 ./
The packages you want is pipslite-cups, the other needed packages will be downloaded automatically.
Once the packages are installed, in a terminal:
sudo pipslite-install
It should create a file such as eksdx8400.ppd in /usr/share/cups/model/. The specific printer driver is now installed. Now you can either point your browser to http://localhost:631 or launch the printer manager to configure the printer. Select the printer, that you want to change the driver and pick Epson Stylus DX8400 Photo Image Print System Lite (works similarly for a DX8400 or CX8400 printer). Validate, here your are, your printer is installed. You can now print a test page to see that colours are correctly handled. Note that the driver has less options (only paper quality and colour or black and white) than the gutenprint drivers. It should be integrated into it anyway, someday.
You can watch the ink level by starting the ekpd daemon:
sudo /etc/init.d/ekpd start
and by launching the ekpstm command. You can have the daemon started automatically by using update-rc.d in a terminal.
If you want to recompile the packages yourself, see the corresponding section at the end of this page.
Once again, these packages are for the Hardy Heron version of Ubuntu.
Here it is (same instructions as for the printer driver to install):
See the corresponding instructions for the printer driver.
Edit /etc/sane.d/dll.conf and comment the line with epson into #epson and add an epkowa line. There, it is installed. You can launch sudo sane-find-scanner in a terminal to see if it finds a scanner. You can then launch the xsane application to scan your documents.
Some bits of information also recommend to edit the /etc/sane.d/epkowa.conf file to ensure that the usb line is not commented. If there's a line looking like:
#usb
you must remove the #. You might also add a # at the beginning of the line:
scsi EPSON
I'm not sure that commenting out the scsi line has an effect, though.
For some reason, udev under Intrepid Ibex is badly configured/behaved, hence you will have some more work to do.
You have to edit the /etc/udev/rules.d/40-basic-permissions.rules file and modify the following lines:
# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
SUBSYSTEM=="usb_device", MODE="0664"
into:
# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0777"
SUBSYSTEM=="usb_device", MODE="0777"
Here, now halting and starting the scanner should do the trick, xsane should not complain about a missing device anymore.
The instructions for Debian are roughly the same as for Ubuntu, so I'll go quicklier and point the differences.
As for the printer driver for Ubuntu, but use the following line instead:
deb http://hivernal.org/resources/static/computing/hardware/debian-dx8450 ./
Exactly the same as for Ubuntu.
Normally the same as for Ubuntu.
For some reason, (the packages are a bit old) sometimes the right udev rules will be missing. Take a look in /etc/udev/rules.d/ and try to look in the files (those named something like sane or iscan) there for a line looking like:
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0839", MODE="0664", GROUP="scanner"
The numbers are particularly important. If it is nowhere to be found, you must add it. Then either you add the following file to the directory, or you add the following line in an existing sane-something or iscan-something file:
# Epson DX8450
SYSFS{idVendor}=="04b8", SYSFS{idProduct}=="0839", MODE="0664", GROUP="scanner"
Note that if you want to be sure that your scanner-printer corresponds, you can launch sudo sane-find-scanner in a terminal to see what scanner it finds. It should answer something like:
found USB scanner (vendor=0x04b8, product=0x0839) at libusb:005:002
The Debian or Ubuntu packages available here are generated from the source obtained on the Avasys site to whom the pipslite_1.0.3-1~0.1.diff.gz patch is applied, obtained from here.
I also keep a version of the sources in this directory (because the japanese upstream website is sometimes slow).
The existing source of information about the method described in this page are in foreign languages, but it should be easy to understand what is going on with the commands:
PS : I do not maintain the Debian/Ubuntu packages.