前言

曾经花两百多大洋买了个打印扫描一体机,型号为:Hewlett-Packard DeskJet 2130_series ,是个低端打印机,只有个USB接口,不带网络功能。之前一直插在新3路由器上,也能像网络打印机一样打印,但一直都没折腾远程扫描功能,毕竟扫描的次数有限。

路由器安装扫描服务

路由器上安装打印服务就不多说了,一般固件都会带,软件中心也能搜到打印组件安装好就行。扫描服务需要在SSH终端下安装如下套件:

1
2
opkg update
opkg install libsane sane-daemon sane-frontends sane-hp hplip-sane xinetd

安装完成后,将扫描仪连接到路由器的USB端口并打开扫描仪。

首先测试是否已成功安装并连接扫描仪,您可以运行 scanimage -L 查看返回的信息:

1
device `hpaio:/usb/DeskJet_2130_series?serial=CN...' is a Hewlett-Packard DeskJet_2130_series all-in-one

以上就是路由器认到的一体机设备了,一次性通过。

扫描服务设置

实际上,对于临时使用,您可以SSH到路由器并执行 scanimage 命令以扫描图片(图片临时存储在路由器上),然后将其下载到计算机。 但是,考虑到路由器有限的ROM空间以及易用性,我们不能忘记远程扫描的初衷。
一样的,还是在SSH终端环境做如下操作:

  • 查看修改 /etc/xinetd.d/sane-port
1
2
3
4
5
6
7
8
9
10
service sane-port
{
socket_type = stream
port = 6566
wait = no
user = root
group = root
server = /usr/sbin/saned
disable = no #如这里是yes 那改为no
}
  • 查看修改 /etc/xinetd.conf
1
2
3
4
5
6
7
8
9
10
defaults
{
only_from = 192.168.10.1/24 #改成你的内网网段
instances = 60
log_type = SYSLOG authpriv info
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
  • /etc/sane.d/saned.conf 中增加:
1
192.168.10.1/24  #你的内网网段
  • 启动 xinetd 服务
1
2
/etc/init.d/xinetd restart
/etc/init.d/xinetd enable

扫描软件客户端

这里演示windows客户端,其他客户端自行琢磨。网上查到主要有3款客户端:

  1. wiasane:主要是个驱动,安装的时候指定网络扫描仪IP,之后配合其他扫描客户端【HP的除外】使用
  2. sanewin:这个软件有点简陋,但功能还算好
  3. ScanTwain:其实是个scan image 模块,官网都要翻墙才能打开,妥妥的90年代风格,pass掉吧。

安装 wiasane 后,可以直接用windows自带的扫描功能,也可以去appstore下载一款叫 扫描仪 的免费应用,功能还不错,完全满足需求。唯一不足的便是 wiasane 驱动环境只能灰度扫描,扫描彩色选项不可选,而安装 sanewin 的时候可以彩色扫描。

参考文档

  1. OpenWRT扫描仪共享关键问题解决
  2. 共享HP / HP扫描仪的OpenWrt路由器
  3. openwrt路由器配置扫描仪