Trial by fire: distro upgrade

5:46 pm General

I recently upgraded from Ubuntu 8.10 to 9.04 and in the process “cleaned up” the distro using the very useful option to “make my system as close as possible to a new install” (I don’t remember if that’s the exact text, but that was the gist of it). Last night, I tried to use the printer in my office for the first time since upgrading, an Epson Stylus Office BX300F (all in one scanner/printer/copier/fax).

With 8.10, I finally got printing working – I don’t remember the details, but I do recall that I had to install pipslite and generate a new PPD file to get a working driver for the printer, which I found through the very useful OpenPrinting.org website. It’s a fairly new printer, on the market since September 2008 as far as I can tell, cheap, and part of a long-running series from Epson (the Linux driver available for download on the Epson site is dated early 2007).

Nonetheless I was reassured by OpenPrinting’s assurance that the printer and scanner “work perfectly”, and I wasn’t expecting to have to download a source package, install some development packages, and compile myself a new Ubuntu package to get it working. And then discover that there was a package available already that I just hadn’t found. But anyway, that was then…

When I upgrade my OS, I have a fairly simple expectation, that changes I have to make to the previous version to “fix” things don’t get broken post-upgrade. There are some scenarios where I can almost accept an exception – a few releases ago, I had problems with Xrandr because changes I had previously had to make to get my Intel hardware working properly were no longer necessary as X.org integrated and improved the driver – but it took me a while to figure out what was happening, and revert my Xorg config to the distro version.

Yesterday, when I had to print some documents, I got a nice error message in the properties of the printer that let me know I had a problem: “Printer requires the ‘pipslite-wrapper’ program but it is not currently installed. Please install it before using this printer.” And thus began the yak-shaving session that people could follow on twitter yesterday.

  • Search in synaptic for pipslite – found – but: “Package pipslite has no available version, but exists in the database.” Gah!
  • Try to find an alternative driver for the Epson installed on the system: no luck. Hit the forums.
  • Noticed that libsane-backends-extra wasn’t installed, installed it to get the epkowa sane back-end, and “scanimage -L” as root worked (for the first time) – so went on a side-track to get the scanner working as a normal user
  • Figure out what USB node the scanner is, chgrp scanner, scanning works!
  • Then figure out how the group gets set on the node on plugging, found the appropriate udev rules file (/lib/udev/rules.d/40-libsane-extras), copied it to /etc/udev/rules.d, added a new line to get the scanner recognised (don’t forget to restart udev!) scanning works!
  • Re-download a driver from the website linked to in OpenPrinting’s page for the printer – they have a .deb for Ubuntu 9.04! Rock!
  • Install driver, error message has changed, but still no printing: “/usr/lib/cups/filter/pipslite-wrapper failed”. Forums again.
  • Tried to regenerate a PPD file: pipslite-install: libltdl.so.3 not found. ls -l /usr/lib/*ltdl*: libltdl.so.7 – Bingo! The pre-built “Ubuntu” binaries don’t link to the right versions of some dependencies.
  • Download the source code, compile a new .deb (dpkg-buildpackage works perfectly), install, regenerate .ppd file, (don’t forget to restart CUPS), and we have a working printer!

4 hours lost.

Someone will doubtless follow up in comments telling me how stupid I was not to [insert some “easy” way of getting the printer working] which didn’t involved downloading source code and compiling my own binary package, or fiddling about in udev to add new rules, or sullying my pristine upgrade with an unofficial package. Please do! I’m eager to learn. And perhaps someone else with the same problems will find this blog entry when they look for “Ubuntu Epson Stylus Office BX300F” and won’t have to figure things out the hard way like I did.

Please bear in mind when you do that I’m not a neophyte, that I’ve got some pretty good Google-fu, and that I’ve been using Linux for many many years – and it took me 4 hours to re-do something I’d already done once 6 months ago, and wasn’t expecting to have to do again. How much harder is it for a first timer when he buys a USB headset & mic, or printer/scanner, or webcam?

Update: After fixing the problem, I have discovered that the Gutenprint driver mentioned on the OpenPrinting page (using CUPS+Gutenprint) does work with my printer. It seems that if I had done a fresh install, rather than an upgrade, I would not have had this existing printer using a no longer installed “recommended” driver – as John Mark suggested to me on twitter, pipslite is no longer necessary. In addition, when I tested both drivers with the same image, there is a noticeable difference in the results – the gutenprint driver appears to use a higher alpha, resulting in colours being much lighter in mid-tones. The differences are quite remarkable.

9 Responses

  1. CoolGoose Says:

    I’m sorry to hear about that Dave.
    I never used ubuntu with any Epson printer so I can’t share my experience, but with an HP one it works perfectly. (even over network).
    Just go to printers > make it search > it installs the required drivers > yay.
    It’s so much easier than in any Windows version (XP or Vista).

  2. sebastian Says:

    There are two things that made me give up on Linux as a desktop system after 10+ years of using it: unavailability of Adobe InDesign (pretty specific, I’ll admit) and what you just described.

    There comes a time when you just can’t justify, to yourself, the amount of time you’re spending troubleshooting problems like those.

    It’s really too bad because that’s the kind of experience that ruins the amazing work that goes into the system otherwise.

  3. btmorex Says:

    I think at a certain point, you have to have vendor support to have a good user experience. Epson doesn’t care about Linux. Worse, a lot of people will say something works, when works really means “sort of works after fiddling with it for a day”.

    I’d suggest just buying stuff that is well supported by the vendor… for printers that means HP who have very good Linux drivers (it’s easier to get a HP printer working in Linux than in any other OS).

  4. ethana2 Says:

    Ubuntu should have official hardware testers. I’ve got a DCP-7020, a DigiPro graphics pad, a Motorola v325i, and wiimote, and a bt headset, among other things.

  5. Marius Gedminas Says:

    I started making notes (in a text file, called /root/Changelog) about anything complicated I do to my machines. This means that if I have to reinstall and spend hours re-doing something I fixed 6 months ago, well, I’ll have my notes.

    Speaking about hardware — I’ve heard many times from Ubuntu community members that if something doesn’t just work after plugging it in, then it’s a bug and should be reported as such. Sadly, not all bugs get fixed quickly (or, sometimes, at all).

  6. Robert Smol Says:

    Sorry to hear that I guess since it does not work out of the box it is somehow broken. And what you did was an exception instead of filling up a bug and solve it once for all.

    If you start caring too much about exceptions you end up with old legacy system which nobody can fix or upgrade.

    With that said I understand your frustration, however Linux community was always great because there are capable people which fix problem instead just complaining.

  7. Dave Neary Says:

    Robert:

    For scanning: https://bugs.launchpad.net/ubuntu/+source/sane-backends-extras/+bug/380379

    For printing, indeed, I didn’t think of this as a “bug”, just incomplete support. And as I said, giving a solution to the issue Google juice is, I think, a nice thing to do.

    Dave.

  8. Stu Says:

    Always when I update the kernel this sort of thing happens to me. I don’t know why I don’t learn, in the case of not being able to boot my kurobox I’ve just left it for 9 months.
    Usually it’s the proprietory display drivers that break.
    All in all it’s a PITA, I woudln’t mind, except that it happens over and over again.

  9. hp scanner printer worx Says:

    Totally agreed, the problem is Epson’s lack of support for Linux. Having said that, no matter how much you like Linux a lot of manufacturers don’t bother supporting it and at some point it just isn’t worth the hassle. It is what it is, and time is money.