[saned] plante après 1 utilisation

plante après 1 utilisation [saned] - Logiciels - Linux et OS Alternatifs

Marsh Posté le 27-10-2012 à 17:21:22    

Bonjour,

 

Je souhaite mettre une imprimante multifonction (HP C4680) sur mon réseau, et je passe pour cela via un Dockstar.
J'ai un soucis avec saned, qui plante dès que le périphérique a été utilisé (avec succès) une et une seule fois.
C'est pas pratique pour un accès réseau.

 

Voici le log, suite à un simple scanimage sur le client :

# saned -d5
[saned] main: starting debug mode (level 5)
[saned] read_config: searching for config file
[saned] read_config: done reading config
[saned] saned (AF-indep+IPv6) from sane-backends 1.0.23 starting up
[saned] do_bindings: trying to get port for service "sane-port" (getaddrinfo)
[saned] do_bindings: [1] socket () using IPv6
[saned] do_bindings: [1] setsockopt ()
[saned] do_bindings: [1] bind () to port 6566
[saned] do_bindings: [1] listen ()
[saned] do_bindings: [0] socket () using IPv4
[saned] do_bindings: [0] setsockopt ()
[saned] do_bindings: [0] bind () to port 6566
[saned] do_bindings: [0] bind failed: Address already in use
[saned] run_standalone: spawning Avahi process
[saned] run_standalone: waiting for control connection
[saned] saned_avahi_callback: AVAHI_CLIENT_CONNECTING
[saned] handle_connection: processing client connection
[saned] check_host: detected an IPv4-mapped address
[saned] check_host: access by remote host: ::ffff:192.168.0.21
[saned] check_host: remote host is not IN_LOOPBACK nor IN6_LOOPBACK
[saned] check_host: local hostname: dockstar
[saned] check_host: local hostname(s) (from DNS): localhost.localdomain
[saned] check_host: local hostname(s) (from DNS): (null)
[saned] check_host: local hostname(s) (from DNS): (null)
[saned] check_host: local hostname(s) (from DNS): (null)
[saned] check_host: local hostname(s) (from DNS): (null)
[saned] check_host: local hostname(s) (from DNS): (null)
[saned] check_host: remote host doesn't have same addr as local
[saned] check_host: opening config file: /etc/hosts.equiv
[saned] check_host: can't open config file: /etc/hosts.equiv (No such file or directory)
[saned] check_host: opening config file: saned.conf
[saned] check_host: config file line: `# saned.conf'
[saned] check_host: config file line: `# Configuration for the saned daemon'
[saned] check_host: config file line: `'
[saned] check_host: config file line: `## Daemon options'
[saned] check_host: config file line: `# Port range for the data connection. Choose a range inside [1024 - 65535].'
[saned] check_host: config file line: `# Avoid specifying too large a range, for performance reasons.'
[saned] check_host: config file line: `#'
[saned] check_host: config file line: `# ONLY use this if your saned server is sitting behind a firewall. If your'
[saned] check_host: config file line: `# firewall is a Linux machine, we strongly recommend using the'
[saned] check_host: config file line: `# Netfilter nf_conntrack_sane connection tracking module instead.'
[saned] check_host: config file line: `#'
[saned] check_host: config file line: `# data_portrange = 10000 - 10100'
[saned] check_host: config file line: `'
[saned] check_host: config file line: `'
[saned] check_host: config file line: `## Access list'
[saned] check_host: config file line: `# A list of host names, IP addresses or IP subnets (CIDR notation) that'
[saned] check_host: config file line: `# are permitted to use local SANE devices. IPv6 addresses must be enclosed'
[saned] check_host: config file line: `# in brackets, and should always be specified in their compressed form.'
[saned] check_host: config file line: `#'
[saned] check_host: config file line: `# The hostname matching is not case-sensitive.'
[saned] check_host: config file line: `'
[saned] check_host: config file line: `#scan-client.somedomain.firm'
[saned] check_host: config file line: `#192.168.0.1'
[saned] check_host: config file line: `#192.168.0.1/29'
[saned] check_host: config file line: `#[2001:db8:185e::42:12]'
[saned] check_host: config file line: `#[2001:db8:185e::42:12]/64'
[saned] check_host: config file line: `192.168.0.1/24   # adresse_reseau/bits_masque - On autorise tout le réseau 192.168.0.*'
[saned] check_host: subnet with base IP = 192.168.0.1, CIDR netmask = 24   # adresse_reseau/bits_masque - On autorise tout le réseau 192.168.0.*
[saned] check_host: access granted from IP address 192.168.0.21 (in subnet 192.168.0.1/24   # adresse_reseau/bits_masque - On autorise tout le réseau 192.168.0.*)
[saned] init: access granted
[saned] init: access granted to cactus@::ffff:192.168.0.21
[saned] process_request: waiting for request
[saned] process_request: got request 1
[saned] process_request: waiting for request
[saned] process_request: got request 10
[saned] bailing out, waiting for children...
[saned] bail_out: all children exited

 

Dans la mesure où cela fonctionne quand même, je ne pense pas qu'il s'agisse d'un pb de configuration...

 

Une idée pour m'aider ?

 

Merci pour votre aide.


Message édité par cactus le 27-10-2012 à 18:36:45
Reply

Marsh Posté le 27-10-2012 à 17:21:22   

Reply

Marsh Posté le 27-10-2012 à 18:36:07    

Alors j'ai une idée pour contourner le problème : relancer en boucle le service saned.
Sauf que je ne sais pas faire.
Sur la distrib en place (Archlinux en ARM), saned n'est pas un vrai service, c'est un exécutable dans /usr/sbin.
J'ai donc imaginé lancer à l'infini cet exécutable : dès qu'il plante, il se relance. Avec une simple boucle.
Mais je ne suis pas programmeur, je ne maitrise pas le bash.
Quelqu'un pour m'aider ? :jap:

Reply

Marsh Posté le 27-10-2012 à 19:00:10    

Je viens d'essayer ça, mais ça ne semble pas marcher :
 

Code :
  1. #!/bin/bash
  2. while :
  3.    do
  4.       /usr/sbin/saned
  5.    done


 
Je suis sûr que vous êtes nombreux à pouvoir m'aider ! ;)  
 
Merci ! :jap:


Message édité par cactus le 27-10-2012 à 19:17:50
Reply

Marsh Posté le 27-10-2012 à 22:13:02    

Bizarrement, c'est le programme qui ne se lance pas. Si je mets un echo "ok" à la place, ça marche.
Et si je lance la commande directement snas la boucle, ça marche... (enfin, il plante après la 1ère utilisation).
Je ne comprends pas ce que j'ai raté... :(

Reply

Marsh Posté le 27-10-2012 à 22:23:17    

Je continue mon monologue... :whistle: (ça aidera peut-être un jour quelqu'un !)
J'ai trouvé l'origine du problème.
Le script est bon.
Mais c'est saned qui buggue, et qui ne s'interface pas correctement avec avahi-daemon. Pourtant ce dernier est lancé.
Mais si je fais '/usr/sbin/saned -d5', saned fonctionne en standalone et lance son propre avahi-daemon (ou s'y connecte correctement).
Et en fait, depuis le début de mes tests, je faisais toujours avec l'option -d5 (option de debug).

 

Reste plus qu'à comprendre pourquoi saned fonctionne mal... en attendant, je peux me contenter de l'option -d5.


Message édité par cactus le 27-10-2012 à 22:23:30
Reply

Marsh Posté le 31-10-2012 à 13:25:54    

quand tu dis "plante", tu veux dire qu'il s'arrête ou qu'il renvoie un message d'erreur ?
 
Tu n'es pas censé l'interfacer avec xinet plutôt ?


---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
Reply

Marsh Posté le 31-10-2012 à 13:39:55    

Il ne fait rien. Aucun message lorsque je tape 'saned', il rend la main, mais ça ne marche pas.
 
Sinon, j'ai suivi un tuto (ubuntu je crois), qui modifie (ou au moins vérifie) la conf de xinet.
Mais de toute évidence, je dois lancer saned en mode debug (option -d5) pour que ça fonctionne.
J'ai remarqué que cette option activait un mode standalone de connexion à avahi (voir début du log ci-dessus).
En attendant, je fait tourner mon script en mode debug, et ça fonctionne, ce qui est l'essentiel.


Message édité par cactus le 31-10-2012 à 13:43:36
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed