• Exhen's Blog

    A simple, naive blog for Exhen.

  • 豆
  • HomeTagsTechMovie

利用 OpenWrt 共享局域网下的佳能 MG2580s 打印扫描一体机

X
如果你喜欢这篇文章
不如请作者喝瓶冰可乐

30 Sep 2018

Reading time ~3 minutes

TechOpenWrtNetwork
X
扫描二维码分享到微信
分享 微博 豆瓣广播

利用 OpenWrt 在局域网下共享打印机,主要需要以下两个插件

  • p910nd打印机服务器
  • sane扫描仪服务及配套的xinetd控制接口

接下来分别介绍两个插件的安装及配置流程

p910nd

安装插件

opkg update
opkg install kmod-usb-printer p910nd luci-app-p910nd luci-i18n-p910nd-zh-cn

连接打印机

将打印机连接到路由器 USB 接口,输入指令

ls /dev/usb

应该能看到lp0设备

在 LUCI 界面配置打印机

找到 服务-打印服务器,勾选启动。

设备填上刚才看到的/dev/usb/lp0,接口选择lan用作局域网共享,端口通常为9100。

在 Windows 配置打印机

首先安装打印机对应的驱动程序。在这个案例中我使用的打印机为佳能MG2580s。

设置-设备-打印机和扫描仪-添加打印机-我需要的打印机不在列表中

选择使用 TCP/IP 地址或主机名添加打印机,点击下一步。

设备类型选择TCP/IP 设备,主机名或 IP 地址填上路由器网关,取消勾选自动查询驱动,点击下一步。

等待自动检测失败,选择自定义,点击设置,检查端口是否与之前设置的9100相同,确认后点击下一步。

寻找打印机对应的驱动,Canon-Canon MG2500 series Printer。

大功告成,enjoy!

注:
有的时候打印时出现找不到设备的情况,通常是打印机与路由器通讯不畅,进路由器管理找到p910nd服务并重启一下就好。

SANE

安装插件

先安装通用插件:

opkg update
opkg install sane-frontends xinetd sane-daemon

之后还需要安装sane-backends,类似于扫描仪驱动接口,如果直接安装这个包过于庞大,我们只需要挑选适合自己打印机型号的驱动包即可。

opkg list sane-* # list available backend package
# in my case, I'm using MG2580s which is a Pixma scanner.
# There is a suitable package `sane-pixma`
opkg install sane-pixma

可以通过scanimage -L命令检查是否安装成功,如果打印机正常连接且安装了对应的 backend,应该能看到如下效果:

device `pixma:04A9176D_C1449C' is a CANON Canon PIXMA MG2500 Series multi-function peripheral

配置

编辑/etc/sane.d/saned.conf

192.168.1.0/24 # allow local ip to visit

检查/etc/services是否有sane-port,通常安装了sane-daemon会自动添加,如果没有,则在文件后手动添加

sane-port  6566/tcp  sane saned  # SANE network scanner daemon

编辑/etc/xinetd.d/sane添加

service sane-port
{
  socket_type = stream
  server = /usr/sbin/saned
  protocol = tcp
  user = root
  group = root
  wait = no
  disable = no
}

最后在 LUCI 界面中系统-启动项,找到xinetd并设置为启用。

Windows 客户端

windows 下需要用sanetwain客户端进行扫描,打开客户端后,把主机名设为路由器网关,端口号6566,即可开始扫描。



TechOpenWrtNetwork
X
扫描二维码分享到微信
分享 微博 豆瓣广播