Blocking hardware accessibility through software: a printer's tale
What are you getting when you buy a printer to use under GNU/Linux? The LinuxPrinting.org site can tell you how well a printer will work with free software, but often that's only part of the story. I came face to face with this simple fact when I recently bought a Hewlett-Packard PhotoSmart C3100, a low end inkjet printer that includes scanning and copying features. Besides basic features, like many today, the printer includes features that run without a computer, if only with the specific Windows or OS X software that accompanies it. My experience is one data point for measuring the current state of hardware support for GNU/Linux -- as well as how companies, deliberately or otherwise, are withholding it.
As LinuxPrinting.org had led me to expect, basic printing support was painless. The printer is included in the foomatic database used by CUPS (the Common UNIX Printing System), and two minutes in the KDE Control Center had the printer working at 300, 600, and 1200dpi -- and me grateful all over again for the improvements over using lpr and printtool. I chose the hpijs driver, which delivers much higher quality printing than the hplip driver, but at the cost of some functionality (see below). If colors seem a little washed out, and inks sometimes smear when using high-quality photo paper, experiments with the copying features quickly prove that the fault lies with the printer and not with the variants of the hpijs printer driver I tried. Considering the price, I was reasonably satisfied.
Further investigation showed that the stand alone features were equally trouble-free. These features work independently of any computer, which is why they could provide the benchmark for my printing tests. I suspect that I wasn't the only user to install incorrectly the sensor plate for the standalone features at first, but, once I realized that the plates' tabs needed to be inserted into the slots provided, functionality immediately followed.
Using the C3100 as a copier, I can control the paper type, print quality, size, and number of copies without being logged on to a computer. Similarly, I can print a proof sheet from the memory chip in my digital camera, then mark the proof sheet to print up to three copies of each photo selected either individually or by date stamp, and choose how my selections will be oriented on the printed pages. The proof sheet is ingenious, if a little convoluted, but, again, I was largely content with my purchase.
I already have a much higher-quality scanner, so I didn't buy the C3100 for its scanning capabilities. However, if I had, I would have been disappointed. Neither Xsane nor OpenOffice.org Writer could detect the C3100 while using the hpijs driver, for all my checking for loose cables, restarting the programs with the printer on, or even my long shot experiments with rebooting the computer with the printer active.
By contrast, the hplip driver did enable scanning, but with such a lack of speed and such graininess that I consider it unusable. Certainly, it was far below the performance of the machine's copy function, or of the printers' scanning capability under Windows.
Curious about what else GNU/Linux users might be missing with the C3100, I mounted the accompanying CDs and opened the readme files. Sure enough, the software I couldn't use included access to a file sharing site where users can order prints online -- for a price, of course, although the first 20 were free --OCR software for character recognition, a few basic photo editing features such as autocropping, and a faxing service.
My conclusions after investigating my purchase top to bottom? To start with, basic printing support for GNU/Linux has vastly improved since I started using the operating system seven years ago. Although most of that improvement is due to free software developers, some of the credit also goes to Hewlett-Packard for releasing the drivers and continuing to manufacture printers that can use them.
That said, clearly GNU/Linux users are still receiving second class treatment from manufacturers of peripherals. Bare functionality is welcome, but hardly enough. Because of the hundreds of different distributions and their widespread availability, the number of GNU/Linux desktops is impossible to count, but some estimates suggest that it rivals that of OS X desktops. So if OS X is supported out of the box, why not GNU/Linux? Like any long time GNU/Linux user, I am used to being largely ignored by hardware manufacturers and doing my own research, yet the question is still worth asking, if only to remind the manufacturers that token recognition is not enough. The profit margin on hardware is slim enough that ignoring any potential market seems short-sighted.
Yet even more important than restating these basic facts of using GNU/Linux is the method for denying access: The requirement for specific, technically unnecessary software, not only to achieve maximum printout quality, but also to fully control the hardware and to be aware of all that is available with your purchase. Standards and protocols for scanning are largely standardized on each platform, so it is probably more work, not less, to develop hardware that only completely works with specific software. Yet at least part of the Hewlett-Packard team that developed the C3100 chose to take that extra effort for some reason. The decision may not have been conscious, but the appearance is that, having gone some ways towards making its hardware available to free software users, Hewlett-Packard is making a deliberate effort to keep proprietary control over part of it. The availability of the free but substandard hplip driver is hardly enough.
Or perhaps the scanning software and other features were designed separately from the other features on my new printer -- in which case, I suppose I should be grateful that I received any functionality at all. And if Hewlett-Packard, a relative friend to free software, can create such difficulties, what can we expect from other companies?
Unfortunately, Hewlett-Packard is not alone in enforcing such unnecessary software dependencies. An increasing number of mp3 players, cameras, and even an external DVD drive that recently spent all of two hours in my home because it lacked an open/close button (and was therefore extremely awkward to boot from), do likewise. All too often, purchasers' access to basic functionality is being compromised or denied because of what seems to be a misguided attempt by the manufacturer to keep control. In the case of the DVD drive, even advanced Windows users were affected.
In all these cases, engineering seems compromised by marketing into a design that is both inelegant and unfriendly to consumers. And, for free software users, the result is a kind of poor cousin to digital rights management that locks them out of functionality and quality that they have paid for.
Admittedly, I either don't want or already have the features elsewhere that I can't use via the C3100. But that's beside the point. I would have appreciated the chance to refuse, if only for the illusion that Hewlett-Packard valued my business.
Bruce Byfield is a computer journalist who writes regularly for the NewsForge and Linux Journal web sites.
Bruce Byfield (nanday)
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- Non-Linux FOSS: Code Your Way To Victory!
- Vagrant Simplified
- Dealing with Boundary Issues
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- System Status as SMS Text Messages
- Bluetooth Hacks
- Libreboot on an X60, Part I: the Setup
- Linux and the Internet of Things
- October 2015 Issue of Linux Journal: Raspberry Pi
- New Products