Nach einigen Versuchen und mit Hilfe einiger Anleitungen im www habe ich es geschaft, den ScanTo Button meines HP Druckers per Script so abzufragen, daß nach der Betätigung des Buttons am Drucker, der Scan automatisch auf der DiskStation abgelegt wird, ohne das ein PC eingeschaltet sein muß.
Zum Hintergrund: Da die HP Software für meinen AllInOne auf WIN 7 64Bit nicht mehr vernünftig läuft, und die Toolbox von HP, die zum Programmieren des ScanTo Buttons erforderlich ist, nur unter WIN XP oder WIN 2000 funktioniert, habe ich einen Weg gesucht, diese zu umgehen.
ScanTo Button: Der Button befindet sich direkt am Drucker. Für diesen wird mittels og. Software ein Speicherzielort festgelegt. Hierbei muß jedoch der Rechner eingeschaltet bleiben, an dem diese Konfiguration durchgeführt wurde.
Für alle die dieser Anleitung folgen möchten:
Bisher habe ich nur vom HP 2840 gelesen, bei dem dies funktioniert. Durch das "Abhören" der Netzwerkverbindung wurden versteckte Seiten auf dem AllInOne entdeckt (Verweise / Links am Ende dieser Anleitung). Ob es dennoch bei anderen AllInOne funktioniert, weis ich leider nicht. Wer dies mal für seinen AllInOne ausprobieren möchte:
http://<IP_Deines_Drucker>/hp/device/info_scanto_destinations.xml
http://<IP_Deines_Drucker>/hp/device/set_config.html
http://<IP_Deines_Drucker>/hp/device/notifications.xml
Selbst wenn der ScanTo Button nicht funktionieren sollte, bleibt noch die Möglichkeit im NW zB. mittels SaneTwain, Xsane oder Script zu scannen. Diese Anleitungen werden nicht beschrieben, jedoch ein paar links findet Ihr unten. Das normale Scannen vom "Glas" funktioniert aber immer ... Außerdem gibt es unten einen link, der mittel Abfrage des normalen Scanner Buttons ein Scannen per Script ermöglicht.
Hinweis:
Alle Änderungen an Euren DS gehen auf die eigene Kappe.
Da ich diverse Sachen ausprobieren mußte, kann es durchaus sein, daß einige Änderungen nicht zwingend erforderlich sind. Bitte gebt Euer Feedback um das richtig zu stellen.
Änderungen über deren Nutzen ich mir nicht sicher bin oder Hinweise werden mit *********** gekennzeichnet.
Meine Drucker IP 192.168.1.7 und die IP Adressbereiche ist jeweils durch Euere zu ersetzen.
>>>>>>>>>>>>> Bitte prüft zuvor, ob Euer Drucker die og. Seiten anzeigt oder ähnliche Möglichkeiten bietet.
Es ist auch möglich, mit dem normalen Scan Button eines Scanners seitenweise per Script oder direkt per Script zu scannen <<<<<<<<<<<<<<<
>>>>>>>>>>>>> Bitte prüft zuvor, ob Euer Drucker von hplip unterstützt wird. <<<<<<<<<<<<<<<
>>>>>>>>>>>>> Die Anleitung beschreibt einen HP 2840 der NICHT PER USB an der DS angeschlossen ist, sondern entfernt per NW Kabel im NW hängt. <<<<<<<<<<<<<<<
>>>>>>>>>>>>> Mit dem Script ist der Standby ( Hibernation ) der DS NICHT mehr möglich. <<<<<<<<<<<<<<<
Anleitung:
1) Installation von ipgk. Wer noch kein ipkg installiert hat findet hier den entsprechenden Beitrag.
2) Installation von folgenden ipkg Paketen mittels 'ipkg install <Paket>'
xinetd, sane-backends, dbus, py25-dbus-python, cups, libieee1284
===> Erstellt vor der Installation von hplip eine Kopie der dll.conf
'cp /opt/etc/sane.d/dll.conf /opt/etc/sane.d/dll.conf.o'
'ipkg install hplip'
****************************************************************************
Die Abfrage des "Replace" der orig. dll.conf beantwortet Ihr mit 'Yes'
****************************************************************************
3) Nun werden eine ganze Reihe von Änderungen an verschiedenen Dateien mittels dem vi-Editor oä. nötig.
a) xined
===> wir legen zuvor eine Sicherungskopie an
'cp /opt/etc/xinetd.conf /opt/etc/xinetd.conf.o'
'vi /opt/etc/xinetd.conf'
===> wir ändern den Adressbereich
only_from = localhost 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
===> in
only_from = localhost 127.0.0.1 192.168.1.0/24 " ==> hier Euer IP Bereich rein"
b) inetd.conf
*************************************************************************************************************
Bin nicht sicher ob nun sane oder sane-port. sane-port wäre später für SaneTwain erforderlich, welches ich
nicht nutze (siehe weiter unten). Ich habe beide hinzugefügt. Vielleicht kommentiert / testet das mal jemand.
*************************************************************************************************************
'cp /etc/inetd.conf etc/inetd.conf.o'
'vi /etc/inetd.conf'
==> Zeile hinzu
sane-port stream tcp nowait root.root /opt/sbin/saned saned
===> Ein event. bereits vorhandener Eintrag für sane ist bei mir # auszukommentiert
#sane stream tcp nowait root /opt/sbin/saned saned
c) system.conf
'cp /opt/etc/dbus-1/system.conf /opt/etc/dbus-1/system.conf.o'
'vi /opt/etc/dbus-1/system.conf'
===> Ändern den Eintrag
<!-- Run as special user -->
<user>messagebus</user>
===> in den Eintrag
<!-- Run as special user -->
<user>root</user>
====> Wir starten dbus neu ===> Usage: /opt/etc/init.d/S20dbus {start|stop|restart|force-reload}
'/opt/etc/init.d/S20dbus restart'
d) saned.conf
'cp /opt/etc/sane.d/saned.conf /opt/etc/sane.d/saned.conf.o'
'vi /opt/etc/sane.d/saned.conf'
===> unter #scan-client.somedomain.firm IP Adressbereich ändern in 192.168.1.0/24 (Achtung Eurer IP Bereich) und # davor entfernen
e) dll.conf
'cp /opt/etc/sane.d/dll.conf'
'vi /opt/etc/sane.d/dll.conf'
====> komplett alles löschen - nur dieser Eintrag bleibt stehen
hpaio
f) cupsd.conf
'cp /opt/etc/cups/cupsd.conf /opt/etc/cups/cupsd.conf.bak' ==> cupsd.conf.o wird von cups selber angelegt / benutzt
'vi /opt/etc/cups/cupsd.conf'
===> unter "Network Options" ändern
# Listen hostname:631 >>>>> Listen 192.168.1.5:631
===> unter <Location /> hinzufügen und event. Auskommentierung entfernen
Allow From 192.168.1.0/24
===> unter <Location /admin> ändern
AuthType Basic >>>>> BasicDigest
AuthClass System >>>>> User
===> unter <Location /admin> hinzufügen und event. Auskommentierung entfernen
Allow From 192.168.1.0/24
****************************************************************************
Achtung: Bitte oben jeweils Euren IP Adressbereich eintragen
****************************************************************************
4) Startscript für cups anlegen; s55cupsd aus dem wiki kopieren; Zeilenumbruch Unix/linux beachten
'cp /<Quellverzeichnis>/S55cupsd /opt/etc/init.d/S55cupsd'
===> danach starten wir cups neu
'/opt/etc/init.d/S55cupsd restart'
===> Prüfen ob cups wirklich "lauscht" mit
'netstat -an | grep 631'
5) Passwort ändern um Drucker hinzufügen zu können; ich habe root und admin hinzugefügt
**************************************************************************************
Wir verwenden die Standard System Passwörter der User
**************************************************************************************
6) sane-port muß noch angelegt werden, da sie nicht existiert
'mkdir /opt/etc/xinetd.d/sane-port'
'vi /opt/etc/xinetd.d/sane-port'
===> folgenden Inhalt hinzufügen
service sane-port
{
socket_type = stream
port = 6566
server = /opt/sbin/saned
protocol = tcp
user = root
group = root
wait = no
disabled = no
}
===> Rechte ändern falls erforderlich
'chmod 644 /opt/etc/xinetd.d/sane-port'
***********************************************************************************************
Bitte beachtet meine Hinweise zu sane oben. Der Eintrag meiner saned lautet
===> Ändern
'vi /opt/etc/xinetd.d/saned'
service saned
{
socket_type = stream
server = /opt/sbin/saned
protocol = tcp
user = root
group = root
wait = no
disable = no
}
Hinweis: Bei mir sind derzeit noch beide gestartet. Ich habe noch nicht herausgefunden wieso.
***********************************************************************************************
7) Laut hp-check (wird später eventuell zur Fehlersuche benötigt) wird cupsd.conf nicht gefunden, da
/etc/cups/cupsd.conf erwartet wird, sie aber hier /opt/etc/cups/cupsd.conf steht
===> Wir erzeugen uns einen Link
'ln -s /opt/etc/cups/cupsd.conf /etc/cups'
Zum Hintergrund: Da die HP Software für meinen AllInOne auf WIN 7 64Bit nicht mehr vernünftig läuft, und die Toolbox von HP, die zum Programmieren des ScanTo Buttons erforderlich ist, nur unter WIN XP oder WIN 2000 funktioniert, habe ich einen Weg gesucht, diese zu umgehen.
ScanTo Button: Der Button befindet sich direkt am Drucker. Für diesen wird mittels og. Software ein Speicherzielort festgelegt. Hierbei muß jedoch der Rechner eingeschaltet bleiben, an dem diese Konfiguration durchgeführt wurde.
Für alle die dieser Anleitung folgen möchten:
Bisher habe ich nur vom HP 2840 gelesen, bei dem dies funktioniert. Durch das "Abhören" der Netzwerkverbindung wurden versteckte Seiten auf dem AllInOne entdeckt (Verweise / Links am Ende dieser Anleitung). Ob es dennoch bei anderen AllInOne funktioniert, weis ich leider nicht. Wer dies mal für seinen AllInOne ausprobieren möchte:
http://<IP_Deines_Drucker>/hp/device/info_scanto_destinations.xml
http://<IP_Deines_Drucker>/hp/device/set_config.html
http://<IP_Deines_Drucker>/hp/device/notifications.xml
Selbst wenn der ScanTo Button nicht funktionieren sollte, bleibt noch die Möglichkeit im NW zB. mittels SaneTwain, Xsane oder Script zu scannen. Diese Anleitungen werden nicht beschrieben, jedoch ein paar links findet Ihr unten. Das normale Scannen vom "Glas" funktioniert aber immer ... Außerdem gibt es unten einen link, der mittel Abfrage des normalen Scanner Buttons ein Scannen per Script ermöglicht.
Hinweis:
Alle Änderungen an Euren DS gehen auf die eigene Kappe.
Da ich diverse Sachen ausprobieren mußte, kann es durchaus sein, daß einige Änderungen nicht zwingend erforderlich sind. Bitte gebt Euer Feedback um das richtig zu stellen.
Änderungen über deren Nutzen ich mir nicht sicher bin oder Hinweise werden mit *********** gekennzeichnet.
Meine Drucker IP 192.168.1.7 und die IP Adressbereiche ist jeweils durch Euere zu ersetzen.
>>>>>>>>>>>>> Bitte prüft zuvor, ob Euer Drucker die og. Seiten anzeigt oder ähnliche Möglichkeiten bietet.
Es ist auch möglich, mit dem normalen Scan Button eines Scanners seitenweise per Script oder direkt per Script zu scannen <<<<<<<<<<<<<<<
>>>>>>>>>>>>> Bitte prüft zuvor, ob Euer Drucker von hplip unterstützt wird. <<<<<<<<<<<<<<<
>>>>>>>>>>>>> Die Anleitung beschreibt einen HP 2840 der NICHT PER USB an der DS angeschlossen ist, sondern entfernt per NW Kabel im NW hängt. <<<<<<<<<<<<<<<
>>>>>>>>>>>>> Mit dem Script ist der Standby ( Hibernation ) der DS NICHT mehr möglich. <<<<<<<<<<<<<<<
Anleitung:
1) Installation von ipgk. Wer noch kein ipkg installiert hat findet hier den entsprechenden Beitrag.
2) Installation von folgenden ipkg Paketen mittels 'ipkg install <Paket>'
xinetd, sane-backends, dbus, py25-dbus-python, cups, libieee1284
===> Erstellt vor der Installation von hplip eine Kopie der dll.conf
'cp /opt/etc/sane.d/dll.conf /opt/etc/sane.d/dll.conf.o'
'ipkg install hplip'
****************************************************************************
Die Abfrage des "Replace" der orig. dll.conf beantwortet Ihr mit 'Yes'
****************************************************************************
3) Nun werden eine ganze Reihe von Änderungen an verschiedenen Dateien mittels dem vi-Editor oä. nötig.
a) xined
===> wir legen zuvor eine Sicherungskopie an
'cp /opt/etc/xinetd.conf /opt/etc/xinetd.conf.o'
'vi /opt/etc/xinetd.conf'
===> wir ändern den Adressbereich
only_from = localhost 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
===> in
only_from = localhost 127.0.0.1 192.168.1.0/24 " ==> hier Euer IP Bereich rein"
b) inetd.conf
*************************************************************************************************************
Bin nicht sicher ob nun sane oder sane-port. sane-port wäre später für SaneTwain erforderlich, welches ich
nicht nutze (siehe weiter unten). Ich habe beide hinzugefügt. Vielleicht kommentiert / testet das mal jemand.
*************************************************************************************************************
'cp /etc/inetd.conf etc/inetd.conf.o'
'vi /etc/inetd.conf'
==> Zeile hinzu
sane-port stream tcp nowait root.root /opt/sbin/saned saned
===> Ein event. bereits vorhandener Eintrag für sane ist bei mir # auszukommentiert
#sane stream tcp nowait root /opt/sbin/saned saned
c) system.conf
'cp /opt/etc/dbus-1/system.conf /opt/etc/dbus-1/system.conf.o'
'vi /opt/etc/dbus-1/system.conf'
===> Ändern den Eintrag
<!-- Run as special user -->
<user>messagebus</user>
===> in den Eintrag
<!-- Run as special user -->
<user>root</user>
====> Wir starten dbus neu ===> Usage: /opt/etc/init.d/S20dbus {start|stop|restart|force-reload}
'/opt/etc/init.d/S20dbus restart'
d) saned.conf
'cp /opt/etc/sane.d/saned.conf /opt/etc/sane.d/saned.conf.o'
'vi /opt/etc/sane.d/saned.conf'
===> unter #scan-client.somedomain.firm IP Adressbereich ändern in 192.168.1.0/24 (Achtung Eurer IP Bereich) und # davor entfernen
e) dll.conf
'cp /opt/etc/sane.d/dll.conf'
'vi /opt/etc/sane.d/dll.conf'
====> komplett alles löschen - nur dieser Eintrag bleibt stehen
hpaio
f) cupsd.conf
'cp /opt/etc/cups/cupsd.conf /opt/etc/cups/cupsd.conf.bak' ==> cupsd.conf.o wird von cups selber angelegt / benutzt
'vi /opt/etc/cups/cupsd.conf'
===> unter "Network Options" ändern
# Listen hostname:631 >>>>> Listen 192.168.1.5:631
===> unter <Location /> hinzufügen und event. Auskommentierung entfernen
Allow From 192.168.1.0/24
===> unter <Location /admin> ändern
AuthType Basic >>>>> BasicDigest
AuthClass System >>>>> User
===> unter <Location /admin> hinzufügen und event. Auskommentierung entfernen
Allow From 192.168.1.0/24
****************************************************************************
Achtung: Bitte oben jeweils Euren IP Adressbereich eintragen
****************************************************************************
4) Startscript für cups anlegen; s55cupsd aus dem wiki kopieren; Zeilenumbruch Unix/linux beachten
'cp /<Quellverzeichnis>/S55cupsd /opt/etc/init.d/S55cupsd'
===> danach starten wir cups neu
'/opt/etc/init.d/S55cupsd restart'
===> Prüfen ob cups wirklich "lauscht" mit
'netstat -an | grep 631'
Rich (BBCode):
/ # netstat -an | grep 631
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.5:631 192.168.1.13:62054 ESTABLISHED
tcp 0 0 ::%136903888:631 ::%135699616:* LISTEN
udp 0 0 0.0.0.0:631 0.0.0.0:*
/ #
**************************************************************************************
da ist mein Laptop gerade dabei ...
**************************************************************************************
/ # killall cupsd
/ # /opt/etc/init.d/S55cupsd restart
cupsd: no process found
Starting Service: cupsd
/ # netstat -an | grep 631
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN
tcp 0 0 ::%136903680:631 ::%135699616:* LISTEN
udp 0 0 0.0.0.0:631 0.0.0.0:*
/ #
5) Passwort ändern um Drucker hinzufügen zu können; ich habe root und admin hinzugefügt
Rich (BBCode):
/ # lppasswd -g sys -a root
Enter password:
Enter password again:
/ #
/ # lppasswd -g sys -a admin
Enter password:
Enter password again:
/ #
**************************************************************************************
Wir verwenden die Standard System Passwörter der User
**************************************************************************************
6) sane-port muß noch angelegt werden, da sie nicht existiert
'mkdir /opt/etc/xinetd.d/sane-port'
'vi /opt/etc/xinetd.d/sane-port'
===> folgenden Inhalt hinzufügen
service sane-port
{
socket_type = stream
port = 6566
server = /opt/sbin/saned
protocol = tcp
user = root
group = root
wait = no
disabled = no
}
===> Rechte ändern falls erforderlich
'chmod 644 /opt/etc/xinetd.d/sane-port'
***********************************************************************************************
Bitte beachtet meine Hinweise zu sane oben. Der Eintrag meiner saned lautet
===> Ändern
'vi /opt/etc/xinetd.d/saned'
service saned
{
socket_type = stream
server = /opt/sbin/saned
protocol = tcp
user = root
group = root
wait = no
disable = no
}
Hinweis: Bei mir sind derzeit noch beide gestartet. Ich habe noch nicht herausgefunden wieso.
***********************************************************************************************
7) Laut hp-check (wird später eventuell zur Fehlersuche benötigt) wird cupsd.conf nicht gefunden, da
/etc/cups/cupsd.conf erwartet wird, sie aber hier /opt/etc/cups/cupsd.conf steht
===> Wir erzeugen uns einen Link
'ln -s /opt/etc/cups/cupsd.conf /etc/cups'
Zuletzt bearbeitet: