电视盒子安装CUPS共享惠普1020为无线网络打印机【新版】

编程入门 行业动态 更新时间:2024-10-18 02:30:57

2023年1月15日更新:
用于晶晨CPU电视盒子的Armbian目前在github上有社区版,似乎是balbes150版本的延续,是自动编译的版本,内核和各种软件都相对较新,地址是:https://github/armbian/community,在N1上试用过Armbian_23.02.0-trunk_Aml-s9xx-box_lunar_edge_6.1.4这个版本,似乎并不稳定,一旦apt更新,wifi会断开,暂时没有再深入研究是什么原因。
另外github上还有ophub的一个版本相对比较稳定,地址是:https://github/ophub/amlogic-s9xxx-armbian

之前写过一篇“N1盒子刷Armbian安装CUPS共享惠普1020为网络打印机”,后续的使用过程中,也发现了一些问题,曾经做过一些补充和修正,最近因为盒子打印的时候又出现了比较烦人的问题,重新做了几次系统,查找了很多资料,目前使用中的系统相对比较稳定,比之前有不少变动,所以想重新写个新版的教程,不再在原来的文章上修修补补了。
  之前共享的打印机总是有问题,本身打印量不大,一到需要打印的时候就掉链子,点打印按钮之后打印机一直没反应,后来发现,重启盒子后打印机立马就可以接着打印了。因为一直很忙,就这样凑合着用,直到最近实在忍受不了了,就研究了一下,发现打印无响应的时候,打印机会有一个错误提示:

processing since Sun Sep 25 10:44:22 2022 "Filter failed"
Use "pdftops-renderer" option (see README file) to use Ghostscript or MuPDF for the PDF -> PostScript conversion 

根据提示,在网上搜索了很多资料,并且经过测试,发现使用惠普官方hplip驱动和插件共享的打印机还是非常稳定的。接下来我们详细说一说。
  本篇文章应该适用所有可以运行armbian或者其他linux发行版(如debian、ubuntu等)的arm开发板、电视盒子、树莓派等。本片文章以N1盒子为例,Armbian的安装不再赘述,其他硬件的系统刷入、安装请自行百度。
  TV Box Armbian的作者balbes150已经将瑞芯微(RK)、晶晨(AML)、全志(AW)三个平台合并为一个镜像。自2020年以来该镜像已经不再更新,编译过的镜像下载地址最初在yandex网盘,后来搬到的armbian的官网上https://users.armbian/balbes150/arm-64/,今天访问的时候发现arm-64文件夹也已经被删掉了,不知道以后作者还会不会把文件恢复了。这里提供一个我自己百度网盘的地址,大家自行下载: https://pan.baidu/s/124540cAzrMEK9Tny0vlbWA?pwd=4mum。N1盒子如果刷入后System load过高,可以考虑换一个稳定版刷入,或者参考这篇文章。
  后期新版的Armbian启动时需要修改的配置文件及方法有所变动,作者在论坛上已经有说明:

请注意。Armbian从版本20.08(20200814)开始,使用的DTB的配置顺序将更改。
用于启动系统的初始配置算法已更改。现在使用文件“/extlinux/extlinux.conf”代替文件“uEnv.txt”。编辑文件的规则保持不变。
现在,所有Amlogic型号都需要“u-boot.ext”文件。
在Amlogic上启动之前,必须将现有文件之一“u-boot-*”复制或重命名为“u-boot.ext”。
对于S905(非X)-使用u-boot-s905
对于S905x和S912-使用u-boot-s905x-s912
对于S905x2和S922-使用u-boot-s905x2-s922
对于g12a\g12b型号,现在使用单个文件(文件u-boot.sd和u-boot.usb现在替换为统一的一个u-boot-s922文件)。

对于N1的S905D,我使用了u-boot-s905x-s912这个UBOOT文件,经测试可以正常使用。进入系统后,软件源如果需要修改为国内源,请自行百度,目前我使用的版本不修改也会自动选择中科大源。

然后,更新系统,以Ubuntu系统为例(用Debian系统的朋友后面的命令请去掉命令前的sudo):

sudo apt update
sudo apt upgrade

安装相关的软件:

sudo apt install avahi-daemon ghostscript dc foomatic-db-engine cups hplip

这里有一点需要注意,因为之前打印存在各种奇怪的问题,我使用了惠普官方的hplip驱动替代了之前的foo2zjs驱动。如果确实需要安装foo2zjs驱动的朋友,也不用像之前那样需要自己下载源码编译了(事实上原来那个提供驱动的网站现在也不能访问了),foo2zjs驱动可以在apt包管理器里直接安装就可以了。
  安装avahi-daemon软件包主要是为了使打印机可以在局域网上直接被发现。有后续有相关的设置。可以用下面的命令查看下服务状态。

sudo systemctl status avahi-daemon.socket
sudo systemctl status avahi-daemon.service

编辑CUPS的配置文件,这里使用nano编辑器(Ctrl+O保存、Ctrl+X退出):

nano /etc/cups/cupsd.conf

首先需要将

Listen localhost:631

改为:

Listen 0.0.0.0:631

下面的配置将使打印机在局域网内可被发现,这一步前提是之前安装了avahi-daemon软件包,将下面设置:

Browsing Off

改为:

Browsing On

新版的CUPS可能会使用Yes和No来表示开关,按照实际情况修改即可。
  然后,将以下4段加入Allow all:

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow all
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow all
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow all
</Location>

# Restrict access to log files...
<Location /admin/log>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow all
</Location>

保存。重启CUPS进程。

sudo service cups restart

Ubuntu用户需要将您的非root管理员账号加入lpadmin用户组。

sudo usermod -a -G lpadmin 您的用户名

下面需要注意的是:惠普LJ1020打印机属于明确需要安装插件才能打印的型号。下面的步骤我们将安装hplip驱动的插件。
  首先用下面命令查看一下hplip的版本:

sudo hp-plugin

这样我们会进入惠普打印机驱动插件安装程序,如果直接按“d”下载安装的话,应该不会成功:

arm-64:~:% sudo hp-plugin

HP Linux Imaging and Printing System (ver. 3.20.3)
Plugin Download and Install Utility ver. 2.1

Copyright (c) 2001-18 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

warning: It is not recommended to run 'hp-plugin' in a root mode.

HP Linux Imaging and Printing System (ver. 3.20.3)
Plugin Download and Install Utility ver. 2.1

Copyright (c) 2001-18 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

(Note: Defaults for each question are maked with a '*'. Press <enter> to accept the default.)


-----------------------------------------
| PLUG-IN INSTALLATION FOR HPLIP 3.20.3 |
-----------------------------------------

  Option      Description                                       
  ----------  --------------------------------------------------
  d           Download plug-in from HP (recommended)            
  p           Specify a path to the plug-in (advanced)          
  q           Quit hp-plugin (skip installation)                

Enter option (d=download*, p=specify path, q=quit) ? d

-------------------
| DOWNLOAD PLUGIN |
-------------------

Checking for network connection...                                                                                                                                        Downloading plug-in from: 
Downloading plug-in: [\                                                                                                                               ] 0%  error: Plugin download failed with error code = 8

error:  file does not match its checksum. File may have been corrupted or altered

我们要在上面的内容里找到如下所示的内容,也就是hplip的版本号:

HP Linux Imaging and Printing System (ver. 3.20.3)

记下后面括号中的版本号,这里是3.20.3。这个程序似乎不能直接在线安装插件,所有我们需要先把插件下载到本地,然后再安装插件。所以我们这里可以不按“d”键下载安装,而按“q”键退出插件的安装,下载插件完插件再运行程序安装。
  浏览器打开https://www.openprinting/download/printdriver/auxfiles/HP/plugins/这个网址,找到和版本号对应的两个.run和.run.asc文件,以及不区分版本的.plugin文件,如下图:


  可以下载到电脑再上传到盒子里或者直接用wget下载到盒子里,下面简单说下第二种方法:
直接在账号目录下建立存放插件的名字为hp的文件夹,然后进入文件夹:

mkdir hp
cd hp

使用wget下载所需的三个文件:

wget https://www.openprinting/download/printdriver/auxfiles/HP/plugins/hplip-3.20.3-plugin.run
wget https://www.openprinting/download/printdriver/auxfiles/HP/plugins/hplip-3.20.3-plugin.run.asc
wget https://www.openprinting/download/printdriver/auxfiles/HP/plugins/hp_laserjet_1020.plugin

如果wget从IPv6地址下载文件,并且下载不成功的话,可以添加“–inet4-only”参数强制让wget从IPv4地址下载文件:

wget  --inet4-only https://www.openprinting/download/printdriver/auxfiles/HP/plugins/hplip-3.20.3-plugin.run
wget  --inet4-only https://www.openprinting/download/printdriver/auxfiles/HP/plugins/hplip-3.20.3-plugin.run.asc
wget  --inet4-only https://www.openprinting/download/printdriver/auxfiles/HP/plugins/hp_laserjet_1020.plugin

成功下载文件以后,再次使用命令进入插件安装程序:

sudo hp-plugin

然后按照提示按“p”键,输入插件所在的路径(本例路径是“/home/你的账号/hp”),就可以完成插件的安装,期间会询问是否同意许可协议,按“y”同意即可。

USB口连接好打印机并打开电源以后,在电脑浏览器输入:http://N1盒子的IP地址:631/

  点击”Administration“,再点击下面”Add Printer“按钮:

  出现此页面,点击后面的地址,出现安全警报提示框,选择”是“继续。

  会回到”Administration“页面,再次点击”Add Printer“按钮,会要求填入服务器的用户名和密码,填好以后点确定进入下一步。

  如果打印机连接正常,本地打印机里会出现惠普1020。选择这台打印机,按继续按钮。

  这一步填写打印机的名字、位置,最重要的是要勾选上"Share This Printer",按继续按钮。

  这一步选择打印驱动程序。最后点添加打印机按钮。完成打印机的添加。

  这一步需要设置一下打印机的默认设置:

  添加完打印机以后,在Printers页面,就会出现刚才添加的打印机,点击打印机的名字,可以看到打印机的详细内容(借用之前文章的图片,参考一下就行)。

  点击打印机名称后,进入打印机详情页,第一个复选框里选择”Print Test Page“可以打印测试页,测试打印机是否正常。

  Windows系统,可以进入控制面板直接添加打印机。系统会发现局域网上的这台打印机。

选择这台打印机,点下一步按钮,开始安装这台打印机。因为我之前安装过惠普1020的驱动,所以这一步直接就安装完成了,没有安装过驱动的朋友需要按正常过程安装一下打印机的驱动即可。

最后,打印机安装完成,可以打印测试页测试打印是否正常。

点击完成按钮完成打印机安装过程,新添加的网络打印机就会出现在打印机列表中。如下图中后缀是arm-64那台打印机。

  安卓手机直接在打印服务里就可以看到这台打印机(前提是手机和打印机连接同一个wifi或者在同一网段内),不需要再装那个名为Android CUPS Printe的APP了。比之前方便多了。
  在设置内将默认打印服务开启。

然后应该可以发现局域网内这台打印机。

在APP内选择这台打印机即可正常打印。

更多推荐

电视盒子安装CUPS共享惠普1020为无线网络打印机【新版】

本文发布于:2023-06-13 23:51:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1416037.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:惠普   无线网络   盒子   打印机   新版

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!