1

我设置了一台运行El Capitan的新机器,并像往常一样通过 macports 为扫描仪安装了xsane 。xsane 无法识别设备,出现以下症状:

sane-find-scanner

在 libusb:020:026 找到 USB 扫描仪(供应商=0x04b8 [EPSON],产品=0x0128 [EPSON Scanner])

scanimage -L

没有识别出扫描仪。

即使作为根我得到了

# /opt/local/bin/scanimage -T -d epson2:libusb:020:026

scanimage:打开设备 epson2:libusb:020:026 失败:对资源的访问已被拒绝

该扫描仪的 MacOS 工具有效,所以我观察到当我连接 USB 电缆时,有一些过程开始:

tail /var/log/system.log

11 月 23 日 23:01:47 主机内核 [0]:348238.593685 EPSON Scanner@14200000:AppleUSBDevice::waitForInterfacesGated:等待 _interfacesMatched 超时

11 月 23 日 23:01:47 主机 EPSON Scanner[86324]: --> HandleMessageFromICDD

11 月 23 日 23:01:47 主机 EPSON Scanner[86322]: --> HandleMessageFromICDD

11 月 23 日 23:01:47 主机 EPSON Scanner[86323]: --> HandleMessageFromICDD

原来这个进程是蹲在 USB 设备上的,所以 libusb 无法访问。(在某些情况下,该进程甚至是以后台用户的名义启动的,在快速用户交换时不活跃):

ps aux | grep EPSON

用户名 86323 0.1 0.1 2582644 22072 ?? S 11:01pm 0:00.21 /Library/Image Capture/Devices/EPSON Scanner.app/Contents/MacOS/EPSON Scanner

现在一旦我Image Capture终止进程,sane 运行良好,我可以再次使用 xsane:

scanimage -L 

设备 `epson2:libusb:020:026' 是 Epson GT-X700 平板扫描仪

虽然我有我的解决方法,但问题仍然是什么会阻止 Image Capture 在不询问的情况下占用 USB 设备?

对于其他 libusb 问题,有一些提示可以卸载内核扩展,但是对于这个问题,kextstat显示插入扫描仪之前和之后的扩展没有区别。

4

0 回答 0