musv Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/17022956523ec2f01a46f03.jpg)
Joined: 01 Dec 2002 Posts: 3369 Location: de
|
Posted: Fri Mar 25, 2022 5:56 pm Post subject: Scannerbutton abfragen |
|
|
Hallo zusammen.
ich wollte mir mal eine Art Kopierer stricken. d.h. Scannen + Drucken, ohne den Rechner einschalten zu müssen. Ich hab folgende Geräte:
- Canon Lide 200 - ist ein USB-Scanner, funktioniert prächtig mit Sane und klemmt an meinem NAS (Kobol Helios64).
- Ricoh SP C360DNw - Farblaser, per LAN angeschlossen. Cups läuft ebenfalls auf dem NAS.
Das Ganze ist so eingerichtet, dass ich von allen Rechnern im Netzwerk aus Scannen kann. Drucken geht zusätzlich noch mit den Android-Geräten.
Der Canon Lide 200 hat 4 Buttons. Ziel war, dass ich die Buttons irgendwie ansprechen kann, um z.B. etwas einzuscannen, was dann als PDF in einem Verzeichnis auf dem NAS landet. Ein anderer Button soll das Eingescannte gleich noch zum Drucker schicken.
Sane erkennt zwar die Buttons, wertet die aber nicht aus.
scanimage -A: |
Output format is not set, using pnm as a default.
All options specific to device `genesys:libusb:001:005':
Scan Mode:
...
Sensors:
--scan[=(yes|no)] [no] [hardware]
Scan button
--file[=(yes|no)] [no] [hardware]
File button
--email[=(yes|no)] [no] [hardware]
Email button
--copy[=(yes|no)] [no] [hardware]
Copy button
...
|
Jetzt hab ich dazu 3 nicht mehr gepflegte Projekte gefunden, die natürlich nicht im Portage sind.
- ScanBD: Das Ding hab ich soweit zum Laufen bekommen. Allerdings ist dann kein Zugriff aus dem Netzwerk mehr auf den Scanner möglich. Die Lösung ist hässlich: Ein Sleepscript, das über eine Scannertaste aktiviert wird, unterbricht das Polling. In der Zeit kann man dann scannen.
- BScanD (Github): Hat mich erst mal viele Nerven gekostet, bis ich die Sane-Patches an die 1.0.31 angepasst und dann noch den eigentlich Programmcode compiliert bekommen hatte. Das Ganze startet auch, meckert aber bei der Scannererkennung:
Code: | bscand -c /etc/bscand.cfg
bscand version 1.0.0
Button 'scan':
Action: scan
Button 'email':
Action: none
Button 'copy':
Action: print
Button 'extra':
Action: pdf
Button 'file':
Action: append
failed to initialize sane (Unknown SANE status code -612999824) |
Insaned (Github): Das Progamm fragt auch die Tasten über ein Polling ab. In der Zeit blockiert es den Scanner. D.h. Zugriff von anderen Rechnern ist auch hier nicht möglich. Setzt man die Pollingintervalle groß genug an, dann kann man damit sogar leben. Allerdings müllt mir das Programm das Log zu:
Code: | Mär 25 17:49:34 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:49:35 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:49:40 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:49:46 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:49:51 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:49:57 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:50:02 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:50:08 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:50:13 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:50:19 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:50:24 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:50:30 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:50:35 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:50:41 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
Mär 25 17:50:46 kobold kernel: usb 1-1.1: reset high-speed USB device number 5 using xhci-hcd
|
So wie ich das les, führt das Programm im Polling-Intervall immer einen USB-Bus-Reset durch. Da taucht dann auch bei "top" gleich mal der saned-Prozess auf, den man sonst nie zu sehen bekommt. Ist also auch hässlich.
Nutzt jemand von Euch eine ähnliche Lösung? Wie habt ihr das gelöst? Eventuell würde ich mal den Entwickler von BScanD anschreiben. Das Projekt hab ich zwar überhaupt nicht zum Laufen bekommen. Aber die Lösung erscheint mir in Anbetracht der Nebenwirkungen der anderen Daemons, als das Brauchbarste. |
|