home   artikelen   forum   colofon  
Gepubliceerd op 12.10.2001
Auteur: Kristian Rink
Vertaald door: Guus Snijders
Languages: en de
Help Ons!
 

USB-Scanner onder Linux, -een logboek-

USB plug
Je hebt fotografie als hobby, je hebt een computer maar je hebt geen scanner: dat is ondenkbaar. Aan de andere kant is de keuze van een scanner met minimale vereisten (gemiddelde kwaliteit en actief licht voor DIA's) niet makkelijk, zoals je zult zien...


Voorbeiding: De zwarte lijst

Uiteraad gaat de MsWin gebruiker naar de eerstvolgende winkel en koopt gewoon het apparaat dat hij wil, sluit het op zijn computer aan, installeert de drivers en is in de wereld van digital imaging.
Dit werkt in principe ook met Linux. De kritische stap is echter het installeren van de drivers daar deze door de bedrijven vaak slecht ondersteund worden. Het basis werk is dus het kiezen van een scanner die onder Linux werkt.

Wel, de meeste MsWin scanners zijn aangesloten op de parallelle poort en worden gebruikt met drivers die (a) een frustrerend lage scan-snelheid bieden en (b) niet compatibel zijn met andere besturingssystemen.
De parallelle poort oplossingen zijn buiten beschouwing gelaten, hoewel steeds meer apparaten ondersteund worden. Dit hebben we getest met een Plustek OpticPro en een Mustek ScanExpress. Deze werkten stabiel en waren goed geïntegreerd in SANE (1.0.3), maar hadden soms wat hardware werk nodig.
De geprefereerde oplossing, SCSI, moesten we overslaan omdat de geüpgrade PC geen SCSI apparaat meer vrij had.
De keus viel dus op USB en hoewel USB geen stabiele Linux feature was, lieten de eerste uitgebreide studies van de documentatie, de SANE driver lijst en de back-end beschrijvingen ons zien dat het een poging waard was.

Het apparaat dat aan alle eisen voldeed en een werkende driver had, was een EPSON Perfection 1200Photo, USB toegang werd ondersteund en de nodige hardware (DIA scan) zat erbij.

De installatie

Het eerste probleem dat we moesten oplossen was de hardware aansluiting. Dit omdat het gebruikte AT moederbord een speciale USB adapter gebruikte die alleen bij de fabrikant te krijgen was. Na een belletje met de hotline en een controle dat het probleem voldoende was opgelost, werd de scanner van de kabels voorzien.
De installatie van de scanner driver SANE werkte zonder problemen: de source-code ophalen, uitpakken en configuren. Daarna

  >> make && make install
  
en het hele pakket werd op de harde schijf geïnstalleerd.
Het meer interessante deel was het voorbereiden van de kernel voor USB ondersteuning. USB ondersteuning voor Linux zit in kernel 1.4.x en 2.2.19.

Laatste opmerking

De (seriële) USB oplossing blijkt verassend sneller dan een vergelijkbare SCSI versie. De kwaliteit van de afbeeldingen is perfect en zelfs de DIA setup kan met SANE worden aangestuurd. Opgenomen in GiMP of xsane als plug-in biedt de scanner tenminste dezelfde performance als met MsWin9x drivers en Photoshop 5 LE die was meegeleverd in het scanner pakket.

Linux-USB-Scanner checklist

  • Hardware keuze
    • Controleer de SANE driver lijst en kijk of de gewenste scanner wordt ondersteund in de USB versie! en welke features worden geboden.
    • Download eventueel de nieuwste software (SANE, patches) en installeer het zoals beschreven in de handleiding
  • Selectie en installatie van de software
    • Om USB met GNU/Linux te gebruiken, is het aan te raden een 2.2.19 of 2.4.x kernel te installeren.
    • Configureer de kernel: naast de gebruikelijke instellingen moeten de volgende features gekozen worden:
      • USB-ondersteuning moet worden ingeschakeld (direct of modulair)
      • Er moet tenminste 1 USB controller driver worden gekozen, afhankelijk van de hardware in de computer ( (UHCI voor Intel en VIA chipsets, OHCI voor ALI en SiS chipsets of iMacs).
        Bij twijfel, probeer
        >> cat /proc/pci | grep USB
      • USB-Scanner-Ondersteuning als module
  • Na-configuratie
    • Maak het device voor de USB scanner:
      >> mknod /dev/usbscanner0 c 180 48 ... mknod /dev/usbscanner15 c 180 63
      (doe dit als root)
    • Zet de permissies goed voor de gebruikte scanner: chmod 666 /dev/usbscanner0
    • Lees de documentatie van de scannerdriver voor informatie over parameters die nodig kunnen zijn voor de kernel modules.
    • Laadt de USB controller driver (indien gecompileerd als module):
      >> modprobe usb-uhci
      of
      >> modprobe usb-ohci
      • stel eventueel opties in voor de scanner driver zelf, hier is een voorbeeld voor de EPSON Perfection 1200U: Voeg de regel
        >> options scanner vendor=0x04b8 product=0x0104
        toe aan het bestand /etc/modules.config
      • Debian gebruikers: stel bovenstaande in in /etc/modutils/aliases en start
        >> update-modules
    • laadt de scanner driver
      modprobe scanner
    • Configureer SANE zoals beschreven in de documentatie, meestal bewerk je hiervoor (/usr)/etc/sane.d/<nameofscannerdriver>.conf
  • Test het
    • >> scanimage -L
      zou de naam van de scanner moeten geven en of het apparaat beschikbaar is. Nu kun je de scanner gebruiken met (x)scanimage of xsane of StarOffice of een ander programma dat kan scannen.

Wat valt er verder nog te zeggen?

Nu zou de gebruiker zijn plaatjes moeten kunnen digitaliseren met zijn scanner. Het kan zo gebruikt worden dat het werkt. In het ergste geval werkt het niet en zal hij zien dat zelfs een goede voorbereiding niet kan garanderen dat iets werkt met GNU/Linux. Helaas zijn de bedrijven veel meer geïnteresseerd in het ontwikkelen van erg goedkope scanners met USB ondersteuning die alleen werken met MsWin drivers. Zonder deze drivers is de hardware even bruikbaar als een koelkast in Antarctica. Het advies is hetzelfde als altijd: Controleer eerst of er een kans is dat het werkt met GNU/Linux, voordat je geld uitgeeft aan een scanner, of meer algemeen: met andere OS'en dan MsWin.

Links

Homepage van de SANE drivers (Scanner Access Now Easy)

Linux-USB - Website

USB-Scanner - Lijst voor SANE