Saned on OpenWRT

快速紀錄一下怎麼用saned架scanner server

情境

  • 有一台USB Scanner、一台OpenWRT Router with USB Port,想從網路連接掃描機做掃描

安裝方式

Server side(OpenWRT)

  • AP資訊:DIR-835, OpenWRT 15.05
  • 安裝套件 (opkg update && opkg install [packages])
    • 掃描軟體和驅動:libsane、sane-frontends、sane-genesys
    • 網路相關:xinetd、sane-daemon、sane-net
  • 設定:
    • Saned有分前後端,前端做網路連接,後端跟硬體有關所以要裝對
    • Saned
      • 確定找得到掃描機 sane-find-scanner
      • 確定sane的前端抓得到掃描機 scanimage -L
    • Xinetd
      • Guide by openwrt (內含xinet設定): saned scanner server
      • /etc/xinet.d/sane-port 多一行 protocol = tcp
      • /etc/init.d/xinetd start 執行網路deamon.
  • [Optional] 防火牆記得開洞

Client side (Ubuntu)

  • 安裝基本軟體 sudo apt install sane sane-utils
  • sudo vim /etc/sane.d/net.conf 加一行AP(scanner)的IP or Domain Name
  • 執行 scanimage -L 確認掃描機是否能連上
  • 設定掃描機IP or domain sudo vim /etc/sane.d/net.conf
  • 可用 GNOME內建的 simple scan 掃,或專業的 xsane

Client side(Android)

  • 下載SANEDroid
  • 在(設定) > Preferences > SANE_NET_HOSTS,改為AP(scanner)的IP or Domain Name
  • (設定) > Refresh Device List,應該會找到掃描機如圖:

Client side(Windows - SaneTwain)

  • 下載SaneTwain
  • 安裝後執行 ScanImage
  • Hostname 輸入AP IP位置 140.113.194.247,並刪除username
  • 功能
    • [左上圖示1] 掃描:選擇存檔位置後掃描
    • [左上圖示2] 掃描預覽
    • [右上選單] 選擇Resolution(DPI)
    • [中間] 預覽,可選取掃描位置

Client side(Windows - wiasane)

  • 將SANE轉換為Windows的掃描機(Windows Image Acquisition)
  • 下載位置
  • 安裝時會問掃描機位置,裝完之後會產生一windows掃描機

Debug

  • Sane Server

    • Sane Server(saned)執行於AP上,由xinet監聽網路port,當有人連至tcp 6566 port時執行saned
    • Saned Control(tcp 6566)一次只能一人用,若連不進去看看有沒有人佔用
  • SaneTwain

    • 掃描或預掃程式會看起來像卡住
    • 關閉時可能會遇到記憶體錯誤

Reference

  1. sane-project
  2. saned scanner server by OpenWRT