Ubuntu 20.04下的Epson扫描仪

san*_*lio 6 epson sane scanner

我的意思是在 Ubuntu 20.04 下安装扫描仪 Epson 3170 Photo。我在底部张贴了在检查我的 PC 是否找到扫描仪之前我采取的(通常)安装步骤。

然后,sane-find-scanner找到了扫描仪

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

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x06cb, product=0x009a) at libusb:001:005
found USB scanner (vendor=0x04b8 [EPSON], product=0x0116 [EPSON Scanner]) at libusb:001:009
  # 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)

(注意:没有sudo我收到错误消息

could not open USB device 0x1d6b/0x0003 at 002:001: Access denied (insufficient permissions)
...
Run Code Online (Sandbox Code Playgroud)

我的意思是稍后解决这个问题,如果我设法克服以下问题,除非这是问题的一部分,我猜不是)。

然后scanimage没找到扫描仪

$ sudo 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)

所以我编辑/etc/sane.d/dll.conf,添加epkowa(它没有列出)和评论epson2epson已经评论过了。页面理智:外部后端(驱动程序)提到,3170由支持epkowa(“需要DFSG非自由ISCAN-插件-GT-9400海外版本的GT-9400UF的”)。

所以我尝试安装iscan-plugin-gt-9400. 它只能作为rpm,而不是deb. 寻找相关信息,我在 Ubuntu Feisty 上的EPSON USB 扫描仪Epson Perfection 3170 照片扫描仪(又名 GT-9400)的[已解决] 成功图像扫描安装中找到,通过转换rpm->deb并安装它们(实际上是两个软件包)是使 3170 工作的唯一方法。我不确定这从发布这些帖子的时间起是否有所改变,但我决定尝试。

遵循上述说明,此外:

  1. 在文件中使用Architecture: i386 amd64而不是(否则 会抛出错误)。Architecture: i386, amd64debian/controldpkg-gencontrol: error: 'i386,' is not a legal architecture in list 'i386, amd64'

  2. 执行,export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu" 因为我收到了几个错误

    $ fakeroot debian/rules binary
    ...
    dpkg-shlibdeps: error: cannot find library libjpeg.so.62 needed by debian/iscan/usr/lib/sane/libsane-epkowa.so.1.0.15 (ELF format: 'elf32-i386' abi: '0101000300000000'; RPATH: '')
    ...
    dpkg-shlibdeps: error: cannot continue due to the errors listed above
    Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file.
    To help dpkg-shlibdeps find private libraries, you might need to use -l.
    dh_shlibdeps: error: dpkg-shlibdeps -Tdebian/iscan.substvars debian/iscan/usr/lib/sane/libsane-epkowa.so.1.0.15 debian/iscan/usr/lib/libesmod.so.1.1.0 debian/iscan/usr/bin/iscan returned exit code 2
    dh_shlibdeps: error: Aborting due to earlier error
    make: [debian/rules:27: binary-arch] Error 2 (ignored)
    ...
    
    Run Code Online (Sandbox Code Playgroud)

我设法创建iscan_2.10.0-2_amd64.deb(预计会得到2.10.0-2而不是2.10.0-1?)和iscan-plugin-gt-9400_1.0.0-2_amd64.deb.

然后我安装了两个包

$ sudo gdebi iscan_2.10.0-2_amd64.deb
$ sudo gdebi iscan-plugin-gt-9400_1.0.0-2_amd64.deb 
Run Code Online (Sandbox Code Playgroud)

(我在这里覆盖了我之前创建的/etc/sane.d/epkowa.conf)。

然后我插入扫描仪并打开它。 我得到了错误

$ iscan
iscan: error while loading shared libraries: libjpeg.so.62: wrong ELF class: ELFCLASS64
Run Code Online (Sandbox Code Playgroud)

我怎样才能继续让扫描仪工作? (我预计一旦这个问题解决了,在它起作用之前会有一些障碍)


我做了什么:

  1. sudo apt-get install sane sane-utils libsane xsane

  2. 下载 imagescan-bundle-ubuntu-19.10-3.62.0.x64.deb.tar.gz

  3. 展开上方和内部的存档imagescan-bundle-ubuntu-19.10-3.62.0.x64.deb执行./install.sh

  4. 将自己加入群组 lp

  5. 重启

  6. 核实

    $ groups
    user1 adm lp cdrom sudo dip plugdev lpadmin lxd sambashare vboxusers
    
    Run Code Online (Sandbox Code Playgroud)
  7. 将扫描仪插入 USB 并打开它。


有关的

  1. https://alicious.com/iscan-linux-networked-epson/
  2. https://wiki.archlinux.org/index.php/SANE/Scanner-specific_problems#Epson
  3. 运行 epson Scanner 完美 3170
  4. 安装 Epson Linux 扫描仪驱动程序时出现语法错误(适用于 v550)
  5. https://bbs.archlinux.org/viewtopic.php?id=182346
  6. 适用于 Ubuntu 16.04 的扫描仪 Epson L210 正在运行
  7. https://exain.wordpress.com/tag/epkowa/
  8. http://fbcorner.tuxfamily.org/linux.html
  9. https://forums.linuxmint.com/viewtopic.php?t=279318
  10. 如何安装EPSON l210扫描仪
  11. 简单扫描找不到扫描仪
  12. https://gist.github.com/unfulvio/e8daa0a78482a03e0358b0f5afee8b03
  13. https://linux.die.net/man/7/sane
  14. 简单扫描未检测到扫描仪
  15. https://community.clearlinux.org/t/scanner-not-recognized-part-2/1719
  16. http://manpages.ubuntu.com/manpages/bionic/man5/sane-epson2.5.html
  17. http://www.subdude-site.com/WebPages_Local/RefInfo/Computer/Linux/ScannerHowTo/Scanner_HowTo_forEpson.htm
  18. https://www.gsp.com/cgi-bin/man.cgi?section=5&topic=sane-epkowa

小智 0

我在使用略有不同的Epson 3490时遇到了同样的问题:升级到 Ubuntu 20.04后,它被检测到但没有扫描。最终,解决方案变得非常简单 - 见下文。

我的原始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.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04b8 [EPSON], product=0x0122 [EPSON Scanner]) at libusb:001:008

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

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.
Run Code Online (Sandbox Code Playgroud)

scanimage -L输出:

device `snapscan:libusb:001:008' is a EPSON EPSON Scanner flatbed scanner
Run Code Online (Sandbox Code Playgroud)

GUI 扫描工具甚至可以找到扫描仪,但它们报告错误,例如could not connect to the scanner.

经过一番研究后发现,扫描仪由sane中的snapscan驱动程序支持,只是缺少固件文件

这就是我安装固件的方式:

  1. 从 Epson 官方支持页面下载适用于您的扫描仪的 Linux 驱动程序包。就我而言,我正在寻找Epson 3490Linux 驱动程序。该包被命名为iscan-plugin-gt-f520-1.0.0-1.c2.i386.rpm. 下载之前必须接受许可证条件。

  2. 安装rpmsudo apt install rpm

  3. 从 Epson 包中提取文件:rpm2cpio iscan-plugin-gt-f520-1.0.0-1.c2.i386.rpm >epson.cpio

  4. 从新创建的epson.cpio. 固件文件位于/usr/share/iscan/esfw52.bin

  5. 将固件文件复制到系统位置:sudo mkdir /usr/share/sane/snapscan ; sudo cp esfw52.bin /usr/share/sane/snapscan ; sudo chown root:root /usr/share/sane/snapscan/esfw52.bin

  6. 配置固件路径snapscan.confsudo vi /etc/sane.d/snapscan.conf

在配置文件的顶部输入路径。就我而言:

# Change to the fully qualified filename of your firmware file, if
# firmware upload is needed by the scanner
firmware /usr/share/sane/snapscan/esfw52.bin
Run Code Online (Sandbox Code Playgroud)

此后扫描仪开始工作。


小智 -1

该问题可能与权限不当有关。

在您的情况下,您已经通过运行找到了扫描仪sudo sane-find-scanner

found USB scanner (vendor=0x04b8 [EPSON], product=0x0116 [EPSON Scanner]) at libusb:001:009
Run Code Online (Sandbox Code Playgroud)

(记下 中的值sane-find-scanner,稍后您将需要这些)

现在您已经有了此信息,请运行以下命令来检查权限:

sudo ls -l /dev/bus/usb/001/009
Run Code Online (Sandbox Code Playgroud)

就我而言,权限是这样的:

0 crw-rw-r--   1 root     root     189, 386 Jun 25 06:34 ./001/009
Run Code Online (Sandbox Code Playgroud)

这说明只有root用户和root组中的用户有读写权限。所有其他人都具有只读权限。

解决方案是运行:

sudo chmod 0666 /dev/bus/usb/001/009
Run Code Online (Sandbox Code Playgroud)

这为每个人提供了对该设备的读写权限。

然后再次运行ls命令:

sudo ls -l /dev/bus/usb/001/009
Run Code Online (Sandbox Code Playgroud)

输出应验证权限是否已更改:

crw-rw-rw- 1 root root 189, 386 Jun 25 07:29 /dev/bus/usb/001/009
Run Code Online (Sandbox Code Playgroud)

现在扫描仪应该可供所有用户使用,而不仅仅是 root 用户。