Scanner an Fritzbox läuft!

Hej!

Wie kann ich denn dafür sorgen dass saned "im inetd-Modus" gestartet wird? Wenn ich einfach von meinem Laptop ein scanimage -L mache findet er keinen Scanner. Wenn ich vorher saned -d auf der Box ausführe dann geht alles.

Grüße Daniel
 
Ich arbeite an einem Patch.
 
Hier der Patch, der hoffentlich einige Probleme korrigiert: http://www.freetz.org/attachment/ticket/164/sane-backends-2683.patch

Edit:
Ach ja, nach dem Patchen wird ein make sane-backends-clean; make nicht ausreichen, da sonst der "gepatchte Patch" 300-config_path.patch nicht angewendet wird. Ein rm -rf source/sane-backends-1.0.19 sollte das beheben.
 
Zuletzt bearbeitet:
Allerdings ist die obige Ausgabe vom Starten über saned -d entstanden, was was anderes macht als wenn inetd saned ohne -d aufruft.
Sorry, da haben wir aneinander vorbei geredet - es war wohl pengu, der die beiden Modi durcheinandergeworfen hat :).

Ich wollte eine Diskussion anregen, wo die Files hinsollen.
[...]
Ists dann nicht besser das unter /mod/etc/sane.d ansprechbar zu machen?

Eine andere Frage ist dann die: die dll.conf ist statisch. Soll die dann nur unter /mod/etc/default.sane-backends liegen oder nach /mod/etc kopiert werden?
Ah, ja. Sinnvollerweise legen wir die Dateien wie Du sagst nach /mod/etc/sane.d. Dazu werde ich ein Init-Script schreiben, was die Dateien aus /etc/default.sane-backends dort verlinkt (im Image kann man das nicht, weil /mod erst zur Laufzeit im RAM angelegt wird). Was die jeweiligen Backend-conf-Dateien betrifft: Bei mir werden momentan unabhängig von der Menuconfig-Auswahl alle dieser Dateien ins Image kopiert. Ich denke, das ist auch nicht beabsichtigt/notwendig, oder?

Ich hab auch einen Patch gemacht, der im configure-Skript PATH_SANE_CONFIG_DIR um /mod/etc/default.sane-backends erweitert.
So sieht mein Patch auch aus. Wobei mir nicht 100% klar ist, ob das auch berücksichtigt wird in dem Fall. Ansonsten müsste man noch einen Patch dafür machen. Das sollte man natürlich jetzt auf /mod/etc/sane.d ändern.

Leider hatte sich auch keiner um das Paket geschert als es nur im Trac und noch nicht im Trunk war. Dann halt so, über den harten Weg. *g*
Ja, darum habe ich das ja eingecheckt. Dafür ist ja grade der Trunk da.
 
Wie spiel ich denn den Patch genau ein? den 300-config_path.patch find ich nebenbei bemwerkt auch nicht...
 
@[email protected]

ganz runterscrollen, auf original format klicken dann bekommsts in einer Datei.

Dann ins sane-backends verzeichnis kopieren, dann patch -p0 <sane-backends-2683.patch

so gings bei mir.
 
Hmpf, ich hätte vor dem Abschicken eben nochmal nachlesen sollen - zwischenzeitlich sind mehrere Posts dazugekommen. Was das make sane-backends-clean betrifft: Es gibt auch make sane-backends-dirclean, das säubert auch das source-Verzeichnis mit.

Ich schaue mir den Patch von Dir gleich mal an und checke das dann ein; wäre schön, wenn Du nächstesmal den Patch auf der obersten Ebene vom Trunk erstellen würdest (geht z.B. mit svn diff make/sane-backends).
 
Zuletzt bearbeitet:
Was das make sane-backends-clean betrifft: Es gibt auch make sane-backends-dirclean, das säubert auch das source-Verzeichnis mit.
Ah, cool. Muß ich mir merken. Man lernt nie aus. :)

Ich schaue mir den Patch von Dir gleich mal an und checke das dann ein
Nachdem ich noch nicht wußte wie die Files hinsollen, wird bei dem Patch /mod/etc/saned.conf und /mod/etc/default.sane-backends für die anderen Dateien verwendet.
Es werden außerdem nicht mehr alle conf-Dateien von allen Backends reinkopiert, wie Du oben geschrieben hast.

wäre schön, wenn Du nächstesmal den Patch auf der obersten Ebene vom Trunk erstellen würdest (geht z.B. mit svn diff make/sane-backends).
Und man lernt nie aus. Werd ich mir auch merken.

Edit:
Ich hab den Patch im freetz root neu gemacht und hinzugefügt.
 
Zuletzt bearbeitet:
Sorry ich habs leider noch nicht ganz... in welches Verzeichnis muss ich genau?
 
Ich hab den Patch geändert (s.o.). Lad ihn Dir neu herunter. Dann gehst Du in das Freetz-Root-Verzeichnis (normalerweise ist das "freetz-trunk") und machst dort
Code:
patch -p0 < /path/to/patch/sane-backends-2683.patch
 
Hi!

Habe es hinbekommen. Lokal auf der FritzBox scheint jetzt auch alles zu gehn, scanimage -L findet den Scanner, aber übers Netzwerk vom Laptop aus finde ich keinen Scanner. Ich bin auch ein wenig skeptisch ob das Skript in etc/init.d funktioniert, denn
Code:
/etc/init.d/rc.sane-backends status
-sh: /etc/init.d/rc.sane-backends: Permission denied
/ #
Das gleiche geschieht bei start oder stop etc...

Ich glaube der Fehler liegt hier:
Code:
/var/tmp/flash # /mod/etc/default.sane-backends/saned_conf > /mod/etc/saned.conf
-sh: /mod/etc/default.sane-backends/saned_conf: Permission denied

Das Skript ist nicht ausführbar!
Code:
/etc/default.sane-backends # ls -all
-rw-r--r--    1 root     root            6 Oct 30 20:23 dll.conf
-rw-r--r--    1 root     root          144 Oct 30 20:22 sane-backends.cfg
-rw-r--r--    1 root     root          560 Oct 30 17:39 sane-backends.inetd
-rw-r--r--    1 root     root          638 Oct 30 17:38 sane-backends.inetd.orig
-rw-r--r--    1 root     root            0 Oct 30 17:39 sane-backends_conf
-rw-r--r--    1 root     root           53 Oct 30 17:39 saned_conf

Werde das mal schnell beheben und ein neues Image flashen.

//EDIT:
Müsste sane-backends.cfg nicht auch ausführbar sein und fehlt da nicht ein #!/bin/sh am Anfang?

Bis dann!
 
Zuletzt bearbeitet:
Müsste sane-backends.cfg nicht auch ausführbar sein und fehlt da nicht ein #!/bin/sh am Anfang?
Nein, das wird immer per . gesourced, genau wie $pkg.save und $pkg.inetd (so vorhanden).

Ich habe tehrons Patch überarbeitet und noch einige Erweiterungen eingebaut, darunter auch die gerade von Dir genannte. Saned läuft nun sowohl über inetd als auch standalone, die Konfiguration ist einigermassen aufgeräumt. Eingecheckt ist das Ganze in r2686. Bitte mal testen (lokale Änderungen müsst ihr natürlich vorher rückgängig machen, und einmal make saned-backends-dirclean). Das Wesentliche was jetzt noch fehlt ist die Porteinstellung im Daemon-Modus - das geht bei saned aber anscheinend nur über /etc/services, und da bietet Freetz noch keinen Mechanismus an (steht jetzt auf meiner Todo-Liste). Leider hat OpenNTPD da sein eigenes Süppchen gekocht....

@tehron: Um die Änderungen in Deinen Trunk zu übernehmen musst Du vermutlich von Hand das Verzeichnis make/saned-backends löschen oder die von Dir (wie ich vermute, sonst vergiss den ganzen Hinweis) geaddeten Dateien manuell aus den .svn/*-Dateien wieder entfernen.
 
STATUS:

/etc/init.d/rc.sane-backends status gibt jetzt inetd zurück, leider scheint aber saned trotzdem nicht gestartet zu werden, wenn ich scanimage -L vom Notebook starte dann findet er nix. Starte ich saned von Hand geht zumindest das.

Scannen an sich geht aber trotzdem nicht, dabei bekomm ich diesen Fehler:
Code:
[saned] process_request: waiting for data connection
[saned] process_request: access to data port from 192.168.182.21
[saned] do_scan: start
[saned] do_scan: processing RPC request on fd 4
[saned] process_request: waiting for request
[saned] process_request: got request 6
[saned] do_scan: trying to read 8188 bytes from scanner
[saned] do_scan: read 0 bytes from scanner
[saned] do_scan: status = `Error during device I/O'
[saned] do_scan: statuscode `Error during device I/O' was added to buffer
[saned] do_scan: select_fd was closed --> EOF
[saned] do_scan: trying to write 9 bytes to client
[saned] do_scan: wrote 9 bytes to client
[saned] do_scan: done, status=End of file reached
[saned] process_request: waiting for request
[saned] process_request: got request 8
Ist der gleiche Fehler wie ich ihn weiter vorn schonmal beschrieben hat. Das hat aber mit unserem gepatche hier erstmal nix zu tun. Muss da wohl mal sane Experten befragen...
 
bei mir (7270, snapscan e20) klappt es, allerdings erst, nachdem ich die firmware des scanners auf die box gepackt habe und unter /source die config angepasst habe ...
 
Das Wesentliche was jetzt noch fehlt ist die Porteinstellung im Daemon-Modus
AFAIK hat saned gar keinen Daemon-Modus, auch wenn es saned heißt *g*. saned -d startet den Debugmodus. Könnte man meinen das ist dasselbe wie als Dämon starten, aber tut es nicht, denn der Prozeß wartet im Vordergrund auf eine Verbindung von außen. Daher hatte ich im rc-Skript auch start und stop rausgeschmissen, weils so ziemlich sinnfrei ist.
 
@astrapi

sei froh hier ist immernoch alles beim alten oder meine client config stimmt noch nicht.
 
probiert mal scanimage -d xxx

ersetzt dabei das xxx durch das device eures scanners was bei scanimage -L angezeigt wird.
 
AFAIK hat saned gar keinen Daemon-Modus, auch wenn es saned heißt *g*. saned -d startet den Debugmodus. Könnte man meinen das ist dasselbe wie als Dämon starten, aber tut es nicht, denn der Prozeß wartet im Vordergrund auf eine Verbindung von außen. Daher hatte ich im rc-Skript auch start und stop rausgeschmissen, weils so ziemlich sinnfrei ist.
Hm. Im Prinzip hast Du Recht, auf der anderen Seite entspricht der Debug-Modus im Grunde (wenn ich es richtig verstehe) genau einem Daemon-Modus. Vor allem, wenn man -d 0 angibt (keine Debugausgaben :p). Ich dachte, das wär doch ein ganz sinnvolles Feature; wenn es nicht oder schlecht funktioniert, schmeißen wir es wieder raus. Dann sollte das Paket aber auch den Inetd vorraussetzen.
 
Hm. Im Prinzip hast Du Recht, auf der anderen Seite entspricht der Debug-Modus im Grunde (wenn ich es richtig verstehe) genau einem Daemon-Modus. Vor allem, wenn man -d 0 angibt
Korrigier mich, wenn ich mich irre, aber wenn man einen Daemon startet, dann "kriegt man nachm Aufruf die Konsole zurück", also er detacht sich. Bei saned -d is das nicht so. Das meinte ich oben. Man kriegt das nur über saned -d < /dev/null > /dev/null 2>&1 & oder so hin. Aber dann is der Rückgabewert immer 1 und man kann nicht auf nen Fehler prüfen. Und sobald ein Request abgearbeitet ist, ist saned wieder beendet.

Ich dachte, das wär doch ein ganz sinnvolles Feature; wenn es nicht oder schlecht funktioniert, schmeißen wir es wieder raus.
Dacht ich zuerst auch, habs aber aus den genannten Gründen weggelassen. Falls das über start-stop-daemon ... aber hinhaut, ists cool.

Dann sollte das Paket aber auch den Inetd vorraussetzen.
ack
 
Korrigier mich, wenn ich mich irre, aber wenn man einen Daemon startet, dann "kriegt man nachm Aufruf die Konsole zurück", also er detacht sich. Bei saned -d is das nicht so. Das meinte ich oben. Man kriegt das nur über saned -d < /dev/null > /dev/null 2>&1 & oder so hin. Aber dann is der Rückgabewert immer 1 und man kann nicht auf nen Fehler prüfen. Und sobald ein Request abgearbeitet ist, ist saned wieder beendet.
Im Prinzip ja. Wenn der saned sich wirklich nach einem einzelnen Request wieder beendet, ist das natürlich völlig sinnlos. Wenn das mal eben jemand testen könnte, der ihn wirklich im Betrieb hat...
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.