sane-pixma(5) SANE Scanner Access Now Easy sane-pixma(5)

sane-pixma - SANE-Backend für Canon Multifuktionsdrucker und CanoScan-Scanner

Die Bibliothek sane-pixma implementiert ein SANE-(Scanner Access Now Easy) Backend zum Zugriff auf Canon PIXMA / i-SENSYS / imageCLASS / imageRUNNER-Multifunktionsgeräte (Drucker mit Scanner) und die Canon CanoScan-Flachbett/TPU-Scanner. Das Backend implementiert sowohl die USB- als auch die Netzwerkschnittstelle (mittels der Protokolle BJNP und MFNP). Die Netzwerkschnittstelle unterstützt Scanner über IPv4 als auch IPv6 (MFNP über IPv6 wurde nicht getestet).

Gegenwärtig funktionieren die folgenden Scanner mit diesem Backend:

PIXMA E410, E510, E4500
PIXMA G600, G2000, G2010, G2100, G4000, G4511
PIXMA GX6000, GX7000
PIXMA MG2100, MG2200, MG2400, MG2500, MG2900, MG3000, MG3100
PIXMA MG3200, MG3500, MG3600, MG4200, MG5100, MG5200, MG5300
PIXMA MG5400, MG5500, MG5600, MG5700, MG6100, MG6200, MG6300
PIXMA MG6400, MG7100, MG7500, MG7700, MG8200
PIXMA MP140, MP150, MP160, MP170, MP180, MP190
PIXMA MP210, MP220, MP230, MP240, MP250, MP260, MP270, MP280
PIXMA MP360, MP370, MP390
PIXMA MP450, MP460, MP470, MP480, MP490, MP495
PIXMA MP500, MP510, MP520, MP530, MP540, MP550, MP560
PIXMA MP600, MP600R, MP610, MP620, MP630, MP640
PIXMA MP700, MP710, MP730, PIXMA MP750 (keine Graustufen)
PIXMA MP800, MP800R, MP810, MP830
PIXMA MP960, MP970, MP980, MP990
PIXMA MX300, MX310, MX330, MX340, MX350, MX360, MX370
PIXMA MX410, MX420, MX470, MX510, MX520, MX530, MX700, MX720
PIXMA MX850, MX860, MX870, MX882, MX885, MX890, MX920, MX7600
PIXMA TR4500, TR4600, TR4700
PIXMA TS2400, TS2600, TS3100, TS3300, TS3450, TS3451, TS3452
PIXMA TS3500, TS5000, TS5100, TS5350i, TS5400, TS6100, TS6200
PIXMA TS7530, TS7450i ,TS8000, TS8530, TS8200
PIXUS MP10
imageCLASS MF634Cdw, MF733Cdw
imageCLASS MF3110, MF3240, MF4010, MF4018
imageCLASS MF4120, MF4122, MF4140, MF4150
imageCLASS MF4270, MF4350d, MF4370dn, MF4380dn
imageCLASS MF4410, MF4430, MF4570dw, MF4660, MF4690
imageCLASS MF5730, MF5770, MF6550, MPC200
imageCLASS D420, D480, D530, D570
i-SENSYS MF210, MF230, MF240, MF440, MF620, MF630, MF640
i-SENSYS MF645C, MF730, MF731/733, MF741/743
i-SENSYS MF3010, MF4320d, MF4330d, MF4500, MF4700, MF4800
i-SENSYS MF6100, MF8030, MF8200C, MF8300
imageRUNNER 1018/1022/1023, 1020/1024/1025, 1133
CanoScan 8800F, 9000F, 9000F Mark II
CanoScan LiDE 300, 400
MAXIFY MB2000, MB2100, MB2300, MB2700, MB5000, MB5100, MB5400

Die folgenden Modelle sind nicht gut getestet und/oder der Scanner hängt manchmal und muss aus- und wieder eingeschaltet werden:

PIXMA MP760, MP770, MP780, MP790

Die folgenden Modelle könnten das gleiche Pixma-Protokoll wie die oben aufgeführten verwenden, aber es gab noch keine Berichte, ob sie funktionieren (oder nicht). Sie werden im Backend angegeben, so dass sie erkannt und aktiviert werden. Rückmeldungen (auf Englisch) sind auf der Sane-Devel-Mailingliste willkommen.

PIXMA E400, E460, E470, E480, E500, E560, E600, E610
PIXMA E3100, E3300, E3400, E4200
PIXMA G2020, G2060, G3020, G3060, G7000, G7080
PIXMA MG4100, MG6500, MG6600, MG6800, MG6900, MG8100
PIXMA MP375R, MP493, MP740
PIXMA MX320, MX390, MX430, MX450, MX490, MX710
PIXMA G3000, G3010, G4010, G6000, G6080, G7000, GM4000, GM4080
PIXMA TR7500, TR7530, TR7600, TR8500, TR8530, TR8580, TR8600
PIXMA TR8630, TR9530
PIXMA TS3400, TS5100, TS6000, TS6130, TS6180, TS6230, TS6280, TS6300
PIXMA TS6330, TS6330, TS6380, TS6400, TS7330, TS7400, TS7430, TS8100
PIXMA TS8130, TS8180, TS8230, TS8280, TS8300, TS8330, TS8380, TS9000
PIXMA TS9100, TS9180, TS9500, TS9580
PIXUS MP5, XK50, XK60, XK70, XK80, XK90, XK100, XK500
imageCLASS MF720, MF810/820, MF5630, MF5650, MF5750, MF8170c
imageCLASS MPC190, D550
i-SENSYS MF110, MF220, MF260, MF410, MF420, MF510, MF520, MF740
i-SENSYS MF5880dn, MF5900, MF6680dn, MF8500C
MAXIFY MB5300

Die folgenden Modelle könnten teilweise das gleiche Pixma-Protokoll wie die anderen, oben aufgeführten Geräte verwenden, bedürfen aber noch weiterer Arbeit. Die sind im Backend als experimentell gekennzeichnet und benötigen die Umgebungsvariable PIXMA_EXPERIMENT=1, damit sie erkannt und aktiviert werden. Mitschnitte des Datenverkehrs werden benötigt, um das weiter zu untersuchen. Bitte kontaktieren Sie (auf Englisch) die Sane-Devel-Mailingliste.

-- keine --

Das Backend unterstützt:

* die Auflösungen 75, 150, 300, 600, 1200, 2400, 4800 und 9600 DPI (einige könnten fehlerhaft sein),
* Farb- und Graustufenmodi, sowie Strichzeichnungen auf bestimmten Modellen,
* eine angepasste Gammatabelle,
* automatischen Dokumenteneinzug, simplex (einseitig) und duplex (doppelseitig),
* Transparenzeinheit, 24 oder 48 bit tief. Infrarotkanal bei bestimmten Modellen.

Der Gerätename für USB-Geräte hat die Form pixma:xxxxyyyy_zzzzz, wobei x, y und z die Lieferantenkennung, die Produktkennung bzw. die Seriennummer sind.

Beispiel: pixma:04A91709_123456 ist ein MP150.

Gerätenamen für BJNP/MFNP-Geräte haben die Form pixma:aaaa_bbbbb, wobei aaaa das Scannermodell und bbbb der Rechnername oder die IP-Adresse ist.

Beispiel: pixma:MF4800_192.168.1.45 ist ein MF4800-Series-Multifunktions-Peripherigerät.

Dieses Backend, basierend auf geklontem Canon-Treiber-Protokoll, ist im Produktionzustand. Die Entwicklung erfolgte ohne irgendwelche passende Herstellerdokumentation, wahrscheinlich ist diese nie verfügbar. Allerdings haben wir es so gut wie möglich getestet, es könnte aber in manchen Situationen nicht funktionieren. Sie finden den aktuellen Status auf der Projekt-Homepage (siehe unten). Wir sind auf die Rückmeldungen der Benutzer angewiesen, um die Funktionalitäten und die Leistung zu verbessern.

Neben »gut bekannten« Optionen (z.B. Auflösung, Modus usw.) stellt das Backend sane-pixma auch die folgenden Optionen bereit, d.h. die Optionen können sich in der Zukunft ändern.
Der Status der Geräteknöpfe kann z.B. mit scanimage -A abgefragt werden.
Unter MAC OS X ist das Scannen per Knopf deaktiviert, da Libusb beim Lesen von USB-Interrupts keine Zeitüberschreitungen beachtet; es könnte aber über das Netzwerkprotokoll funktionieren.

Diese Option aktiviert und setzt die Zeit in Sekunden, die gewartet werden soll, bis ein Dokument in den automatischen Dokumenteneinzug (ADF) eingelegt wird. Die maximal erlaubte Wartezeit ist 3600 s (= 1 Stunde).
Diese Option kann von Anwendungen (wie scanadf(1) und scanimage(1)) im Stapelmodus verwendet werden, beispielsweise wenn Sie viele Fotos oder mehrseitige Dokumente scannen möchten. Falls sie aktiviert ist (d.h. sie auf »true« oder »yes« gesetzt ist), wartet das Backend vor jedem Scan, bis der Benutzer den »SCAN«-Knopf (für den MP150) oder den Farbscanknopf (für andere Modelle) drückt. Legen Sie einfach die erste Seite in den Scanner, drücken Sie den Knopf, dann die nächste Seite, drücken Sie den Knopf und so weiter. Wenn Sie fertig sind, drücken sie den Grau-Scan-Knopf. (Beispielsweise stoppen Sie die Oberfläche durch Drücken von Strg-C bei dem MP150.)
(nur schreibend) Früher musste diese Option gesetzt werden, um das Lesen des Knopfstatus für button-1 und button-2 zu erzwingen. Das Backend sane-pixma benötigt die Verwendung dieser Option nicht mehr: Falls keine frischen Daten verfügbar sind, wird es sie jetzt automatisch vom Scanner anfordern. Diese Option verblieb aus Gründen der Rückwärtskompatibilität.
(nur lesend) Diese Optionen liefern den Wert der entsprechenden Knöpfe zurück. Ein Wert 0 bedeutet, dass der Knopf nicht gedrückt wurde; 1 wird zurückgeliefert, wenn der Knopf gedrückt wurde. Einige Scanner mit mehr als zwei Knöpfen schicken die Knopfnummer als Ziel.
(nur lesend) Liefert den Wert des Typs oder die Größe des zu scannenden Originals zurück, falls der Scanner diese Daten bereitstellt. Bekannte Werte für Typ: 1 = Dokument, 2 = Foto, 5 = Film. Bekannte Werte für Größe: 1 = A4, 2 = Letter, 8 = 10x15, 9 = 13x18, b = automatisch. Nicht alle Scanner können diese Daten bereitstellen.
(nur lesend) Liefert den Wert des Ziels der Scanaktion zurück, falls der Scanner diese Daten bereitstellt. Die Werte hängen vom Scannertyp ab. Bekannte Werte: 1 = auf Platte speichern, 2 = als PDF speichern, 3 = als E-Mail senden, 4 = an Anwendung senden oder 1 = JPEG, 2 = TIFF, 3 = PDF, 4 = kompaktes PDF. Für einige Scanner ist dieser Wert äquivalent zu der Anzahl der gedrückten Knöpfe. Nicht alle Scanner können diese Daten bereitstellen.
(nur lesend) Liefert die Auflösung der Scanaktion zurück, falls der Scanner diese Daten bereitstellt. Bekannte Werte: 1 = 75 DPI, 2 = 150 DPI, 3 = 300 DPI, 4 = 600 DPI. Nicht alle Scanner können diese Daten bereitstellen.
(nur lesend) Liefert den Typ des gescannten Dokumentes zurück, falls der Scanner diese Daten bereitstellt. Bekannte Werte: 1 = Dokument, 2 = Foto, 3 = automatischer Scan. Nicht alle Scanner können diese Daten bereitstellen.
(nur lesend) Liefert den Status des Dokumenteneinzugs, falls der Scanner die Daten bereitstellt. Bekannte Werte: 1 = ADF leer, 2 = ADF gefüllt. Nicht alle Scanner können diese Daten bereitstellen.
(nur lesend) Liefert die Scan-Orientierung des vom ADF gescannten Mediums, falls der Scanner die Daten bereitstellt. Bekannte Werte: 1 = Hochformat, 2 = Querformat. Nicht alle Scanner können diese Daten bereitstellen.

/usr/lib/sane/libsane-pixma.a
Die statische Bibliothek, die dieses Backend implementiert.
/usr/lib/sane/libsane-pixma.so
Die dynamische Bibliothek, die dieses Backend implementiert (auf Systemen verfügbar, die dynamisches Laden unterstützen).
/etc/sane.d/pixma.conf
Die Backend-Konfigurationsdatei (siehe auch die nachfolgende Beschreibung von SANE_CONFIG_DIR).

Die Datei enthält eine optionale Liste von Netzwerkscannern, die die Protokolle BJNP oder MFNP verwenden. (Details zur Netzwerkunterstützung für Scanner finden Sie nachfolgend.) Normalerweise werden hier nur Scanner aufgeführt, die nicht automatisch erkannt werden, da sie in einem anderen Subnetz sind. Falls Sie nicht Linux verwenden und Ihr Betriebssystem keine Aufzählung von Schnittstellen erlaubt (d.h. es nicht die Funktion getifaddrs() unterstützt), könnte es ebenfalls notwendig sein, Ihren Scanner hier hinzuzufügen.

Scanner müssen in der Konfigurationsdatei wie folgt aufgeführt werden:

<Methode>://<Rechner>[:Port][/Zeitüberschreitung=<Wert>]

Methode kennzeichnet das verwendete Protokoll (bjnp wird für Tintenstrahl-Multifunktionsgeräte und mfnp wird für Laser-Multifunktionsgeräte verwendet).

Rechner ist der Rechnername oder die IP-Adresse des Scanners, z.B. bjnp://10.0.1.4 für IPv4, bjnp://[2001:888:118e:18e2:21e:8fff:fe36:b64a] für eine wörtliche IPv6-Adresse oder bjnp://meinscanner.meinedomain.org für einen Rechnernamen.

Portnummer ist optional und normalerweise durch die Methode impliziert. Port 8610 ist der Standard-Port für MFNP, 8612 für BJNP.

bjnp-timeout ist ein Scanner-spezifischer Wert für die Zeitüberschreitung im Netzwerkprotokoll. Der Wert wird in ms angegeben.

Definieren Sie einen Scanner pro Zeile.

Mit dem Parameter bjnp-timeout können globaler anwendbare Zeitüberschreitungen wie folgt gesetzt werden:

bjnp-timeout=<Wert>

Eine mittels bjnp-timeout definierte Zeitüberschreitung wird für die nachfolgenden Scanner-Definitionen in der Datei gelten. Falls notwendig, kann die Einstellung bjnp-timeout mehrfach definiert werden, wobei jede Einstellung für die Scanner gilt, die der Einstellung folgen. Die letzte Einstellung wird für automatisch erkannte Scanner verwendet. Falls nicht explizit gesetzt, wird die Vorgabeeinstellung von 1000 ms angewandt.

Das Setzen von Zeitüberscheitungen sollte nur in Ausnahmefällen notwendig sein.

Falls gewünscht, kann die Vernetzung wie folgt deaktiviert werden:

  • Falls die erste Zeile, die kein Kommentar ist, networking=no enthält, wird sämtliche Vernetzung deaktiviert. Damit werden alle nachfolgenden Aussagen in der Konfigurationsdatei ignoriert.
  • Eine Zeile, die auto_detection=no enthält, führt zum Überspringen der automatischen Erkennung. Explizit definierte Netzwerkscanner werden weiterhin untersucht.

USB-Scanner werden automatisch erkannt und erfordern keine Konfiguration.

Das Backend sane-pixma unterstützt Netzwerk-Scanner mittels der sogenannten Protokolle Canon BJNP und MFNP.

Canon scheint die Unterstützung für diese Protokolle in neueren Scannern zu entfernen. Um zu überprüfen, ob Ihr Scanner eines dieser Protokolle unterstützt, überprüfen Sie den Inhalt des Diensteeintrags _scanner._tcp in mDNS/DNS-SD (beispielsweise mittels avahi-discover(1)). Falls er nicht Port 8610 oder 8612 auflistet, unterstützt Ihr Scanner wahrscheinlich die Protokolle MFMP oder BJNP nicht.

Sowohl IPv4 als auch IPv6 werden unterstützt, aber IPv6 ist mit MFNP noch ungetestet. Bitte berichten Sie Ihre Ergebnisse auf Englisch auf der Mailingliste.

Normalerweise wird keine Konfiguration benötigt. Das Backend sane-pixma wird Ihren Scanner automatisch erkennen, falls er sich im gleichen Subnetz wie Ihr Computer befindet und Ihr Betriebssystem das unterstützt.

Falls Ihr Scanner nicht automatisch erkannt werden kann, können Sie ihn zu der Konfigurationsdatei sane-pixma hinzufügen (siehe oben).

Das Backend sane-pixma kommuniziert mit Port 8610 für MFNP oder Port 8612 für BJNP auf dem Scanner. Daher müssen Sie ausgehenden Verkehr ZU Port 8610 oder 8612 auf dem gemeinsamen Subnetz zum Scannen erlauben.

Die Scanner-Erkennung ist etwas komplizierter. Das Backend sane-pixma sendet ein Broadcast auf allen direkt verbundenen Subnetzen, die es finden kann (vorausgesetzt, Ihr Betriebssystem erlaubt die Aufzählung aller Netzwerkschnittstellen). Der Broadcast wird VON Port 8612 ZU Port 8610 oder 8612 auf der Broadcast-Adresse jeder Schnittstelle gesendet. Das ausgehende Paket wird gemäß der oben beschriebenen Regel erlaubt werden.

Antworten vom Scanner werden zurück zum Computer AN Port 8612 gesendet. Verbindungsnachverfolgung wird allerdings keine Treffer erkennen, da die Antwort nicht von der Broadcast-Adresse, sondern von der Adresse des Scanners kommt. Zur automatischen Erkennung Ihres Scanners müssen Sie daher eingehende Pakete AUF Port 8612 auf Ihrem Computer erlauben. Dies gilt sowohl für MFNP als auch für BJNP.

In aller Kürze: Öffnen Sie Ihre Firewall für sämtlichen Datenverkehr von Ihrem Computer an Port 8610 (für MFNP) oder 8612 (für BJNP) UND zu Port 8612 (für sowohl BJNP als auch MFNP) an Ihren Computer.

Mit den obigen Firewall-Regeln ist es nicht notwendig, den Scanner zu der Datei pixma.conf hinzuzufügen, außer der Scanner ist in einem Netzwerk, das nicht direkt an Ihren Computer angeschlossen ist.

Falls die Bibliothek mit Debug-Unterstützung kompiliert wurde, steuert diese Umgebungsvariable die Debug-Stufe für dieses Backend selbst. Höhere Werte erhöhen die Ausführlichkeit und schließen die Informationen ein, die auch bei niedrigeren Stufen ausgegeben werden.
0 keine Ausgabe (Vorgabe)
1 Fehler und Warnungen ausgeben (empfohlen)
2 Informative Meldungen ausgeben
3 Debug-artige Meldungen ausgeben
4 ausführliche Debug-artige Meldungen ausgeben
11 USB-Datenverkehr rausgeben
21 vollständigen USB-Datenverkehr rausgeben
Falls die Bibliothek mit Debug-Unterstützung kompiliert wurde, steuert diese Umgebungsvariable die Debug-Stufe für die Netzwerkprotokolle BJNP und MFNP für dieses Backend. Höhere Werte erhöhen die Ausführlichkeit und schließen die Informationen ein, die auch bei niedrigeren Stufen ausgegeben werden.
0 keine Ausgabe (Vorgabe)
1 Fehler- und Warnmeldungen ausgeben (empfohlen)
2 abstrakte Funktionsnachverfolgungsinformationen ausgeben
3 detailliertere Protokollnachverfolgungsinformationen ausgeben
4 Protokollkopfdaten ausgeben
4 vollständige Protokollinhalte ausgeben
Durch Setzen auf einen von Null verschiedenen Wert wird die experimentelle Unterstützung für weitere Modelle aktiviert. Sie sollten auch SANE_DEBUG_PIXMA auf 11 setzen.
Diese Umgebungsvariable gibt eine Liste von Verzeichnissen an, die die Konfigurationsdatei enthalten können. Auf *NIX-Systemen sind die Verzeichnisse durch Doppelpunkte (:) getrennt, unter OS/2 durch Semikola (;). Falls diese Variable nicht gesetzt ist, wird in zwei Standardverzeichnissen nach der Konfigurationsdatei gesucht: zuerst im aktuellen Arbeitsverzeichnis (.) und dann in /etc/sane.d. Falls der Wert der Umgebungsvariable mit dem Verzeichnis-Trennzeichen endet, dann werden die Standardverzeichnisse nach den explizit angegebenen Verzeichnissen durchsucht. Wenn Sie beispielsweise SANE_CONFIG_DIR auf »/tmp/config:« setzen, wird in den Verzeichnissen »tmp/config«, ».« und »/etc/sane.d« gesucht (in dieser Reihenfolge).

sane(7), sane-dll(5), scanimage(1), scanadf(1), gamma4scanimage(1), getifaddrs(3)

Im Falle von Problemen mit einem neueren Pixma-Modell probieren Sie den neusten Code des Backends sane-pixma aus, der im Sane-Git-Depot verfügbar ist:
https://gitlab.com/sane-project/backends.git

Sie können auch auf der Sane-devel-Mailingliste auf Englisch um Unterstützung bitten.

Wittawat Yamwong, Nicolas Martin, Dennis Lou, Louis Lagendijk, Rolf Bensch

Wir möchten allen Testern und Helfern danken. Ohne sie wären wir nicht in der Lage, Untertreiber für Modelle zu schreiben, die wir nicht besitzen. Siehe auch die Projekt-Homepage.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

15. August 2020