自升级以来,我的 Epson 扫描仪 GT-S50(Epkowa 驱动程序)。dmesg
插入时会被检测到():
[ 3755.680091] usb 3-4.4.1: new high-speed USB device number 8 using ehci-pci
[ 3755.789893] usb 3-4.4.1: New USB device found, idVendor=04b8, idProduct=0137
[ 3755.789895] usb 3-4.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3755.789896] usb 3-4.4.1: Product: EPSON Scanner
[ 3755.789897] usb 3-4.4.1: Manufacturer: EPSON
但是当启动“图像扫描!”或“简单扫描”时,无法检测到扫描仪。
它仍然以某种方式被 Sane 检测到,因为在运行 sane-find-scanner 时,它“看到”了它:
...
found USB scanner (vendor=0x04b8 [Language Error], product=0x0137 [Language Error]) at libusb:003:008
...
但是,scanimage -L
检测不到!
未识别任何扫描仪。如果您期望得到不同的结果,请检查扫描仪是否已插入、已打开并且被 sane-find-scanner 工具检测到(如果适用)。请阅读此软件附带的文档(README、FAQ、手册页)。
如果我找不到解决方案,我会考虑降级回 16.04。
经过一些额外调查后,我得到了额外的信息:升级到 Ubuntu 18.04 似乎破坏了 Sane 设置中的某些功能。iscan
由于系统日志中出现以下错误,呼叫或其他与 sane 相关的应用程序都无法发现我的扫描仪:
iscan: io/hpmud/pp.c 627: unable to read device-id ret=-1
对合理实用程序的其他调用由于同样的原因而失败:
colord-sane: io/hpmud/pp.c 627: unable to read device-id ret=-1
scanimage: io/hpmud/pp.c 627: unable to read device-id ret=-1
xsane: io/hpmud/pp.c 627: unable to read device-id ret=-1
编辑2:好的,找到并解决了消息的来源io/hpmud/pp.c 627: unable to read device-id ret=-1
;它是由 hplip(libsane)的 hpio 模块引起的。我已将其禁用(= 在文件中注释掉/etc/sane.d/dll.d/hplip
),现在该消息已消失。
此外,我尝试通过添加文件来指定我的扫描仪为usb 0x04b8 0x0137
正常/etc/sane.d/epkowa.conf
状态和/etc/udev/rules.d/
在文件中添加了以下 UDEV 规则55-libsane.rules
:
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE=="0666"
SUBSYSTEM=="usb_device", MODE=="0666"
ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0137", MODE="0666",
GROUP="scanner", ENV{libsane_matched}="yes"
但是,到目前为止仍然无济于事......扫描仪顽固地未被发现:'(
附注:不知道这是否重要,但是断开扫描仪时,我看到以下消息出现/var/log/syslog
:
May 16 09:37:40 hades kernel: [22174.197243] usb 3-4.4.1: USB disconnect, device number 7
May 16 09:37:40 hades upowerd[1809]: unhandled action 'unbind' on /sys/devices/pci0000:00/0000:00:1c.5/0000:05:00.0/0000:06:00.2/usb3/3-4/3-4.4/3-4.4.1
May 16 09:37:40 hades colord-sane[7678]: failed to receive list of devices: Failed to connect to missing device /org/freedesktop/ColorManager/devices/sysfs_EPSON_EPSON_Scanner
答案1
我在评论中找到了这样一个词:Ubuntu 的 sane-backends 错误 #1728012。我把它记录为评论在错误报告上。
问题似乎在于/usr/lib/x86_64-linux-gnu/sane
(或更一般地说/usr/lib/$(uname -m)-linux-gnu/sane
)文件夹中缺少指向 epkowa(SEIKO EPSON)库的符号链接。
因此我做了以下事情:
sudo ln -sfr /usr/lib/sane/libsane-epkowa* /usr/lib/x86_64-linux-gnu/sane
删除了
usb 0x04b8 0x0137
我添加的条目/etc/sane.d/epkowa.conf
添加了一个包含以下文本的
55-epson-libsane.rules
文件:/etc/udev/rules.d/
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE=="0666" SUBSYSTEM=="usb_device", MODE=="0666" ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="*", MODE="0666" ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0137", MODE="0666", GROUP="scanner", ENV{libsane_matched}="yes"
最后我拔下/插入扫描仪并尝试
scanimage -L
并得到了这个令人鼓舞的答案:
device `epkowa:interpreter:003:011' is a Epson GT-S50 flatbed scanner
然后我开始
iscan
(图像扫描!),它立即检测到我的扫描仪。然后我可以成功扫描一页。耶!:-)
更新:(Ubuntu 20.04)
升级到 Ubuntu 20.04 后,我突然又遇到了这个问题。我搜索了好一会儿,因为我的配置似乎没有任何变化……突然间,我注意到我的/etc/sane.d/epkowa.conf
文件权限不知何故被更改了,而且该文件只有 root 才能读取!
将其改回“世界”可读(chmod +r /etc/sane.d/epkowa.conf
)后,一切都恢复正常,iscan 和 scanimage 都可以再次正确检测扫描仪,而无需使用“sudo”进行调用。