用CUPS共享打印机给笔记本和手机-20210125更新

xiaoxiao2021-02-28  254

背景:一台小主机切换成了ESXI,无法连USB打印机共享到局域网了,书房路由换了免费薅的K2P,没有USB口。

3215U小主机安了Ubuntu,编译Android成功,耗时也还可以,昨天LEDE也编译成功了,看样子可以长期Ubuntu下去了。

既然这样,一直听说CUPS比Openwrt的打印机共享好使,正好试试

 

1. 安装CUPS

sudo apt-get install cups

 

2. 安装打印机驱动

闲鱼薅的HP1112找了一圈,也没有合适的驱动,敲了lpstat -p后,发现已经识别了,打开网址127.0.0.1:631/printers发现的确识别出来了,省事,便宜有便宜的好处

 

3. 配置CUPS

打开http://127.0.0.1:631/printers,最好用chrome,打开Administration 那个TAB页,把server下面的勾都选上。

局域网另外一个电脑或者手机访问http://xxxx:631/printers,如果能正常访问,说明配置OK

 

4. Windows就比较简单了,win10笔记本上,控制面板,添加打印机,选择“安名称共享打印机”,输入http://xxxx:631/printers/xxxx,一路Next,驱动选Win10系统自带得,没有的化,局域网有备份

\\192.168.x.3\hdd400g\apk&Tools

 

5. Android需要安装CUPS,得上Play市场,局域网也备份了一个

\\192.168.x.3\hdd400g\apk&Tools

安装后在图库里选一张图片选择打印,在选pdf or 打印机得界面等一会,就能自动搜索出xxxx@3215u,选择就可以打印

 

6. Iphone更简单了,选择一张图片分享,其中有个打印得选项,打印机选xxxx@3215u即可

 

 

2021-01-25刷新

    上面写了这么多,其实从20年开始,一直就是用个703N安装luci-app-printer,用910d共享打印机的方式,原来的HP1112也退休了,换了个Epson L360,自带连供,用的很爽,把孩子上网课打作业这块支撑的很出色。

    最近入手了MBP,发现打印成了问题,按网上教程可以识别打印机,但是打印乱码,咨询了淘宝专业卖打印服务器的,也说搞不定910d方式,基本就判了死刑。

    不得已,想起了CUPS,因为有之前的经验,在ubuntu上很快就成功了。

    以下教程主要说明openwrt上安装cups,因为闲置了一个16M flash的720N,双面胶粘到打印机上,打印机就可以随便塞哪个角落了。

    首先,720N刷个可以用的最新版本

    https://archive.openwrt.org/releases/17.01.7/targets/ar71xx/generic/

    CUPS的ipk默认没有编译,幸亏有大神编译了,参考https://github.com/lexxai/openwrt-musl-cups

    720N的cpu架构是mips 24kc

    按照教程,openwrt上安装过程很顺利,按上述github说明敲命令即可,打开172.0.0.1:631熟悉的界面,添加打印机,自动识别exsi添加的USB口的L360打印机。

    注意,在Make选项里面,openwrt只有raw选项,而ubuntu的列表很全,可以选L210(Epson L210 - CUPS+Gutenprint v5.2.11 (color)),是兼容L360的。估计这个过程就是把驱动打到了ubuntu里,openwrt没有这个步骤。

编辑 cups 配置:sudo vim /etc/cups/cupsd.conf 注释 Listen localhost:631,并添加 Port 631 在 <Location />, <Location /admin>, <Location /admin/conf> 三个块中添加 Allow all

    然后进入网页设置,把Administration下面server里的勾都打上,选择保存设置,会自动重启服务

    到这,windows上就可以手动添加CUPS打印机了,手动添加“按名称选择共享打印机(s)”,选http://192.168.1.5:631/printers/EPSON_L360,选择本地的L360驱动,安装即可。

    如果要在MAC OS 10.15,iphone,ipad上自动发现打印机,继续往下

    首先,iphone,ipad上不能选择驱动,貌似仅支持airprint,那么,需要把驱动安装到openwrt上,这个没有找到任何线索,先搁置

    MAC上没有办法手动输入网址,仅支持自动发现,所以就依赖avahi

opkg install avahi-daemon

    然后就是编辑你自己的vi /etc/avahi/services/AirPrint-YOUR_PRINTER.service

    这个过程走了不少弯路,编辑好后,mac和iphone均发现不了,反复尝试,最终是通过avahi-browse --terminate --resolve _ipp._tcp 命令,对比ubuntu的消息,修改自己的AirPrint-EPSON_L360.service,才让mac和iphone发现打印机。

    不贴xxxx.service具体内容了,方法就是安装ubuntu(虚拟机安装),连打印机,装cups,mac就自动发现打印机,敲avahi-browse --terminate --resolve _ipp._tcp 命令,根据内容生成AirPrint-xxxxx.service,注意xxxx要和cups里的一致。

    还有一个方法是用python脚本,airprint-generate.py,应该也行,但依赖python3,openwrt够呛,还是需要ubuntu,centos之类,就没有尝试了。具体参考

https://github.com/tjfontaine/airprint-generate/blob/master/airprint-generate.py

    至此,MAC OS(我用的10.15),iphone,ipad都可以自动发现打印机了,只是iPhone,ipad打印都是乱码,只有MAC上安装驱动后(epson网站下载)可以正常打印

    回到openwrt上,对比了安装前的空间,大约消耗2M,可以接受。

    后面看看,能否把驱动安装到openwrt上,gutenprint-5.3.4移植到openwrt,支持真正的airprint

    所有二进制,上传至baidu盘    我的资源>打印>L360-CUPS

 

参考文献:

关于驱动,参考,server侧可以安装raw驱动,甚至pdd文件都不要,关键是client要安驱动

https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=968675&page=1

 

openwrt安装cups,参考,要有离线ipk

https://blog.csdn.net/Reven_L/article/details/109003476

https://aisoa.cn/post-2678.html

http://www.360doc.com/content/19/0413/20/58230995_828565103.shtml  廉价安装cups打印机

https://github.com/TheMMcOfficial/cups-for-openwrt

    

转载请注明原文地址: https://www.6miu.com/read-2632800.html

最新回复(0)