Fujitsu ScanSnap IX500 扫描仪停止工作,可能是从 Debian jessie 升级到stretch 时

Fujitsu ScanSnap IX500 扫描仪停止工作,可能是从 Debian jessie 升级到stretch 时

我的 ScanSnap IX500 最近停止工作,可能是从 Debian jessie 升级到stretch 时。

根据文档http://www.sane-project.org/man/sane-fujitsu.5.html我设置了环境变量SANE_DEBUG_FUJITSU=5然后运行xsane,我得到:

fujitsu] sane_init: fujitsu backend 1.0.127, from sane-backends 1.0.25
[fujitsu] sane_get_devices: config option "buffer-size" (262144) is > 65536, warning!
[fujitsu] stat: return error 'Error during device I/O'
[fujitsu] WARNING: Brain-dead scanner. Hitting with stick 
[fujitsu] stat: return error 'Error during device I/O'
[fujitsu] WARNING: Brain-dead scanner. Hitting with stick again
[fujitsu] stat: return error 'Error during device I/O'
[fujitsu] wait_scanner: error 'Error during device I/O'
[fujitsu] connect_fd: could not wait_scanner

它显示lsusb

Bus 004 Device 002: ID 04c5:132b Fujitsu, Ltd 

它间歇性地出现在 中scanimage -L,但目前显示:

SANE_DEBUG_FUJITSU=15 scanimage -L

[fujitsu] attach_one: start
[fujitsu] attach_one: looking for 'libusb:003:015'
[fujitsu] connect_fd: start
[fujitsu] connect_fd: opening USB device
[fujitsu] connect_fd: could not open device: 3
[fujitsu] connect_fd: finish

为什么它不起作用?我如何解决它?

注意:扫描仪插入 USB 2 插槽。我之前将其插入 USB 3 插槽。我尝试将其切换到 USB 2 插槽,因为一些报告称 USB 3 是问题所在,但它仍然无法正常工作。

例如,请参阅错误报告:https://bugzilla.redhat.com/show_bug.cgi?id=1297169http://sane-devel.alioth.debian.narkive.com/kLQc0Aik/fujitsu-ix500-no-scanners-were-identified

无论如何,无论 USB 设备是插入 USB 2 还是 USB 3 插槽,它都应该可以工作。

感谢 Anthony (@derobert) 帮助调试此问题。

看起来这很可能就是sane-backends问题所在,降级或升级将使问题消失。拉伸正在使用1.0.25-4.1,而杰西正在使用1.0.24-8+deb8u2,并且是实验性的1.0.27-1~experimental2

另外,拔掉插头然后重新插入似乎会再次显示一段时间。这表明问题可能不在于 USB sane-backends,而可能是 USB 问题。

答案1

我在从 Raspbian(基于 Debian)Stretch 迁移到 Buster 时也遇到了这个问题,并且使用了之前可用的 scanbd 设置。

编辑:有人想将我的答案编辑为scandb,但确实如此scanbd

到目前为止,我发现了一些问题。

scanbm.socket其中一个问题似乎与出现“端口已在使用”错误有关,该错误似乎是因为saned.socket正在使用相同的端口;使用 systemctl stopdisable后者似乎可以解决这个问题(服务文件实际上是相同的)。

另一个问题是权限问题 - 没有找到任何设备scanimage -L,但可以正确检测到扫描仪sudo scanimage -L。使用sudo lsusb后跟ls -l /dev/bus/usb/BUSNUM/DEVNUM,我可以看到扫描仪由 拥有root:saned,但grep saned /etc/group显示该saned组没有成员。然而,有一个scanner包含该saned用户的组。这与scanbd.conf文件中询问删除特定用户和组权限的选项相匹配(扫描仪是建议之一)。

我发现一个udev服务文件/lib/udev/rules.d/99-saned.rules正在更改匹配的 USB 设备上的权限以拥有该组saned。我将其复制到/etc/udev/rules.d/99-saned.rules并修改为使用组scanner而不是saned.我不知道这个udev规则在stretch和buster之间是否改变了,但是改变它并重新启动似乎恢复了我使用scanbd的能力。

答案2

我刚刚从stretch (9.8) 升级到Debian buster/testing 时遇到了完全相同的问题,具有完全相同的症状。

我碰到这个线程,其中提到 scandb 守护进程保留扫描仪的可能性。引用线程中的内容:

Found the culprit....
SANE DID work..... but I had scanbd installed too, so scanbd had the usb
connection with sane and kept the device locked.....
I disabled scanbd, as I remembered installing that and that it might
interfere with SANE... and so it did!

但该帖子没有提出任何方法来验证这一假设。我花了一段时间试图弄清楚是否可以使用fuser与 ScanSnap 相对应的某个设备来查看 scandb 是否确实保留了它,但无法弄清楚应该是什么设备。所以最后我决定尝试删除scandb我正在使用的,据我所知,所以我什至不知道为什么安装它。做完之后

apt-get purge scandb

扫描仪神奇地开始响应。所以,如果这不是问题所在,那这就是一个巧合。所以如果你也有类似的问题,不妨尝试一下。

看起来我确实在stretch中安装了scandb。作为 4 月 16 日从拉伸到破坏者升级的一部分,我发现我已经term.log

Unpacking scanbd (1.5.1-4) over (1.4.4-1+b2) ...

顺便说一下,当我清除时,我收到一条消息,询问是否应删除对应的scanbd行。默认值是“否”,所以我就这么做了。但我不太清楚这些线的用途,所以如果你知道,请评论。/etc/inetd.confsane-port

#:OTHER: Other services
sane-port stream tcp nowait saned /usr/sbin/scanbm scanbm
sane-port       stream  tcp     nowait  saned:saned     /usr/sbin/saned saned

此外,另一个表明可能发生问题的迹象scandb是 中有关它的消息journalctljournalctl追溯到3月31日,我在4月15日下午/晚上开始安装。但第一次提到scanbdinjournalctl是在 4 月 17 日凌晨,大约在我apt-get upgrade完成的时候:

journalctl --unit=scanbd

Apr 17 00:52:18 orwell systemd[1]: Started Scanner button polling Service.
Apr 17 00:52:18 orwell scanbd[4942]: /usr/sbin/scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
Apr 17 00:52:19 orwell scanbd[4942]: Created directory: /var/lib/snmp/mib_indexes
Apr 17 00:52:30 orwell scanbd[4942]: /usr/sbin/scanbd: no devices, not starting any polling thread
Apr 17 01:40:38 orwell scanbd[4942]: /usr/sbin/scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
Apr 17 01:40:38 orwell scanbd[4942]: /usr/sbin/scanbd: no devices, not starting any polling thread
Apr 17 01:40:38 orwell systemd[1]: Stopping Scanner button polling Service...
Apr 17 01:40:39 orwell systemd[1]: scanbd.service: Succeeded.
Apr 17 01:40:39 orwell systemd[1]: Stopped Scanner button polling Service.

最后,有谁知道如何确定某个进程是否正在占用 USB 扫描仪,如果是,是哪一个进程?我想知道。

相关内容