Wie berichtet habe ich ja jetzt einen
HP Color LaserJet 2840 hier stehen, der zwar unter Linux einwandfrei scannt, aber unter Windows seit den guten alten XP-Zeiten nicht mehr unterstützt wird. (Will sagen, weder für Windows 10, 8.1, 8 oder 7 konnte ich irgendwelche funktionierenden Treiber auftreiben. Und Unter Windows 10 ist TWAIN mittlerweile wohl als so veraltet eingestuft, dass man - selbst wenn man die alten XP-Treiber irgendwie installiert bekommen würde - nichts davon hätte...)
Aber, wie gesagt, der Scanner läuft einwandfrei unter Linux. Also was liegt näher, das Gerät über eine Zwischenstation zu betrieben? In meinem Fall wäre das unser Raspberry Pi Server, der eh immer an ist.
Glücklicherweise gehören HP-Drucker/Scanner zu den wenigen Geräten, die eine ziemlich brauchbare Linux-Unterstützung haben. Ich würde so weit gehen, dass HPLIP unter Linux besser funktioniert und übersichtlicher ist, als das Windoof-Pendant. Vor allem lassen sich die nörigen Treiber auch unter was anderem als x86 ans Laufen kriegen, nämlich zB dem arm im Pi.
Hier also ein kleines und sehr kurzes How-To, hauptsächlich damit ich das selber nachvollziehen kann, wenn ich mich in ein paar Jahren frage, "Jung, watt haste jemaat?"
Auf dem Server: (CUPS hatte ich schon installiert und konfiguriert, deswegen führe ich das hier jetzt nicht weiter auf.)
# joe /etc/portage/package.usenet-print/hplip scanner snmp hpijs
dev-python/pillow tiff
media-gfx/sane-backends snmp
# joe /etc/make.conf SANE_BACKENDS="net"
# emerge -av sane-backends hplip
# hp-setup -i [IP des Druckers]
# joe /etc/sane.d/dll.conf # alle anderen backends auskommentieren
net
hpaio
# joe /etc/sane.d/saned.conf 192.168.0.0/24 # das komplette lokale Netz darf scannen
# joe /etc/sane.d/net.conf
[IP des Servers]
An der Stelle war dann erst mal Schicht im Schacht: Was immer ich versucht habe, weder
scanimage -L
noch
xsane
wollten mir den so eingerichteten Netzwerkscanner anzeigen, und das sowohl auf dem Server als auch auf dem Client.
...bis ich dann auf die Idee gekommen bin, das einfach zu ignorieren und das Device direkt manuell anzugeben:
scanimage -d "net:[IP des Servers:hpaio:/net/HP_Color_LaserJet_2840?ip=[IP des Druckers]" > test.pnm
liefert einen Testscan. Den gleichen Parameter kann man auch Xsane mit geben:
xsane "net:[IP des Servers]:hpaio:/net/HP_Color_LaserJet_2840?ip=[IP des Druckers]"
Auf dem Client:
Wenn der Client ein Linux ist, reicht es, das
net
-Backend in der
/etc/sane.d/dll.conf
zu aktivieren und die IP des Servers in
/etc/sane.d/net.conf
einzutragen.
Wenn der Client ein Windows ist... wird es etwas komplizierter. Vor allem, weil ich keine Binary-Version von Xsane gefunden habe, die einigermaßen aktuell ist. Zum Testen verwende ich eine 0.991, die ich im archive.org
[1] gefunden habe. Geht zwar, ist aber steinalt. Deshalb:
To Do:
Entweder Xsane für Windows aus den Quellen selber übersetzten (good luck with that!) oder es mal mit cygwin versuchen... Und vielleicht wäre irgendeine Lösung, die es ermöglicht, direkt aus einem Grafikprogramm heraus zu scannen, nicht falsch; SaneTwain ging bei mir leider irgendwie nicht.
PS:
SANEWinDS funktioniert hingegen hervorragend! Naja, für beliebige Werte von Hervorragend: Ist halt noch im Alpha-Stadium und so mancher Scan
sieht... seltsam aus! Aber das wird ja vielleicht noch besser...
[1] Archive.org von gd.tuwien.ac.at