📡eSCL, WSD, TWAIN, WIA & Co.

SANE ist nicht die einzige Art, einen Scanner anzusprechen. Moderne Multifunktionsgeräte scannen treiberlos über HTTP, Windows und macOS haben eigene Schnittstellen – und SANE kann über Backends wie airscan und escl alle treiberlosen Geräte nutzen.

🍏eSCL (AirScan) Schritt für Schritt

eSCL ist ein REST-artiges Protokoll: Fähigkeiten und Status als XML abfragen, Auftrag per POST anlegen, Bild per GET abholen.
eSCL rechnet in 1/300 Zoll: 210 mm → 2480, 297 mm → 3508
Schritt 1 / 6 · Tasten ← →

1 · Gerät finden (mDNS / DNS-SD)

Client → Scanner
Frage (Multicast 224.0.0.251:5353):
  PTR _uscan._tcp.local ?
Scanner → Client
Antwort:
  PTR  _uscan._tcp.local → Buero-MFP._uscan._tcp.local
  SRV  Buero-MFP._uscan._tcp.local → scanner.example.org:80
  A    scanner.example.org → 192.0.2.40
  TXT  rs=eSCL  vers=2.63  pdl=application/pdf,image/jpeg
       cs=color,grayscale,binary  is=platen,adf  duplex=T

Scanner kündigen sich per Multicast-DNS als _uscan._tcp an (mit TLS: _uscans._tcp). Der TXT-Eintrag rs nennt den Basispfad der Schnittstelle, cs/is/pdl Farbmodi, Quellen und Dateiformate.

Gekürztes Beispiel mit erfundenem Gerät (scanner.example.org, 192.0.2.40).

⚖️Vergleich der Schnittstellen

SchnittstellePlattformTechnikNetzwerk / SucheBesonderheit
SANELinux, BSD, Unix (auch macOS)C-Bibliothek: Frontend ↔ libsane ↔ Backendsaned / net-Backend (TCP 6566)Backend je Gerätefamilie; Bedienung und Treiber strikt getrennt
eSCL (AirScan)geräteseitig; Clients unter macOS, iOS, Linux, Android (Mopria)HTTP(S) + XML, Bild als JPEG/PDF/PNGmDNS/DNS-SD _uscan._tcptreiberlos; von Apple eingeführt, Spezifikation von der Mopria Alliance veröffentlicht
WSD (WS-Scan)Windows ab Vista, Linux über sane-airscanSOAP über HTTPWS-Discovery (UDP 3702, Multicast)treiberlos, Teil von Microsofts „Web Services on Devices“
TWAINWindows, macOSData Source Manager lädt „Data Source“ (Herstellertreiber, meist mit eigener Oberfläche)nur über Hersteller-Lösungenseit 1992; TWAIN Working Group; neuer: TWAIN Direct (treiberlos)
WIAWindows (ab Me/XP, WIA 2.0 ab Vista)COM-Schnittstelle, Windows-Dialog „Windows-Fax und -Scan“über WSD-GeräteMicrosofts Standard-Bildaufnahme-API
ImageCaptureCoremacOSObjective-C/Swift-Framework (ICDeviceBrowser, ICScannerDevice)Bonjour (eSCL)Grundlage von „Digitale Bilder“ (Image Capture) und Vorschau-Import
💡 Warum SANE und nicht TWAIN?
Laut sane-project.org trennt TWAIN die Bedienoberfläche nicht vom Treiber. Dadurch ist Scannen über das Netz oder von der Kommandozeile kaum möglich. SANE trennt beides sauber – umgekehrt lässt sich ein SANE-Gerät problemlos als TWAIN-Quelle anbieten.
✅ sane-airscan oder escl?
Beide sprechen eSCL. sane-airscan kann zusätzlich WSD, findet Geräte automatisch per mDNS/WS-Discovery und wird von vielen Distributionen empfohlen; escl ist seit 1.0.29 Teil von sane-backends.

🔌USB-Geräteklassen

Klasse / Unterklasse / ProtokollBedeutungFolge für Scanner
0xFFherstellerspezifischDie meisten klassischen Scanner. Das Befehlsprotokoll ist nicht genormt – ein SANE-Backend muss es kennen (oft durch Mitschneiden des USB-Verkehrs ermittelt).
0x07 / 0x01 / 0x04Drucker, Protokoll IPP over USBModerne Multifunktionsgeräte: HTTP über USB. Der Dienst ipp-usb stellt das Gerät lokal als Netzwerkgerät bereit – dann funktionieren eSCL-Backends auch per Kabel.
0x06Still Image (PTP)Vor allem Digitalkameras; unter SANE über das gphoto2-Backend bzw. direkt mit libgphoto2.
$ lsusb -v -d 1234:5678 | grep -E 'bInterface(Class|SubClass|Protocol)'
      bInterfaceClass         7 Printer
      bInterfaceSubClass      1 Printer
      bInterfaceProtocol      4
      …                                  ← IPP over USB: ipp-usb + eSCL möglich
(Gerät und IDs erfunden)

🧰Treibersituation unter Linux

✅ sane-backends

Die freien Backends unterstützen sehr viele Geräte. Die Liste der unterstützten Geräte auf sane-project.org bewertet jedes Modell (complete, good, basic, minimal, untested, unsupported).

📦 Herstellertreiber

Einige Hersteller liefern eigene SANE-Backends, oft unfrei und nur für x86: z. B. HPLIP (hpaio) von HP, brscan von Brother, Epson Scan 2 von Epson. Sie tragen sich über /etc/sane.d/dll.d/ ein.

🌐 Treiberlos

Neue Multifunktionsgeräte mit AirPrint/Mopria-Logo können fast immer eSCL – per WLAN/LAN direkt, per USB mit ipp-usb. Dann braucht man gar keinen Gerätetreiber mehr.