View previous topic :: View next topic |
Author |
Message |
Fog_Watch Apprentice
Joined: 24 Jul 2006 Posts: 267 Location: Utility Muffin Research Kitchen
|
Posted: Thu Mar 14, 2019 2:25 am Post subject: Why can't I discover my network scanner with xinetd? SOLVED |
|
|
I would like to scan over my network.
My server returns:
Code: | $ scanimage -L
device `epkowa:interpreter:002:004' is a Epson GT-S640 flatbed scanner
|
My client however has problems. If I run saned on the server, scanimage -L on the client discovers a scanner as above. If however I start saned on the server with xinetd, scanimage -L on the client returns No scanners were identified. That is, I can discover my scanner from my client with /etc/init.d/saned start on the server, but not /etc/init.d/xinetd start. Why?
Code: | # cat /etc/xinetd.d/saned
service sane-port
{
socket_type = stream
server = /usr/sbin/saned
protocol = tcp
user = saned
group = scanner
only_from = 192.168.1.0/24
wait = no
disable = no
}
|
Code: | # SANE_DEBUG_NET=128 scanimage -L #client with xinetd on the server
[sanei_debug] Setting debug level of net to 128.
[net] sane_init: authorize != null, version_code != null
[net] sane_init: SANE net backend version 1.0.14 (AF-indep) from sane-backends 1.0.27
[net] sane_init: Client has little endian byte order
[net] sane_init: searching for config file
[net] sane_init: trying to add server_machine
[net] add_device: adding backend server_machine
[net] add_device: backend server_machine added
[net] sane_init: done reading config
[net] sane_init: evaluating environment variable SANE_NET_HOSTS
[net] sane_init: evaluating environment variable SANE_NET_TIMEOUT
[net] sane_init: done
[net] sane_get_devices: local_only = 0
[net] connect_dev: trying to connect to server_machine
[net] connect_dev: [0] connection succeeded (IPv4)
[net] connect_dev: sanei_w_init
[net] connect_dev: net_init (user=root, local version=1.0.3)
[net] connect_dev: freeing init reply (status=Success, remote version=1.0.3)
[net] connect_dev: done
[net] sane_get_devices: finished (0 devices)
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
[net] sane_exit: exiting
[net] sane_exit: closing dev 0x556d1cbb5ac0, ctl=3
[net] sane_exit: finished.
|
Code: | tail -n 6 /var/log/messages
Mar 14 13:20:15 server_machine xinetd[16679]: START: sane-port from=192.168.1.26
Mar 14 13:20:15 server_machine saned[18778]: saned (IPv4 only) from sane-backends 1.0.27 starting up
Mar 14 13:20:15 server_machine saned[18778]: check_host: access by remote host: 192.168.1.26
Mar 14 13:20:15 server_machine saned[18778]: init: access granted to root@192.168.1.26
Mar 14 13:20:15 server_machine saned[18778]: saned exiting
Mar 14 13:20:15 server_machine xinetd[16679]: EXIT: sane-port status=0 duration=0(sec) |
Last edited by Fog_Watch on Fri Mar 15, 2019 12:01 am; edited 1 time in total |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9678 Location: almost Mile High in the USA
|
Posted: Thu Mar 14, 2019 3:47 pm Post subject: |
|
|
You will need to run saned as a daemon directly without inetd if you want to autodetect. Saned will also respond to broadcast discovery requests that xinetd will ignore. I don't think there is a good workaround with xinetd, unless you want to manually specify the machine with the scanner attached.
(perhaps enabling zeroconf might be an option, I don't know... been using saned as a daemon directly.) _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
Fog_Watch Apprentice
Joined: 24 Jul 2006 Posts: 267 Location: Utility Muffin Research Kitchen
|
Posted: Thu Mar 14, 2019 10:57 pm Post subject: |
|
|
eccerr0r wrote: | You will need to run saned as a daemon directly without inetd if you want to autodetect. |
This was yesterday's experience. However, xinetd on the server and scanimage -L on the client did work up until about a year ago (maybe two years ago). I don't know what's changed. |
|
Back to top |
|
|
Fog_Watch Apprentice
Joined: 24 Jul 2006 Posts: 267 Location: Utility Muffin Research Kitchen
|
Posted: Fri Mar 15, 2019 12:00 am Post subject: |
|
|
I had the wrong user and wrong server_args. The following works:
Code: | # cat /etc/xinetd.d/saned
service sane-port
{
socket_type = stream
server = /usr/sbin/saned
protocol = tcp
user = root
server_args = "-a saned"
only_from = 192.168.1.0/24
wait = no
disable = no
}
|
|
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9678 Location: almost Mile High in the USA
|
Posted: Fri Mar 15, 2019 2:43 am Post subject: |
|
|
Well, if you specify "-a" in xinetd, then it basically runs it as a standalone server. Though something still baffles me as xinetd would be listening to the port and you should get a conflict...
Anyway, something needs to be constantly running for discovery, then the client programs won't then need to "nmap" your network for scan servers and thus know what your network configuration is not to mention being slow. _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
|