Logo

Was mir sonst noch einfällt

Diascanner und Linux

Stand Februar 2020

Seit 2017 gibt es die Möglichkeit, diese Diascanner auch unter Linux zu betreiben. Dazu hat jemand ein "Backend" für Sane geschrieben, das den Namen hat: "pieusb". Das "Pie" kommt vom Namen der Firma "Pacific Image Electronics", die diese Scanner gebaut hat bzw. immer noch herstellt.

Es gehört dazu diese Beschreibungs-Datei in:

/usr/share/sane/descriptions/pieusb.desc

;
; SANE Backend specification file
;
; It's basically emacs-lisp --- so ";" indicates comment to end of line.
; All syntactic elements are keyword tokens, followed by a string or
;  keyword argument, as specified.
;
; ":backend" *must* be specified.
; All other information is optional (but what good is the file without it?).
;

:backend "pieusb"                 ; name of backend
:version "1.0 (unmaintained)"     ; version of backend
:new :no
:manpage "sane-pieusb"            ; name of manpage (if it exists)
:url "https://github.com/kkaempf/sane-backends"  ; backend's web page

:devicetype :scanner              ; start of a list of devices....
                                  ; other types:  :stillcam, :vidcam,
                                  ;               :meta, :api

:mfg "PIE"
:url "http://www.scanace.com"

:model "PowerSlide 3600"
:interface "USB"
:usbid "0x05e3" "0x0142"
:status :untested
:comment "Identical to Reflecta DigitDia 3600"

:model "PowerSlide 3650"
:interface "USB"
:usbid "0x05e3" "0x0142"
:status :basic
:comment "Identical to Reflecta DigitDia 4000"

:model "PowerSlide 4000"
:interface "USB"
:usbid "0x05e3" "0x0142"
:status :basic
:comment "Identical to Reflecta DigitDia 5000"

:model "PowerSlide 5000"
:interface "USB"
:usbid "0x05e3" "0x0142"
:status :basic
:comment "Identical to Reflecta DigitDia 6000"

:mfg "Reflecta"
:url "https://reflecta.de"

:model "Reflecta ProScan 10T"
:interface "USB"
:usbid "0x05e3" "0x0145"
:status :basic

:model "Reflecta ProScan 7200"
:interface "USB"
:usbid "0x05e3" "0x0145"
:status :good
:comment "Similar to PrimeFilm 7250 scanner from Pacific Image Electronics"

:model "CrystalScan 3600"
:interface "USB"
:usbid 0x05e3 0x0145
:status :basic

:model "CrystalScan 7200"
:interface "USB"
:status :untested

:model "Reflecta CrystalScan 7250"
:interface "USB"
:usbid "0x05e3" "0x0145"
:status :basic
:comment "Similar to PrimeFilm 7250 scanner from Pacific Image Electronics"

:model "DigitDia 3600"
:interface "USB"
:usbid "0x05e3" "0x0142"
:status :untested
:comment "Identical to Pacific Image Electronics PowerSlide 3600 scanner"

:model "DigitDia 4000"
:interface "USB"
:usbid "0x05e3" "0x0142"
:status :basic
:comment "Identical to Pacific Image Electronics PowerSlide 3650 scanner"

:model "DigitDia 5000"
:interface "USB"
:usbid "0x05e3" "0x0142"
:status :untested
:comment "Identical to Pacific Image Electronics PowerSlide 4000 scanner"

:model "Reflecta DigitDia 6000 Multiple Slide Scanner"
:interface "USB"
:usbid "0x05e3" "0x0142"
:status :good
:comment "Identical to Pacific Image Electronics PowerSlide 5000 scanner"

; :comment and :url specifiers are optional after :mfg, :model, :desc,
;  and at the top-level.

Schließt man den eingeschalteten Scanner an den PC an, dann bekommt man mit dmesg ungefähr folgende Ausgabe am Bildschirm:

hartmut@Jupiter:~>dmesg

[ 9494.653068] usb 3-1.2: new high-speed USB device number 6 using ehci-pci
[ 9494.763002] usb 3-1.2: New USB device found, idVendor=05e3, idProduct=0142
[ 9494.763009] usb 3-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0

Es gibt auch den Befehl lsusb, der allerdings nicht zu lange nach dem Einschalten eingegeben werden darf, denn der Scanner stellt bei Nichtbeachtung seine Kommunikation ein:

hartmut@Jupiter:~> lsusb

Bus 003 Device 006: ID 05e3:0142 Genesys Logic, Inc. Multiple Slides Scanner-3600

In beiden Ausgaben ist die ID des Gerätes enthalten, bei dmesg deutlich gekennzeichnet:

Das muss passen mit den Geräten, die in dieser Datei eingetragen sind:

/etc/sane.d/pieusb.conf

# pieusb.conf: Configuration file for PIE/Reflecta USB scanner
# Read man sane-pieusb for documentation

# Format
# usb    
#
# Autodetect (built-in)
# Reflecta DigitDia 6000 Multiple Slide Scanner
# usb 0x05e3 0x0142 0x3a 0x01
# Reflecta CrystalScan 7200
# usb 0x05e3 0x0145 0x30 0x00
# Reflecta ProScan 7200
# usb 0x05e3 0x0145 0x36 0x00
#
# Reflecta ProScan 10T
usb 0x05e3 0x0145 0x47 0x00
# Reflecta CrystalScan 3600
usb 0x05e3 0x0145 0x2e 0x00
# Reflecta DigitDia 4000
usb 0x05e3 0x0142 0x2f 0x00
# Reflecta DigitDia 5000
usb 0x05e3 0x0142 0x2f 0x00

Der Scanner ist ein USB-Gerät und dafür braucht man eine Regel, die beim Anschließen gilt. Diese Regel wirst Du wahrscheinlich selbst neu schreiben müssen als root in diese Datei:

/usr/lib/udev/rules.d/40-libsane.rules

# Herstellername oder Bezeichnung
ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="0142", ENV{libsane_matched}="yes"

Jetzt fehlt noch ein kleine Änderung in der Datei, in der zwar alle Scanner eingetragen sind, aber alle sind auskommentiert und damit nicht aktiv. Bei den aktiven muss man die Kommentar-Raute entfernen:

/etc/sane.d/dll.conf

...
#nec
#niash
#p5
#pie
pieusb
#pint
#pixma
#plustek
...

Das sollte es gewesen sein. Jetzt startest Du den Rechner sicherheitshalber neu, damit der die Regeln auch wirklich einliest. Dann schaltest Du den Scanner aus und wieder an, damit er wieder "mit Deinem Rechner spricht". Und anschließend gibst Du auf der Konsole ein sane-find-scanner und ungefähr folgendes sollte dabei rauskommen:

hartmut@Jupiter:~> sane-find-scanner 

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.
...

could not open USB device 0x8087/0x07dc at 003:005: Access denied (insufficient permissions)
found USB scanner (vendor=0x05e3, product=0x0142) at libusb:003:007
could not open USB device 0x04f2/0xb2bb at 003:003: Access denied (insufficient permissions)

...

  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.
  
Sane sucht Gerät

Wenn das soweit stimmt, dann wird es Zeit, Sane zu starten (Menü/Grafik/Xsane) und dann sollte das Programm nach Geräten suchen und dann starten:

Das sollte jetzt auf Deinem Monitor zu sehen sein:

Xsane arbeitet

Wichtige Hinweise:

Bis hierher bin ich mit dem Scanner an einem USB-3.0-Anschluss gekommen. Wenn ich einen Scanauftrag abgeschickt habe, dann fing der Scanner an, blieb aber nach dem Kalibrieren stehen und blinkte langsam vor sich hin. Er gab dann keinen Mucks mehr von sich und Xsane gab nach einiger Zeit auf. Ich habe dann mal den USB-Stecker in eine USB-2.0-Dose gesteckt und ausprobiert, was passiert. An USB 2 funktioniert das Ganze.

Die Funktion "Advance slide", die dafür sorgen soll, dass der Scanner nach dem eigentlichen Scan zum nächsten Dia wechselt, funktioniert bei mir nicht.

Hilfreiche Websiten:

Viel Erfolg beim Nachmachen ...