• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Agfa-Scanner im Linux-Netzwerk freigeben

Hallo!

Dies ist mein erstes Posting.
Da ich kein "Hallo-hier-bin-ich-Brett" gefunden habe, fange ich einfach sofort an ;)

Ich bin vor etwa 2 wochen von WinXP auf Linux umgestiegen.
Was unter Linux nicht funktioniert mache ich mit VMware-Player in einer virtuellen Maschine. Dies ist allerdings nur eine Behelfslösung.

Ich möchte unabhängig von XP (und wichtiger "Vista") sein.
(Meinen CanonIP3000-Drucker habe ich leider nur mit Turboprint mit vernünftiger Qualität zum Druck überreden können)

Zur Unabhängigkeit gehört allerdings auch der Scanner.

Problem:
Ich nutze Suse 10.1 mit aktuellem Kernel ohne Modifikationen und versuche einen Agfa-Snapscan 1212u (USB) mit Linux zu nutzen.

Dafür habe ich Sane installiert incl. Backend für "snapscan".
Der Scanner funktioniert sehr gut (nach Firmware-Upload) mit sane und gimp etc.

Nun möchte ich den Scanner im lokalen Linux-Netz nutzen.
Der Scanner wird korrekt in der Tabelle angezeigt und ist aktiv.
Für die Freigabe habe ich in Yast im Bereich "Hardware/Scanner" unter "Andere" den Punkt "Scannen via Netzwerk" gewählt..
Im nachfolgenden Dialog.habe ich im Bereich "Zulässige Clients" meinen zweiten Rechner eingetragen, bzw. dessen IP-Adresse.
Danach habe ich den Dialog geschlossen.
Yast hat scheinbar automatisch "xinetd" aktiviert und dort den sane-Port eingeschaltet.
Ich denke so sollte es sein.

Auf meinem zweiten Rechner habe ich in yast/Hardware/Scanner noch keinen Scanner eingetragen, denn dort ist kein Scanner angeschlossen.
Deshalb habe ich im Bereich "Andere" den Punkt "Scannen via Netzwerk" gewählt und dort im Feld "Client-einstellungen" den Rechner eingetragen an dem der Scanner angeschlossen ist, also die IP-Adresse.
Da meine beiden Rechner am DSL-Router hängen und im selben Subnet hängen, sollte die Firewall keine Probleme haben...denke ich.

Trotzdem meldet mir Sane auf dem zweiten Rechner...nach etwa 10 Minuten Netzwerkscan....."Kein Scanner gefunden"

Kann mir jemand helfen?
Wie gesagt, am Hauptrechner funktioniert der Scanner einwandfrei.

Grüsse

Bigtux
 
Bigtux schrieb:
Nun möchte ich den Scanner im lokalen Linux-Netz nutzen.

Jetzt finde ich bei der Suche meinen eigenen alten Thread....und bin heute immer noch nicht weiter :(

Inzwischen auf opensuse10.2 gelingt mir die Netzfreigabe des Scanners immer noch nicht.

Serverseite:
Sane ist installiert, Firewall läßt den Port 6566 lokal ungefiltert.
xinetd ist aktiviert.
Als Clients sind in der saned.conf nur localhost und der andere beteiligte Rechner zugelassen.
Probiere ich
Code:
telnet localhost 6566
so kommt eine Verbindung zustande und wird nicht abgebrochen.
Erst <strg><c> beendet diese.
Ich schließe daraus, der sanedaemon nimmt Aufträge an?

Client-Seite:
Sane ist installiert, Firewall ok,.
In der datei /etc/sane.d/dll.conf ist nur die zeile "net" aktiv, alles andere auskommentiert. In /etc/sane.d/net.conf ist der Server eingetragen.
Probiere ich
Code:
telnet 192.168.xx.xx 6566
So steht die Verbindung bis ich sie beende.

Allerdings findet Xsane keinen Scanner.
Sowohl auf dem Server, als auch auf dem Client wird in Yast unter /Hardware/Scanner in der Zeile "net" kein passender Treiber gefunden.

Was nun?
 
Was sagt den "sane-find-scanner" auf Server und Client. Bitte einmal als root einmal als normaler Benutzer versuchen. Überlicherweise hängt es bei Sane mit der Netzfreigabe an den Dateizugriffsrechten des Scandevices.
 
nbkr schrieb:
Was sagt den "sane-find-scanner" auf Server und Client. Bitte einmal als root einmal als normaler Benutzer versuchen. Überlicherweise hängt es bei Sane mit der Netzfreigabe an den Dateizugriffsrechten des Scandevices.

sane-find-scanner meldet:

Serverseite:
als User
Code:
# 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.

found USB scanner (vendor=0x06bd [AGFA ], product=0x2061 [SNAPSCAN]) at libusb:001:003
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.

als Root
Code:
# 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.

found USB scanner (vendor=0x06bd [AGFA ], product=0x2061 [SNAPSCAN]) at libusb:001:003
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.
Ich nehme an, dies ist die wichtige Zeile:
Code:
found USB scanner (vendor=0x06bd [AGFA ], product=0x2061 [SNAPSCAN]) at libusb:001:003
Scanner ist am Server für alle Nutzer verfügbar.

Clientseite, User und Root identische Ausgabe:
Code:
# 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.

  # No USB scanners found. If you expected something different, make sure that
  # you have loaded a kernel driver for your USB host controller and have setup
  # the USB system correctly. See man sane-usb for details.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.

Ich frage mich, ob es mit dem Scanner zusammenhängen kann.
Beim Snapscan1212_U muß eine Firmware nachgeladen werden.
Diese Firmware lade ich in der Datei /etc/sane.d/snapscan.conf in der Zeile "firmware"
Code:
 firmware /usr/share/sane/snapscan/SnapScan1212U_2.bin
für meinen Scanner nach.

Es gibt die Datei /etc/sane.d/net.conf.
Dort ist im Gegensatz zur snapscan.conf keine Firmwarezeile vorhanden, da dort nur der Server eingestellt wird.
Wo kann ich Sane mitteilen, bei Netzzugriff vorher diese Firmwaredatei zu laden, bzw. dem daemon beim bootvorgang?
..oder ist dies nicht nötig?
 
Das Net-Backend ist ja im Prinzip nur eine Durchreiche an den Serverprozess. Dort wird Sane dann mit dem normalen Backend gestartet. Funktioniert scanimage auf dem Client?
 
nbkr schrieb:
Das Net-Backend ist ja im Prinzip nur eine Durchreiche an den Serverprozess. Dort wird Sane dann mit dem normalen Backend gestartet. Funktioniert scanimage auf dem Client?

Code:
scanimage -L
liefert auf dem Server
Code:
device `snapscan:libusb:001:003' is a AGFA SNAPSCAN flatbed scanner
Der Aufruf von <scanimage> startet die Vorwärmung und er würde scannen.
Soweit alles ok.

Auf dem Client tut sich gar nichts, es muß mit <strg><c> abgebrochen werden. Es erscheint keine Fehlermeldung. :(
 
Überprüf mal die Zugriffsrechte auf die Devicedatei auf dem Server und vergleiche es mit der Angabe von xinetd. Da läuft es evtl. auseinander.
 
nbkr schrieb:
Überprüf mal die Zugriffsrechte auf die Devicedatei auf dem Server und vergleiche es mit der Angabe von xinetd. Da läuft es evtl. auseinander.

Das werde ich gleich nochmal alles von vorne einzeln überprüfen (müssen).
Wenn ich das diesmal auch wieder nicht hinbekomme bleibt wieder nur der Workaround, den ich auch früher bei 10.1 gemacht habe:

ssh-Verbindung mit X11-forwarding und dann in einen freigegebenen Samba-Ordner scannen lassen. Man kann alles auf dem eigenen Rechner machen, ohne extra wegen Sane hin-und her zu rennen.
Umständlich isset halt nur.

Danke für Deine Hilfe
 
Ich habe jede Datei noch einmal überprüft.
Die Konfiguration der Firewalls,xinetd und sane waren allesamt korrekt.

Ich hatte allerdings eine "Kleinigkeit" übersehen.
Da ich vmware-server benutze und dieser keine USB-Geräte erkannte, änderte ich die Datei /etc/fstab.
Die Zeile
Code:
 usbfs                /proc/bus/usb        usbfs      noauto                0 0
kommentierte ich aus und ersetzte sie durch:
Code:
/dev/bus/usb 	/proc/bus/usb usbfs defaults 0 0

Ich habe die Zeile nun durch
Code:
/dev/bus/usb 	/proc/bus/usb usbfs defaults,devmode=0666 0 0
ergänzt und es funktioniert.

Sowohl auf dem Server, als auch auf dem Client wird nun ein vorhandener Scanner angezeigt.
Yast zeigt in der Zeile "net" nun korrekterweise den Agfa an.

Vielen dank für den Hinweis "Zugriffsrechte"
 
Alternativ kannst Du auch ein chmod 0666 /proc/bus/usb/bla machen. Dann musst nicht den kompletten USB-Bus für alle lesbar mounten. Oder zu änderst die Gruppe ab so das Sane darauf zugreifen kann.
 
nbkr schrieb:
Alternativ kannst Du auch ein chmod 0666 /proc/bus/usb/bla machen. Dann musst nicht den kompletten USB-Bus für alle lesbar mounten. Oder zu änderst die Gruppe ab so das Sane darauf zugreifen kann.

Danke, das werde ich als nächstes direkt via Gruppe anpassen...wenn ich mein nächstes Problem gelöst habe. :(

Der Scanner läuft und wird erkannt.
Allerdings funkt mir irgendwie meine Firewall (auf dem Server) dazwischen, s.d. ich sie zum Scannen abschalten muß.

Obwohl Port 6566 freigegeben ist, fängt der Scanner an zu scannen und hört aber nach 5 Centimetern auf...dann steht er.
Fahre ich dann serverseitig die Firewall mit
Code:
rcSuSEfirewall stop
runter, scannt er weiter. Starte ich ich rc SuSEfirewall erneut, so beginnt das Spiel von neuem.

Gibt es noch einen zweiten Port den ich vergessen habe?
 
Da ich befürchte, daß es bestimmt noch andere "fortgeschrittene Anfänger"=Newbie1.5 gibt, werde ich hier mal weiterschreiben.
Vielleicht hilft es mir auf die Sprünge und jemand anderes kommt bei seinem Problem auf neue Ideen.


Habe jetzt nochmal nachgesehen :
Sane ist in /etc/services korrekt mit TCP 6566 und UDP 6566 eingetragen.
Die lokalen Rechner sind in der Susefirewall als interne Zone eingetragen.
Es dürfte intern nichts geblockt werden.

Was könnte den Scanner stoppen und ihn nach shutdown der Firewall zum Weiterarbeiten überreden?
 
Sane ist aus Firewallsicht ein mieses Protokoll. Es läuft nämlich nicht nur über 6566 sondern nutzt dann eine dynamische Portrange. Mir ist leider kein netfilter-Modul bekannt das ein Connectiontracking dafür hinbekommt. Ergo muss man alle Highports zu den Clients hin öffnen.

Siehe auch hier:
http://www.sane-project.org/man/saned.8.html

Unter "Restrictions".
 
nbkr schrieb:
Sane ist aus Firewallsicht ein mieses Protokoll. Es läuft nämlich nicht nur über 6566 sondern nutzt dann eine dynamische Portrange. Mir ist leider kein netfilter-Modul bekannt das ein Connectiontracking dafür hinbekommt. Ergo muss man alle Highports zu den Clients hin öffnen.

Siehe auch hier:
http://www.sane-project.org/man/saned.8.html

Unter "Restrictions".

Ich werde mich dann mal schlau machen.
Das Problem hier ist dann scheinbar gelöst.
Das andere ist dann wohl eher ein Firewall-Problem.

Danke sehr.
 
Oben