XSane 前端出现 I/O 错误,但标准输出没有出现错误

XSane 前端出现 I/O 错误,但标准输出没有出现错误

我有一台富士通 ScanSnap ix500。四周前它运行良好,但现在不行了。我确实更新过几次软件包,所以我不确定我使用的 sane 版本是否和以前一样。以前我的扫描仪是通过 USB-Hub 连接的,现在则是直接连接的。我目前也遇到了 policykit 的问题,但我认为这些问题与此无关,因为当我以 root 身份启动程序时,我遇到了同样的问题。

-- 注意:我发现我的潜在问题是我的 sane-backend 版本不支持 xhci(usb 3)并且主板拒绝 ehci。目前我无法修复它并使用另一台计算机进行扫描。这个问题是关于调试选项/日志记录切换的。我不知道它在这台机器上是如何工作的,但它确实工作了。--

我已经提交错误报告关于错误消息质量。从那里可能会获得更多见解。

当我启动 xsane 时收到错误消息:

Fehler beim Öffnen des Geräts `fujitsu:ScanSnap iX500:119468':
 Fehler während Geräte I/O.

翻译:

open of device fujitsu:ScanSnap iX500:119468 failed: Error during device I/O

这种情况只发生过一次,之后我就根本无法连接到扫描快照,直到我将其关闭并再次打开,之后我再次收到上述消息。

我尝试通过从命令行启动 xsane 来获取更多详细信息:

$ xsane
Gtk-Message: Failed to load module "atk-bridge"

因此,我激活了额外的调试信息和:

export SANE_DEBUG_DLL=255

生产(减少到富士通和通用部件,完整输出在这里

$ xsane > xsane_output.txt
Gtk-Message: Failed to load module "atk-bridge"
[sanei_debug] Setting debug level of dll to 255.
[dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.25
[dll] sane_init/read_dlld: attempting to open directory `./dll.d'
[dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d'
[dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d'
[dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/hplip
[dll] sane_init/read_config: reading dll.d/hplip
[dll] add_backend: adding backend `hpaio'
[dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/libsane-extras
[dll] sane_init/read_config: reading dll.d/libsane-extras
[dll] add_backend: adding backend `ls5000'
[dll] sane_init/read_dlld: done.
[dll] sane_init/read_config: reading dll.conf
[...]
[dll] add_backend: adding backend `fujitsu'
[...]
[dll] sane_get_devices
[...]
[dll] load: searching backend `fujitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane'
[dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1'
[dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1'
[dll] init: initializing backend `fujitsu'
[dll] init: backend `fujitsu' is version 1.0.127
[...] 
[dll] sane_get_devices: found 1 devices
[dll] sane_open: trying to open `fujitsu:ScanSnap iX500:119468'
      # Program stays here while the i/o error message is displayed
[dll] sane_exit: exiting
[...]
[dll] sane_exit: calling backend `fujitsu's exit function
[...]
[dll] sane_exit: finished

我没有saned运行。当我尝试启动它时,它首先需要激活,然后什么都没有改变,所以我再次停用它。

当我使用scanimage而不是 时xsane,收到此错误消息:

[dll] sane_get_devices: found 1 devices
[dll] sane_open: trying to open `fujitsu:ScanSnap iX500:119468'
scanimage: open of device fujitsu:ScanSnap iX500:119468 failed: Error during device I/O
[dll] sane_exit: exiting

我当时没有任何条目/var/log/syslog(除了重新启动扫描仪时插入和拔出扫描仪的消息)。我确实删除了libsane-hpaio,但这也没有改变任何东西。

那么,我如何获得正确的调试消息来找出我的实际问题?

答案1

您提到发行版了吗?一些发行版已将 syslog 替换为 journald(systemd 的一部分)。查找 journalctl(1)。

dmesg 有时很有用。特别是,内核日志中有一些关于 xhci 与 ScanSnap 的模糊提示。虽然对我没什么帮助,但它们确实出现了。 http://comments.gmane.org/gmane.linux.usb.general/110579

答案2

为了获得更好的输出信息,运行此命令:

export  SANE_DEBUG_SANEI_USB=128

下次运行时,它将告诉您有关 sane 使用 USB 扫描仪执行的操作的更多信息scanimage -L

对于您的根本问题:sane 更新了后端代码,因此它可以与 xhci 一起使用。更新至 1.0.27(或更高版本)。

如果您等不及 Debian 更新其存储库,您可以从头开始构建 xsane,但请记住,您应该先从发行版中删除软件包。此外,将 Xsane 从存储库中保留下来,但将 libsane*(又名 sane_backends)从 sane 项目中保留下来则相当复杂。因此,您可能更愿意等到您的发行版正确打包它。

相关内容