Debian

除非 sudo’ed,否則 scanimage 不會找到掃描器,但會顯示 sane-find-scanner (Raspbian)

  • January 15, 2019

我有一個連接到執行最新 Raspbian 的 Raspberry Pi 的 Epson 多功能設備。正如您在下面的輸出中看到的那樣,如果我 sudo,scanimage 只會找到我的掃描器,但 sane-find 掃描器在沒有 sudo 的情況下會發現它很好。我檢查了設備權限是否設置正確… saned 是 lp 組的成員,該組是 USB 設備的組。是什麼賦予了?

richard@raspberrypi ~ $ scanimage > image.pnm
scanimage: no SANE devices found

richard@raspberrypi ~ $ sane-find-scanner

...

found USB scanner (vendor=0x04b8, product=0x0839) at libusb:001:004
found USB scanner (vendor=0x0424, product=0xec00) at libusb:001:003

...

richard@raspberrypi ~ $ sudo scanimage > image.pnm

richard@raspberrypi ~ $ sudo su -s /bin/bash - saned
X11 connection rejected because of wrong authentication.
No directory, logging in with HOME=/

saned@raspberrypi:/$ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 04b8:0839 Seiko Epson Corp. CX8300/CX8400/DX8400

saned@raspberrypi:/$ ls -l /dev/bus/usb/001
total 0
crw-rw-r-T  1 root root 189, 0 Feb 12 02:23 001
crw-rw-r-T  1 root root 189, 1 Jan  1  1970 002
crw-rw-r-T  1 root root 189, 2 Jan  1  1970 003
crw-rw-r--+ 1 root lp   189, 3 Feb 12 02:24 004

saned@raspberrypi:/$ groups
saned lp scanner

解決了我的問題,感謝這裡找到的教程:

http://www.johndstech.com/2016/linux/raspberry-pi/geek-friday-setting-up-epson-scanning-on-raspberry-pi/

我不得不創建 /etc/udev/rules.d/55-libsane.rules 說:

SYSFS{idVendor}=="04b8", MODE="0666", GROUP="scanner", ENV{libsane_matched}="yes"

和 /etc/saned/epson2.conf 以反映供應商和產品 ID:

usb <0x04b8> <0x0839>

在佳能 TS3150 的情況下,上述解決方案是不夠的。

  1. 刪除所有以前的安裝。
  2. 從佳能新下載並從給定的安裝install.sh
  3. 在 rule.d/55-whatever.rules 中添加該行
  4. 在 /etc/sane.d/canon.conf 上添加 usb 0x04a9 0x1782
  5. 重新啟動 udev 服務udevadm control --reload-rules;udevadm trigger

仍然,sane-find-scanner報告掃描器,但scanimage -L不是

然後,在ubuntu 的法語論壇上,我讀到他們不使用普通程序,而是使用 Canon 驅動程序附帶的特殊程序。

scangearmp2安裝並執行。令人驚嘆,但佳能更喜歡他們自己的簡單程序,而不是任何基於 SANE 的程序。

引用自:https://unix.stackexchange.com/questions/184367