FightingCups

Fighting Cups

7 November 2006

So, we were given an old but servicable Epson 5700L laser printer by Confluence's parents. One might have thought it would be easy to install. Four hours and a lot of configuration file editing later I have discovered the following things about installing CUPS printers on Ubuntu:

  • When CUPS says it supports your printer, it means it has the PPD file for your printer, not that it actually supports writing to your printer.
  • Whether your printer is actually supported depends on whether there is a driver for it in Ghostscript. If it isn't you'll need an additional program which you'll probably have to compile yourself. In the case of the Epson 5700L this addition program is ijs_server_epsonepl and can be obtained by compiling epsonepl.
  • If your Epson 5700L happens to be connected via USB and you'll need to set the EplFlowControl parameter to something appropriate. In my case (accessing the printer using the kernel's USB support) that turns out to be /dev/usblp0. This is not one of the available options in the PPD file, so you'll have to manually add something like:
*FlowControl USB_kernel_dev_usblp0/USB (kernel dev_usblp0): ...
  ... "%% FoomaticRIPOptionSetting: FlowControl=USB_kernel_dev_usblp0"
*FoomaticRIPOptionSetting FlowControl=USB_kernel_dev_usblp0: ...
  ... "EplFlowControl=/dev/usblp0,"
*End
  • Setting the FlowControl parameter on the command-line or in the GUI interface will not actually result in it being passed through to the PPD file properly, so you'll need to hardcode the default by editing the PPD file again:
*DefaultFlowControl: USB_kernel_dev_usblp0
  • Now if you turn on foomatic debugging in /etc/foomatic/filter.conf, you'll see that /dev/usblp0 is busy when ijs_server_epsonepl tries to access it. A quick lsof -r 1 /dev/usblp0 will show you that CUPS itself helpfully locks the device before launching foomatic and ijs_server_epsonepl.
  • Telling CUPS to print to /dev/null by changing the DeviceURI line in /etc/cups/printers.conf to DeviceURI file://dev/null will make everything work.

WTF? And to add insult to injury, the printer has a oval spot on the drum which isn't holding ink. Hopefully we can have that fixed.

And now to sleep. ---- (:commentboxchrono:)

Edit - History - Print - Recent Changes - Search
Page last modified on November 06, 2006, at 11:16 PM