家里有1台惠普的打印、复印、扫描一体机HP Laserjet M1005 MFP,想挂在路由器上,实现网络共享打印及扫描,但这款机子只有usb口,没有网络接口,要如何实现呢?其实,只要我们有一台刷了OpenWrt系统又带usb接口的路由器(例如我们前面讲过的TL-WR720N、TL-WDR4310等等),实现起来就非常简单了。下面我们就来详细讲解一下惠普M1005实现网络共享打印及扫描的整个过程。
一、网络共享打印功能的实现
(一)路由器端设置
1、先在OpenWrt路由器上安装必要的支撑程序:
opkg update
opkg install kmod-usb-printer p910nd luci-app-p910nd
2、将打印机接入路由器usb口,开启电源;然后电脑连接路由器,用如下命令确认打印机安装是否成功:
ls /dev/usb/lp*
# 显示示例如下
/dev/usb/lp0
若有显示类似 “/dev/usb/lp0“,则表示安装成功。

3、打开路由器中p910nd服务器的Luci设置页面:
1)选择启用p910nd服务,即”enable”选项打勾;
2)不要选择双向模式,即将双向模式”Bidirectional mode”后面的勾去掉(注:M1005必须去掉,其它机型自己测试)。

4、防火墙打开9100端口(注:高版本OpenWrt系统,可以省略这一步,系统在安装p910nd服务时会自动允许9100端口数据通行)。
5、重启路由器(注:M1005必须重启路由器,只重启p910nd服务没用)。
(二)电脑端设置(以win10系统为例)
1、打开“添加打印机和扫描仪”,然后点选“我需要的打印机不在列表中”;
2、选中“使用TCP/IP地址或主机名添加打印机”,点“下一步”;
3、输入ip地址:例如192.168.1.1;输入端口名称:随便自定义;点“下一步”;
4、选中“自定义”,点“设置”进入设置页面,在设置页面输入正确的IP地址及端口号等,点“OK”回原页面;再点“下一步”;
5、然后选择正确的打印机驱动程序(注:可以事先安装后,因为hp一般只提供exe安装文件),系统会自动提示用现有的驱动程序;
6、设置完成之前,可以点一下“打印测试页”,以测试所有设置是否正确。
二、网络共享扫描功能的实现
(一)路由器侧设置
1、在OpenWrt上安装必要的支撑程序:
opkg update
opkg install sane-daemon sane-frontends sane-hpljm1005 xinetd
sane-hpljm1005是HP Laserjet M1005 MFP的扫描驱动程序,若是其它机型,则需要自己查询如下网站进行确认。
http://www.sane-project.org/sane-backends.html#SCANNERS
2、运行一下以下命令确认扫描仪是否正确安装:
scanimage -L
# 显示示例如下
device `hpljm1005:libusb:001:002' is a Hewlett-Packard LaserJet M1005 multi-function peripheral
显示类似 “device `hpljm1005:libusb:001:002′ is a Hewlett-Packard LaserJet M1005 multi-function peripheral” 即OK。
3、开启监控,修改 /etc/xinetd.d/sane-port的内容,将最后的 disable = yes 改成 disable = no
vim /etc/xinetd.d/sane-port
# default: off
# description: The saned provides scanner service via the network.
# Applications like kooka, xsane or xscanimage can use the remote
# scanner.
service sane-port
{
socket_type = stream
port = 6566
wait = no
user = root
group = root
server = /usr/sbin/saned
disable = no
}
4、添加内网使用扫描仪支持,在 /etc/sane.d/saned.conf 中添加,例如:192.168.1.0/24
vim /etc/sane.d/saned.conf
# saned.conf
# Configuration for the saned daemon
## Daemon options
# Port range for the data connection. Choose a range inside [1024 - 65535].
# Avoid specifying too large a range, for performance reasons.
#
# ONLY use this if your saned server is sitting behind a firewall. If your
# firewall is a Linux machine, we strongly recommend using the
# Netfilter nf_conntrack_sane connection tracking module instead.
#
# data_portrange = 10000 - 10100
## Access list
# A list of host names, IP addresses or IP subnets (CIDR notation) that
# are permitted to use local SANE devices. IPv6 addresses must be enclosed
# in brackets, and should always be specified in their compressed form.
#
# The hostname matching is not case-sensitive.
#scan-client.somedomain.firm
#192.168.0.1
#192.168.0.1/29
#[2001:db8:185e::42:12]
#[2001:db8:185e::42:12]/64
192.168.1.0/24
# NOTE: /etc/inetd.conf (or /etc/xinetd.conf) and
# /etc/services must also be properly configured to start
# the saned daemon as documented in saned(8), services(4)
# and inetd.conf(4) (or xinetd.conf(5)).
5、防火墙打开6566端口(注:高版本OpenWrt系统不需要)
6、重启路由器
(二)电脑侧设置(以win10下安装为例)
1、先下载wiasane:http://github.com/mback2k/wiasane,然后安装,按提示输入相关内容即可;
2、利用“windows附件”中的“windows 传真和扫描”就可进行网络共享扫描了。
这次我们讲解了惠普M1005实现网络共享打印及扫描的设置方法,这是一项非常实用的应用,特别是家里有多台电脑的时候,实现共享以后每台电脑都好像连接了一个打印机和扫描仪,可以省去很多不必要的麻烦。如果你家里有类似老式的打印机或扫描仪,建议可以用类似的方法去试试实现网络共享的乐趣。