[sane-devel] Hardware compatibility ongoing problem and what can be done about it

augustin sane at overshoot.tv
Tue Jun 1 07:59:53 UTC 2010


I almost wrote a few weeks back about advice for a new scanner. First, I did 
the most of the available documentation (thanks for it!) but then I gave up 
the idea of buying a new linux fully supported scanner and ended up borrowing 
one from a friend, which I used on a windows machine! (the first time I use 
windows in many, many years!).

But I am not writing to vent my frustration, far from it. First of all, I am 
grateful for all the work all of you guys are doing for the Linux user 
community :)

I blogged about my experience here:
Most importantly, I highlighted three areas where things can be (and are 
being) done.

For your convenience, I copy the blog entry below, but the formatting and some 
links may appear better on the web page above.

If you know anything that is relevant to the topics I am discussing (e.g. an 
existing, similar project), I'll add it to the wiki pages listed in the blog.




I was recently looking to buy a scanner with a good or complete support in 
Linux: I quickly discovered that it was <em>an exercise in frustration 

<h2>Linux hardware: an ongoing headache</h2>
One of the ongoing problems when using Linux is that hardware manufacturers do 
not provide their full specifications to driver developers, much less do they 
develop and provide Linux drivers themselves. There are well known exceptions 
but by and large, it is a state of affair that has given headaches to more than 
one Linux users.

All common hardware are well supported: CPUs, hard drives, most mother boards, 
etc. But when shopping for more specialized hardware, we are often facing a 
more difficult situation. 

As I needed a scanner, I did what I had to do. First I had a look at the list 
of scanners supported by the SANE (Scanner Access Now Easy) project, but it 
contains close to 1500 scanners <fn> See: 
http://linux.overshoot.tv/wiki/scanners </fn>. 

So I tried to operate the other way around: I went to the computer hardware 
shops and made a list of all the scanners available on the market today. I 
came back home with a list of manufacturers, product reference numbers and 
prices. (I didn't write down the specs since I knew I could check them 
online.) But then, I soon found out that it was close to impossible to compare 
the list I brought back from the shops to that of the SANE supported devices: 
scanners on one list are mostly not on the other list and vice-versa. 

How am I supposed to chose a scanner, then?

I am certainly <em>not</em> blaming the SANE developers, who do what they can 
in their spare time according to the hardware they have access to. The 
situation is nonetheless vexing. We can do something about it.

<h2>A positive approach</h2>

Far from me the idea to rant on a known problem just for the sake of venting 
my frustration. I am posting this to assess the current situation and suggest 
possible courses of action. <em>The objective of this very web site 
(http://linux.overshoot.tv/ ) is to contribute something positive so that the 
situation improves over time.</em>

What follows are more specific observations and practical action points.

<h3>Catalogues of hardware with support status</h3>

As noted above, it can be sometimes difficult to choose a specific hardware when 
there is almost no overlap between the list of devices available on the market 
place and the lists found on the internet with devices supported by Linux.

Over the years, I have heard of several schemes to manually or automatically 
repertory the hardware owned by Linux users together with the availability and 
quality of Linux drivers. In some places, users are invited to manually modify 
a wiki to list their hardware <fn>See for example the official Ubuntu wiki where 
Ubuntu users have listed their scanners: 
https://wiki.ubuntu.com/HardwareSupportComponentsScanners </fn>. Elsewhere, 
people are invited to download and run a script that will automatically list 
and submit their computer hardware into a central database <fn>There was a Red 
Had related project like this, but I forgot the name and the link... Follow up 
here: [#95]. http://linux.overshoot.tv/ticket/95  </fn>.

It is one of the main mission of this site to repertory and list all the best 
resources and documentation available on the internet. If you know of any good 
project, you may list them on the hardware home page here: 
http://linux.overshoot.tv/wiki/hardware .

<h3>Requests for testing: connecting driver developers to end users</h3>

While looking for my elusive, ideal scanner, I browsed the SANE mailing list 
and noticed a few threads where driver developers were asking specific device 
owners to help by testing and providing feedback <fn>See for example those two 
recent threads: <a href="http://lists.alioth.debian.org/pipermail/sane-
devel/2010-March/026318.html">any sniff volunteers unsupported Canon 
scanners</a> and <a href="http://lists.alioth.debian.org/pipermail/sane-
devel/2010-March/026293.html">To owners of CanoScan 5600F: please volunteer 
for testing</a>.</fn>. 

In the most ideal situation, hardware manufacturers would provide the full 
specs for each of their devices. The Linux community has many, many talented 
driver developers. However, those developers obviously do not own the full 
range of hardware available on the market, nor do they have the money to 
purchase all the newest, most popular hardware entering the market. For them 
to be able to do their job, they need to have access, directly or remotely to 
the devices that need to be tested.

In the example above of SANE developers asking scanner owners to volunteer, 
the developers are obviously pooling their (hardware) resources via the SANE 
development mailing list. The obvious limitation is that even the whole 
membership of the said mailing list may not own the full range of devices to 

So, the question now is: how do we help open source driver developers get in 
touch with Linux users who own a device to be tested?

I do not have a ready answer to this question, but it is an important one if 
we want to improve the range of Linux open source drivers in the future.

Here is the ticket to discuss this question: [#96] 
Here is the corresponding wiki page:

<h3>Manufacturer Hall of (Linux) Honour</h3>

Again and again, the open source driver developers remind us that we should 
blame the manufacturers for any lack of proper Linux drivers. And they are 

I think it is about time there were a <em>coordinated</em> effort for the Linux 
community to lobby the manufacturers and pressure them with our wallet 
whenever we go out and purchase some hardware.

Currently, Linux consumers can only proceed using hearsays. For example, I 
have personally heard a lot of good about HP's friendliness towards Linux. 
(Yet, I was not able to find a HP scanner on the market today that is on the 
SANE list of supported hardware. But I did find some in the shops that were 
officially <em>not</em> supported.)

We need to quantify and substantiate such claims so as to build an 
authoritative list of the most Linux-friendly manufacturers. We need to build 
a list of objective criteria and measure every manufacturer with the same 

We can discuss this specific issue here:
[#99] http://linux.overshoot.tv/ticket/99 
and document what we find here:


Obviously, the projects and ideas highlighted above will not happen on their 
own. Neither is it me alone who will make a difference. I am simply hoping that 
the Linux user community will shine and be at its best: let everyone 
contribute a little something and soon the situation we're facing when 
hardware shopping might be different.

Friends: http://www.reuniting.info/ http://activistsolutions.org/
My projects:
http://astralcity.org/ http://3enjeux.overshoot.tv/ http://linux.overshoot.tv/ 
http://overshoot.tv/ http://charityware.info/ http://masquilier.org/
http://openteacher.info/ http://minguo.info/ http://www.wechange.org/ 


More information about the sane-devel mailing list