在 Ubuntu 16.04 中使用 Sane 时 S1300I 扫描仪出现问题

在 Ubuntu 16.04 中使用 Sane 时 S1300I 扫描仪出现问题

理论上,这款扫描仪可以在 Linux 和 Ubuntu 下工作。我找到了这份文档并尝试遵循。

http://luuklangens.nl/blog/howto-fujitsu-scansnap-s1300-s300-ubuntu-linux

我安装了 sane,复制了固件,确认了配置中的位置等等。一切看起来都很好。

潜在问题领域

sudo sane-find-scanner

输出:

# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.

found SCSI processor "Marvell 91xx Config 1.01" at /dev/sg5
# Your SCSI scanner was detected. It may or may not be supported by SANE. Try
# scanimage -L and read the backend's manpage.

could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
found USB scanner (vendor=0x04c5 [FUJITSU], product=0x128d [ScanSnap S1300i]) at    libusb:005:007
could not fetch string descriptor: Pipe error
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.

# Not checking for parallel port scanners.

# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.

好的。扫描仪被检测到并列出后,它会打印出一堆额外的噪音,

# scanimage -L

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).

好的,让我们验证固件文件:

ls -lh  /usr/share/sane/epjitsu 
total 136K
-rw-r----- 1 root root 65K Jan  1 17:49 1300_0C26.nal
-rw-r----- 1 root root 65K Jan  1 17:49 300_0C00.nal

查看配置文件:(片段)

# Fujitsu S300
firmware /usr/share/sane/epjitsu/300_0C00.nal
usb 0x04c5 0x1156

# Fujitsu S1300
firmware /usr/share/sane/epjitsu/1300_0C26.nal
usb 0x04c5 0x11ed

我最后尝试的是拉出 sane-find-scanner 的线路并更新配置

sane-find-scanner 返回了不同的产品 ID。我更新了上述配置文件,重新启动了 sane 服务,然后运行 ​​scanimage -L,仍然未检测到扫描仪。

作为参考,我曾在这台计算机上的 VirtualBox VM 上运行过此程序。如果我能让它在 Windows 下运行,那就太理想了。任何建议都将不胜感激。


更新:添加 1300i 固件后我重新审视了该行为,但它仍然不起作用。

偶尔我运行时会出现这样的输出。如果我再次运行它,它会失败。

scanimage -L
device `epjitsu:libusb:005:008' is a FUJITSU ScanSnap S1300i scanner

此外,sudo gscan2pdf 和 sudo simple-scan 都无法检测到扫描仪。无论有没有 sudo 权限,都会失败。

答案1

感谢所有在这里发布宝贵信息和链接的人。如果没有你们的帖子,我就无法弄清楚。

这是我之前帖子的修订版,其中提到了 Sane v.1.0.23 / Ubuntu 14.04。Sane v.1.0.23 检测到了富士通 S1300i 扫描仪,但不知何故在第二次和后续运行“scanimage -L”时卡住了,找不到扫描仪,如之前帖子所述。

Sane v.1.0.25 (Ubuntu 16.04) 使用“sane-find-scanner”或“sudo sane-find-scanner”检测富士通 S1300i。但是,“scanimage -L”或“sudo scanimage -L”根本无法在我的 Ubuntu 16.04 系统上检测到 S1300i。

以下步骤旨在使 Fujitsu S1300i 在 Ubuntu 16.04 桌面系统上运行。经过适当修改后,它也应该适用于其他 Ubuntu 版本。

1.获取、编译并安装最新版本的Sane

以下说明大致基于“从源代码编译 Sane”文章在Ubuntu 社区帮助维基

以下命令会将 Sane 安装到 /usr/local。如果您选择安装到 /usr 而不是 /usr/local,请查看“从源代码编译 Sane”并使用适当的开关代替下面使用的开关。我建议安装到 /usr/local,因为这样可以保持 Sane 的原始安装完好无损,以防您想切换回使用原始版本。

安装先决条件:

sudo apt-get install libusb-dev build-essential libsane-dev
sudo apt-get install libavahi-client-dev libavahi-glib-dev libjpeg-dev
sudo apt-get install git-core

下载最新的 Sane:

git clone git://git.debian.org/sane/sane-backends.git

在撰写本文时,最新的提交是这样的:

$ git log -n 1
commit 1e013654cc3af09f4731ab9ec8d8324d03a7de4a
Author: Alessandro Zummo <[email protected]>
Date:   Mon May 9 11:10:35 2016 +0200

编译并安装Sane:

cd sane-backends
./configure
make
sudo make install

如果您决定删除此 Sane 安装,请使用“sudo make uninstall”从 /usr/local 中删除所有已安装的文件。这是恢复使用 /usr 中的常规安装的干净方法。

2. 注册 libsane

检查你的系统如何找到 Sane 共享对象库:

sudo ldconfig -v | grep libsane

如果你看到类似这样的内容:

libsane.so.1 -> libsane.so.1.0.25
libsane.so.1 -> libsane.so.1.0.26

这意味着系统首先找到版本 1.0.25,然后找到 1.0.26,这不是正确的顺序。在这种情况下,您必须更改 /etc/ld.so.conf 中的库路径顺序,或者您必须为 sane 创建一个新的配置文件:

echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/1-sane.conf

更改 /etc/ld.so.conf 中的库路径或在 1-sane.conf 中创建新的配置文件后,请使用“sudo ldconfig -v | grep libsane”再次检查库的顺序。确保版本 1.0.26 在其他版本之前首先出现。

3. 安装扫描仪固件

从安装了扫描仪软件的 Windows 计算机复制 Fujitsu S1300i 驱动程序文件“1300i_0D12.nal”。通常,此驱动程序文件位于“C:\Windows\SSDriver\S300”。将驱动程序文件放入 /usr/local 层次结构中:

sudo mkdir -p /usr/local/share/sane/epjitsu
sudo cp ./1300i_0D12.nal /usr/local/share/sane/epjitsu/

4. 调整以非 root 用户身份访问扫描仪的权限

默认的 udev 规则将 USB 设备的所有权设置为“root”,将组所有权设置为“root”。更改 udev 规则以将组所有权设置为“scanner”。使用您最喜欢的编辑器创建此文件:

/etc/udev/rules.d/79-scanner.rules

并将以下内容放入其中:

# Fujitsu ScanSnap S1300i
ATTRS{idVendor}=="04c5", ATTRS{idProduct}=="128d", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"

如果有必要,将自己添加到“扫描仪”组:

sudo usermod -a -G scanner <username>

5.完成安装

重启计算机。您可能无需重启计算机即可开始使用 Fujitsu S1300i 扫描仪,但强烈建议您重启计算机。我观察到一些奇怪的现象,在重启之前,即使进行了所有必要的配置更改,第二次运行“scanimage -L”仍无法找到扫描仪。这可能是因为 Sane 早期版本的某些库或驱动程序“卡”在缓存中的某个地方。系统重启可以清除所有问题。

重新启动后,连接扫描仪,打开盖子并执行:

scanimage -L

就这样吧。尽情享受您的扫描仪吧。

答案2

实际上,我在几个 Ubuntu 安装中设置 ScanSnap S1300 扫描仪时运气不错。我刚刚在 16.04 系统上设置了它。http://luuklangens.nl/blog/howto-fujitsu-scansnap-s1300-s300-ubuntu-linux过去对我有用,但这个帖子不再可用。

另外,也可以使用以下说明http://www.openfusion.net/linux/scansnap_1300i似乎很适用,但我要提醒的是,S1300 和 S1300i 之间的差异似乎很重要。我这个周末的具体过程是下载 1300_0C26.nal 和 1300i_0D12.nal 文件,然后我按照 Beef Eater 的回复中的第三步进行操作,但安装了这两个文件。重启后,简单扫描没有问题。我不是从源代码构建。

仅供参考-我显然已经安装了 saned 1.0.25+git20150528-1ubuntu2。

相关内容