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

csg*_*eek 6 firmware sane scanner

理论上这个扫描器可以在 Linux 和 Ubuntu 下工作。我找到了我试图遵循的这份文件。

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

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

潜在的问题领域

sudo sane-find-scanner
Run Code Online (Sandbox Code Playgroud)

输出:

# 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.
Run Code Online (Sandbox Code Playgroud)

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

# 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).
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

查看配置文件:(片段)

# 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
Run Code Online (Sandbox Code Playgroud)

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

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

作为参考,我在虚拟机 VM 下的同一台计算机上进行了此操作。如果我可以让它在 Windows 下工作,那将是理想的。任何建议将不胜感激。


更新:我在添加 1300i 固件后重新审视了该行为,但它仍然无法正常工作。

偶尔当我运行时,这是输出。如果我再次运行它会失败。

scanimage -L
device `epjitsu:libusb:005:008' is a FUJITSU ScanSnap S1300i scanner
Run Code Online (Sandbox Code Playgroud)

sudo gscan2pdf 和 sudo simple-scan 也都无法检测到扫描仪。无论是否具有 sudo 权限,它都会失败。

Bee*_*ter 6

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

这是我之前提到 Sane v.1.0.23 / Ubuntu 14.04 的帖子的修订版。Sane v.1.0.23 检测到 Fujitsu 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

以下说明大致基于Ubuntu Community Help Wiki上的“Compile Sane From Source”文章。

下面的命令会将 Sane 安装到 /usr/local 中。如果您选择安装到 /usr 而不是 /usr/local,请查看“从源代码编译理智”并使用适当的开关而不是下面使用的开关。我建议安装到 /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
Run Code Online (Sandbox Code Playgroud)

下载最新的 Sane:

git clone git://git.debian.org/sane/sane-backends.git
Run Code Online (Sandbox Code Playgroud)

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

$ git log -n 1
commit 1e013654cc3af09f4731ab9ec8d8324d03a7de4a
Author: Alessandro Zummo <a.zummo@towertech.it>
Date:   Mon May 9 11:10:35 2016 +0200
Run Code Online (Sandbox Code Playgroud)

编译并安装 Sane:

cd sane-backends
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

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

2.注册libsane

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

sudo ldconfig -v | grep libsane
Run Code Online (Sandbox Code Playgroud)

如果你看到类似的东西:

libsane.so.1 -> libsane.so.1.0.25
libsane.so.1 -> libsane.so.1.0.26
Run Code Online (Sandbox Code Playgroud)

这意味着系统首先找到版本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
Run Code Online (Sandbox Code Playgroud)

一旦您更改了 /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/
Run Code Online (Sandbox Code Playgroud)

4. 调整非root用户访问scanner的权限

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

/etc/udev/rules.d/79-scanner.rules
Run Code Online (Sandbox Code Playgroud)

并将以下内容放入其中:

# Fujitsu ScanSnap S1300i
ATTRS{idVendor}=="04c5", ATTRS{idProduct}=="128d", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"
Run Code Online (Sandbox Code Playgroud)

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

sudo usermod -a -G scanner <username>
Run Code Online (Sandbox Code Playgroud)

5.完成安装

重新启动计算机。您可以在不重新启动计算机的情况下开始使用 Fujitsu S1300i 扫描仪,但强烈建议重新启动。我观察到一些奇怪的行为,即使在进行了所有必要的配置更改之后,“scanimage -L”也无法在重新启动之前第二次运行时找到扫描仪。可能是早期版本的 Sane 中的某些库或驱动程序“卡住”在缓存或其他地方。系统重新启动即可清除所有内容。

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

scanimage -L
Run Code Online (Sandbox Code Playgroud)

就这样。享受您的扫描仪。