inside the mind of a linux admin

Fix: Error in Description line when installing Dell printer driver on Ubuntu

So, I have a Dell V715w that I’ve had for years. I wanted to get one of my Ubuntu workstations to print to it.

What was first thought to be convenient, Dell’s website actually has a Ubuntu Linux installer and drivers available for download on their website here:

http://www.dell.com/support/drivers/us/en/04/driverdetails?driverid=R247653

Dell V715W AIO Inkjet Printer, A00
This is a Ubuntu driver release for the V715W printer.
Release Date 11/9/2009

Seems simple enough, right? Not so much.

After downloading, untarring and guzipping the file from Dell’s website, I run the shell script:

chmod +x dell-inkjet-09-driver-1.0-1.i386.deb.sh
./dell-inkjet-09-driver-1.0-1.i386.deb.sh

A nice little GUI pops up and asks me to continue with the install. I enter my superuser password, and watch it go to work in the debug window. It proceeds to create a temporary directory and drop a .deb along with some other files, then errors out horribly with this:

Extracting file: dxdbuspolicy.te
Extracting file: dell-inkjet-09-driver-1.0-1.i386.deb
Extracting file: jre-6u12-linux-i586.bin
Extracting file: launcher_87b076ac_5714_4095_b8ae_c17133910651
Extracting file: dxlpia.sh
Extracting file: dxnet.te

=============================
Execute: sleep 3
=============================

=============================
Execute: dpkg -i dell-inkjet-09-driver-1.0-1.i386.deb < /dev/null > /dev/null 2>&1
=============================

=============================
Execute: dpkg -i dell-inkjet-09-driver-1.0-1.i386.deb 2>&1 | tee /home/eriks/lua_iXv8E7/installerror_msgs

dpkg: error processing archive dell-inkjet-09-driver-1.0-1.i386.deb (–install):
parsing file ‘/var/lib/dpkg/tmp.ci/control’ near line 9 package ‘dell-inkjet-09-driver’:
blank line in value of field ‘Description’
Errors were encountered while processing:
dell-inkjet-09-driver-1.0-1.i386.deb
=============================
dpkg: error processing archive dell-inkjet-09-driver-1.0-1.i386.deb (–install): parsing file ‘/var/lib/dpkg/tmp.ci/control’ near line 9 package ‘dell-inkjet-09-driver’: blank line in value of field ‘Description’Errors were encountered while processing: dell-inkjet-09-driver-1.0-1.i386.deb
=============================
Execute: rm -rf /home/eriks/lua_iXv8E7
=============================



Uhhh…

Of course, the installer cleans up after itself and removes the temporary directory it created which would destroy the hopes of many trying to get their printer to work on a supposedly supported Linux operating system.

In the lifespan of this printer, I’ve probably used it less than a half dozen times as most of my life is digital.

However, at this point I’m more frustrated than I would be had there been absolutely no claim of Linux support from the manufacturer. But that’s simply not the case, it’s supposed to work. It was released in 2009, ample time for them to fix this bug (that is, if they cared about the Linux community at all).

And yes folks, that’s indeed what it was. A bug. A very simple bug that put a newline at the end of the .deb file’s “Description:” field and that some legal garbage about Dell which has no place in a control file for a .deb package.

Here’s how I finally got it to work:

Remember, at this point I’ve already downloaded and uncompressed the file I downloaded from Dell’s website.

Next, after poking through the shell code, I was able to extract the contents of the sh file into a folder called why_does_dell_hate_linux using the –noexec and –target flags:

./dell-inkjet-09-driver-1.0-1.i386.deb.sh –noexec –target why_does_dell_hate_linux

Next, enter into the why_does_dell_hate_linux directory and untar the file called instaarchive_all:

cd why_does_dell_hate_linux
tar -xvvf instarchive_all –lzma

Now pull out control.tar.gz from the deb package, and then extract/untar that:

ar x dell-inkjet-09-driver-1.0-1.i386.deb control.tar.gz
tar xf control.tar.gz

This will drop the control file in your working directory, so pull out your favorite editor (nano, vim, gedit, whatev.) and edit the file:

gedit control

It will look something like this:

Package: dell-inkjet-09-driver
Version: 1.0-1
Section: non-free
Priority: optional
Architecture: i386
Installed-Size:
Maintainer: build
Description:
Dell Series Drivers Package

This package contains the Dell Series Drivers. This is
a copyrighted package, please refer to the copyright notice
for details about using this product.

You can jump down to see where Description: was hastily left blank with a newline inserted, completely blowing the syntax for the package.

Pull the description back to it’s correct line and strip out the legal garbage below it to look like this:

Package: dell-inkjet-09-driver
Version: 1.0-1
Section: non-free
Priority: optional
Architecture: i386
Installed-Size:
Maintainer: build
Description: Dell Series Drivers Package

Now, add the files back to control.tar.gz, then the control.tar.gz back to the deb file like so:

tar cfz control.tar.gz ./control ./postinst ./prerm ./preinst
ar r dell-inkjet-09-driver-1.0-1.i386.deb control.tar.gz

Huzzah! You’ve just fixed Dell’s blunder and created a working .deb package that will actually install without the GUI wrapper and error messages.

sudo dpkg –install dell-inkjet-09-driver-1.0-1.i386.deb

So this begs the question, why did I have to spend my time on this when Dell very easily could have done this sometime between 2009 when they screwed it up until present day where it sits on their site still broken?

Because Dell hates Linux. 🙁

Related Posts

synergy: How to enable crypto (encryption) and generate SSL certificate

The newer Linux versions of the popular mouse/keyboard sharing application “synergy” now has built in encryption. Here’s how to configure it: Just simply passing the –enable-crypto flag on your synergy server without having a proper SSL certificate will result in the inability to connect to clients and generate an error message similar to this in […]

Read More

Change Number Pad Delete (dot) key from a comma in Ubuntu Linux

I recently purchased a new keyboard and updated to the latest Ubuntu, I’m also an avid user of the number pad for quick input when dealing with spreadsheets or accounting. I found that my num pad’s delete key (“.”) was outputting a comma (“,”) instead. Pretty annoying? I agree, but this can be very easily […]

Read More

3 Comments

  • dodgerbluefan on Friday, October 24, 2014

    Hi there, I remember the ‘blank line’ was actually not a problem when I was using Linux Mint 12 (based on Ubuntu, of course). The GUI installer worked just fine & added a Dell Printer Toolbox icon onto the desktop. I believe the issue arose after I upgraded to Linux Mint 13. I googled the error and found a fix by a guy who owned a Lexmark printer with the same problem. Very similar solution to yours, if not the same (I depend on guys like you to get me out of a jam!). The RPM-based Linux distros don’t have this issue with the v715w GUI installer (I also use PCLinuxOS).

  • samuel on Thursday, March 26, 2015

    Thank you very much! I used your solution to fix the driver dell-v505-driver-1.0-1.i386.deb available on Dell website…

  • cranside on Tuesday, August 16, 2016

    hello, I am having a very similar problem when installing Path Analyzer Pro. However, there appears to be no deb.sh file. How do you “poke around the shell code” as you said? I’m trying to edit the control file to remove the description line like you did. Please help!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.