Bug 1444619 - Scanner cannot be found
Summary: Scanner cannot be found
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: sane-backends
Version: 25
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Nils Philippsen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-04-23 10:55 UTC by Patrick O'Callaghan
Modified: 2017-06-26 15:25 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-06-26 15:25:19 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Patrick O'Callaghan 2017-04-23 10:55:49 UTC
Description of problem:
My wireless all-in-one scanner, which has worked until recently, can no longer be found.

Version-Release number of selected component (if applicable):
1.0.25-7 and 1.0.25-4

How reproducible:
100%

Steps to Reproduce:
1.Run scanimage -L
2.Get "No scanners were identified..."
3.

Actual results:
Scanner not found

Expected results:
Scanner working correctly as before

Additional info:
This is a Brother DCP-7055W all-in-one laser printer/scanner, connected by Wifi, using the proprietary RPM package from Brother. It has worked correctly for over 3 years. The printer function still works and responds to pings. I've tried several clients, including scanimage, simple-scan and skanlite, plus VueScan (commercial). The scanner works perfectly when run from a Windows laptop. I've power-cycled the device, rebooted the system, rolled back the SANE packages to the previous version and nothing works. As I use the scanner function only occasionally I can't be sure which update caused the problem.

Comment 1 tristram_ 2017-05-05 10:00:25 UTC
I have a similar problem. My Epson XP-720, which requires the epson2 backend, can be found using sane on Debian but not on the latest version of Centos 7 (x86_64). I ran scanimage with strace and it reported lots of ENOENT problems opening backend .conf files - don't know it this is relevant?

At first I just had the same-backend package installed on Centos. This didn't even spot a USB connected cannon LiDE 210, in fact it didn't even pause for breath before saying no scanners found. This changed after installing sane-backend-devel package. It now pauses before reporting the cannon. However, it still can't find the XP-720 either with or without the cannon being present (I only attached the cannon as a test).

Both scanners can be found and work on Debian 7.

Comment 2 tristram_ 2017-05-05 11:53:21 UTC
Just had another look at the strace and it seems that scanimage looks for files in a few places and it definitely found epson2.conf. Also, if I list the device in net.conf, the 'connect(9, {sa_family=AF_INET, sin_port...)' call returns ECONNREFUSED.

Comment 3 Patrick O'Callaghan 2017-05-05 12:15:28 UTC
(In reply to tristram_ from comment #2)
> Just had another look at the strace and it seems that scanimage looks for
> files in a few places and it definitely found epson2.conf. Also, if I list
> the device in net.conf, the 'connect(9, {sa_family=AF_INET, sin_port...)'
> call returns ECONNREFUSED.

Possibly a firewall issue, but you'd need to check the device docs to know what ports it needs. In my case I think the required ports are open, so my problem may not be the same.

Comment 4 Patrick O'Callaghan 2017-05-05 16:58:26 UTC
I turned off the firewall and it made no difference, so the problem is something else.

Comment 5 tristram_ 2017-05-06 08:19:02 UTC
Hmm, I'll try with firewall switched off - it's not something with the device because it works perfectly with Debian.

Have you tried running scanimage with strace?

Comment 6 tristram_ 2017-05-06 08:32:47 UTC
Ha, stopped the firewall and it worked:)

Just in case you aren't familiar with strace...

 strace -o <op-file-name> scanimage -L

The file is Hunan readable and may give you an insight into what is going on. (Strace is in the package of them same name)

Comment 7 tristram_ 2017-05-06 08:40:55 UTC
Just a thought - if you haven't already - install the sane-backends-devel package as sane couldn't properly identify even USB connected devices until I installed it.

Comment 8 Patrick O'Callaghan 2017-05-06 12:12:29 UTC
(In reply to tristram_ from comment #7)
> Just a thought - if you haven't already - install the sane-backends-devel
> package as sane couldn't properly identify even USB connected devices until
> I installed it.

That had no effect I'm afraid, even after rebooting (just in case).

Comment 9 Patrick O'Callaghan 2017-05-06 12:31:37 UTC
(In reply to tristram_ from comment #5)
> Hmm, I'll try with firewall switched off - it's not something with the
> device because it works perfectly with Debian.
> 
> Have you tried running scanimage with strace?

This is the relevant line:

sendmsg(9, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1I\0\0\0\2\0\0\0L\0\0\0\1\1o\0\1\0\0\0/\0\0\0\0\0\0\0"..., iov_len=96}, {iov_base="%\0\0\0hpaio:/net/HP_Scan_Devices?i"..., iov
_len=73}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 169
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 2), ...}) = 0
write(1, "\n", 1)                       = 1
write(1, "No scanners were identified. If "..., 72) = 72

Note that it's looking for an hpaio device, which I don't have. That's because I have the hplip packages installed (I used to have an HP printer). I removed them and tried again. Now we have:

open("/etc/sane.d/net.conf", O_RDONLY)  = 9
fstat(9, {st_mode=S_IFREG|0644, st_size=573, ...}) = 0
read(9, "# This is the net backend config"..., 4096) = 573
read(9, "", 4096)                       = 0
close(9)                                = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 2), ...}) = 0
write(1, "\n", 1)                       = 1
write(1, "No scanners were identified. If "..., 72) = 72

The /etc/sane.d/net.conf file is the default, i.e. no entries. This is how it has always been and the Brother package does not modify it.

Comment 10 tristram_ 2017-05-06 13:32:30 UTC
I just tried again on a newly created centos 7 minimal system and it worked with firewalld stopped. All I did was...

sudo yum install sane-backends sane-backends-devel

It picked up my network scanner straight away.

Have you checked which backend you need loaded? When I looked in dll.conf I noticed that some backends were commented out. Mine needs epson2 which is listed in dll.conf and epson2 is present in /etc/sane.d.

Comment 11 tristram_ 2017-05-06 13:48:20 UTC
PS. When it scans it seems to try all the devices associated with the backends listed in dll.conf except those commented out.

Comment 12 Patrick O'Callaghan 2017-05-06 16:37:37 UTC
(In reply to tristram_ from comment #11)
> PS. When it scans it seems to try all the devices associated with the
> backends listed in dll.conf except those commented out.

dll.conf includes brother4 (from the Brother RPM) and /usr/lib64/sane/libsane-brother4.so* exist.

However, digging deeper I find that the device has autonomously changed its IP address (despite me using a static IP in DHCP). When I set it up again with the new address, scanimage now finds it. Note that it was nevertheless working as a printer before the change, so clearly something in CUPS is using some kind of broadcast to find it, but the same doesn't happen when scanning.

I'm unclear as to whether this still counts as a bug, or is just a misconfiguration.

Comment 13 Nils Philippsen 2017-06-26 15:25:19 UTC
Sorry for the late reply. It seems both your issues lie somewhere other than in sane-backends, so I'll close this bug.


Note You need to log in before you can comment on or make changes to this bug.