ScannerFirmware

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

This specification suggests a way to make the process of setting up a scanner easier for Ubuntu users, by supplying available scanner firmware as installable packages.

Rationale

Lots of Ubuntu users have trouble with USB (and maybe not just USB) scanners, when the need for firmware files arises. Ubuntu doesn't distribute scanner firmware files, so the users have to find their own way to get the files, place them in appropriate locations etc. This is uncomfortable. The easy way is to make such firmware available as packages installable through package manager.

Design

There are a few ways to distribute firmware if it is at least available on the internet:

  • Provide all firmware files in one package. This would suit if the package doesn't grow too much in the end, which i doubt it can. This is probably a preferred way;
  • Provide them in separate packages (e.g. one package per backend);
  • Create an installer package (or packages?) in case Ubuntu doesn't get permission to redistribute firmware files. This would become a package similar to linux-wlan-ng-firmware then.

In any case, the availability of these packages should be reflected by Sane itself (e.g., libsane could Recommend or Suggest them).

So far, it looks like at least Mustek's firmware files for scanners using gt68xx backend are freely distributable: http://www.meier-geinitz.de/sane/gt68xx-backend/. However, it may be that this is the only case. Still, maybe Ubuntu as an entity could reach some agreement with other scanner vendors here, and provide their firmware too.

Implementation

Code

Data preservation and migration

Unresolved issues

Licenses and redistributability of the firmware is an issue.

BoF agenda and discussion

Volker Löchte - What about creating a database with the content of https://wiki.ubuntu.com/HardwareSupportComponentsScanners? With the deviceinfo of HAL a "driver-installer" dialog could then ask the user to insert the vendor's driver CD (for the device found), search inside the database which *.bin file is needed and then search the CD for this file. Additionally there should be a possibility to point manually to the needed *.bin file. If it's found, the "driver-installer" should copy the file to /usr/lib/hotplug/firmware/---devicename---/ and configure the /sane.d/*conf-file to point to the driver.

This would be very similar to what the users learned in the windows world and would work without legal issues. The installer could also be reused to install firmware for other hardware devices. Maybe a default option in this dialog could also suggest installing the "driver" (firmware) using apt if the package is available.


CategorySpec

ScannerFirmware (last edited 2008-08-06 16:19:41 by localhost)