找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 10992|回复: 35

[N1盒子] N1 安装共享惠普打印机 HP 1020plus 教程

[复制链接]
发表于 2021-6-11 23:16 | 显示全部楼层 |阅读模式
本帖最后由 fayehoo 于 2022-9-14 09:57 编辑

【2022.9.13更新】
HP 1020曾经是机皇,以便宜耐用著称,但疫情之后价格飙升。已经比很多带网络功能的打印机都要贵了。专门买新的HP 1020来配合N1作网络打印机就有点不合算了。但是手头如果有HP1020或者二手HP1020价格合适的话,还是可以物尽其用。
一、系统安装
N1可以用的系统非常多,目前经试验经典的Armbian_5.77_Aml-s905_Ubuntu_bionic_default_5.0.2_20190401.img兼容性不错。如果是用基于Debian的系统,权限方面容易出问题。
1、用balenaEtcher软件把img文件刷到U盘,然后把uEnv文件的第一行改为:
dtb_name=/dtb/meson-gxl-s905d-phicomm-n1.dtb
2、U盘插入,断电重启N1。如果N1已经是linux系统,可以输入reboot update启动到U盘。
3、U盘系统启动完成后,输入./install.sh安装到emmc。有一点比较奇怪,我在刷系统的的时候,第一次找不到无线网卡,第二次usb口识别不了设备,第三次重刷就正常了。
4、配置无线网络
armbian-config
=====================================

二、安装驱动和服务
1、修改国内源
sudo vi /etc/apt/sources.list
将该文件改为
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse

2、更新系统
sudo apt-get update

3、安装cups打印服务
sudo apt-get install cups
sudo vi /etc/cups/cupsd.conf
将cupsd文件中localhost改成0.0.0.0(0.0.0.0意即任意IP地址),Browsing off改成Browsing On,并在四个地方分别添加Allow all,具体如下:
Listen 0.0.0.0:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing On
BrowseLocalProtocols dnssd

# 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>
编辑完成,重启服务
service cups restart

4、安装HP打印机驱动
网上教程普遍安装的是foo2zjs,本文安装的是HP官方的HPLIP
sudo apt-get install hplip
然后还需要装插件,为了提升验证速度,修改validation.py文件
sudo vi /usr/share/hplip/base/validation.py
pgp_site = 'keyserver.ubuntu.com'
安装插件,但实际上安装完hp1020打印机还是会缺少属性。不知道原因。
hp-plugin -i
输入该安全命令后,会出现一个文本框,里面有HPLIP的版本号。
如PLUG-IN INSTALLATION FOR HPLIP 3.17.10
然后如果网速够快,就选d直接网络安装,如果网速不行,就选p就地安装,就地安装所需的文件去下面这个网站:
找到对应的版本,下载.run和run.asc两个文件

5、安装airpint及打印机发现。
apt-get install cups-browsed
sudo service cups-browsed restart

sudo apt-get -y install avahi-daemon avahi-discover libnss-mdns
sudo service avahi-daemon restart
=====================================


三、配置打印机
打开浏览器,网址输入N1IP:631,进入cups配置页面。
安装打印机,驱动选hpcups。选其hpijs其实也可以。Share框必须勾选上。

有两个指令很有用,一个是USB连接好打印机,输入lsusb命令可以查看是否已连接到usb
root@aml:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 03f0:2b17 Hewlett-Packard LaserJet 1020
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

一个是hp-info -i,可以查看是否正确连接了打印机,特别是1020是GDI打印机,打印机上电后需要下载固件到打印机,deviceid可以显示固件是否已下载。

hp:/usb/HP_LaserJet_1020?serial=S44WTQ0

Device Parameters (dynamic data):
  Parameter                     Value(s)                                                  
  ----------------------------  ----------------------------------------------------------
  agent1-ack                    False                                                     
  agent1-desc                   Black toner cartridge                                    
  agent1-dvc                    0                                                         
  agent1-health                 0                                                         
  agent1-health-desc            Good/OK                                                   
  agent1-hp-ink                 False                                                     
  agent1-id                     0                                                         
  agent1-kind                   4                                                         
  agent1-known                  False                                                     
  agent1-level                  100                                                      
  agent1-level-trigger          0                                                         
  agent1-sku                    Q2612A                                                   
  agent1-type                   1                                                         
  agent1-virgin                 False                                                     
  back-end                      hp                                                        
  cups-printers                 ['HP_LaserJet_1020']                                      
  cups-uri                      hp:/usb/HP_LaserJet_1020?serial=S44WTQ0                  
  dev-file                                                                                
  device-state                  1                                                         
  device-uri                    hp:/usb/HP_LaserJet_1020?serial=S44WTQ0                  
  deviceid                      MFG:Hewlett-Packard;MDL:HP LaserJet                       
                                1020;CMD:ACL;CLSRINTER;DES:HP LaserJet                  
                                1020;FWVER:20080222;                                      
  duplexer                      0                                                         
  error-state                   0                                                         
  host                                                                                    
  in-tray1                      1                                                         
  in-tray2                      1                                                         
  is-hp                         True                                                      
  media-path                    1                                                         
  panel                         0                                                         
  panel-line1                                                                             
  panel-line2                                                                             
  photo-tray                    0                                                         
  port                          1                                                         
  r                             0                                                         
  revision                      254                                                      
  rg                            000                                                      
  rr                            000000                                                   
  rs                            000000000                                                
  serial                        S44WTQ0                                                   
  status-code                   1000                                                      
  status-desc                   Idle                                                      
  supply-door                   1                                                         
  top-door                      1   

四、使用
苹果、安卓或者电脑与N1连接入同一wifi网,苹果和电脑可以默认搜索到打印机,打印无问题。
安卓手机可以用系统打印、Mopria Print、Android CUPS Print三种打印连接方式,都可以打印。但是用wps打印的时候始终都有字体放大,页面排版错误的问题。不管用哪种驱动和方式都无法解决,用word打则可以。
另外,关闭打印机电源,再开,打印机等会红绿闪烁,表示打印机被识别,固件在下载了,这种状态下打印机会成功实现热插拔。
然而,打印机如果是和N1同时通电,或者打印机通电状态下再开N1,则会出现打印机无法工作的现象,原因是hplip使用的libusb和usblp冲突,要么就不用hplip改用foo2zjs,要么就屏蔽usblp,方法如下:
vi /etc/modprobe.d/blacklistusblp.conf,编辑内容blacklist usblp,设权限644。重启后即完全正常。
至此,所有的坑全部填完了,日常各种使用完全正常。



评分

参与人数 4恩山币 +4 收起 理由
ccc*** + 1 请教一下,手机上点了打印,差不多过30秒才.
hit*** + 1 请教一下安卓12打印怎么设置cups的ssl相关.
sky*** + 1 啥也不懂,想问一下,三星4521F的驱动安装怎么输入命令,
kin*** + 1 生活不易,相遇也不易,既然这样,让我们成为朋友一起面朝大海、花开花落……

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-6-11 23:59 | 显示全部楼层
打印机不是惠普的话这方法行吗?富士施乐的一体机能不能扫描?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-12 00:06 | 显示全部楼层
如果用foo2驱动的话
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
tar zxf foo2zjs.tar.gz
cd foo2zjs
make
./getweb 1020
make install
make install-hotplug
make cups


wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
tar zxf foo2zjs.tar.gz
cd foo2zjs
make
./getweb 1020
make install
make install-hotplug
make cups
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-12 00:12 | 显示全部楼层
hzkjdg 发表于 2021-6-11 23:59
打印机不是惠普的话这方法行吗?富士施乐的一体机能不能扫描?

可以看下这几个网站
http://www.openprinting.org/drivers
http://www.openprinting.org/printers/
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-12 09:32 | 显示全部楼层
本帖最后由 fayehoo 于 2021-6-15 19:36 编辑

新的问题来了,如果使用HPLIP驱动,经常会丢失打印机连接,例如关闭N1重连,热插拔,关闭打印机重连等,可能是HPLIP对hotplug支持不佳。只有更换foo2了。方法如下:


sudo apt-get remove hplip

sudo apt-get install build-essential tix foomatic-filters groff dc  #这条不确定是否必须,如果执行这条,后面需要重装cups
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz  #如果网络下载不了,就手动下载
tar zxf foo2zjs.tar.gz
cd foo2zjs
make
./getweb 1020
sudo cp sihp1020.* /usr/share/foo2zjs/firmware #如果网络自动获取不了,就手动下载,然后执行本条。

sudo make install
sudo make install-hotplug
sudo make cups

sudo apt-get -y install cups

Access the CUPS web interface “http://localhost:631” to add HP printer by using foo2zjs drivers

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-12 09:40 | 显示全部楼层
http://foo2zjs.rkkda.com/foo2zjs.tar.gz 这个网站访问有问题, 可以用迅雷下载。或者
http://oleg.wl500g.info/hplj/
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-12 09:42 | 显示全部楼层
如果还未解决热插拔问题,可以参考这个帖子,我没有试
https://www.right.com.cn/forum/thread-326572-1-1.html
本帖最后由 w_anghe 于 2021-6-6 10:31 编辑


2021-06-06
官网挂了,我有备份源码
https://wws.lanzoui.com/b02089m7e
密码:fq18
里面有一份1008的驱动sihpP1006.dl(应该是适合1006,1008), 1020的你可能需要自己找一个sihpP1020.dl
还有一份pdf的说明, 我也备份了, 当时还真想这个网站会不会消失, 现在后悔没把所有驱动都下载下来.

2018-06-19新增
现在用电脑正常打印是没有问题了,但是苹果手机的airprint 又出问题了, 以前用orange pi按照http://linuxwin.com/cups-airprint-on-raspberry-pi/这个方法是可以用的,现在用N1这个方法无效,打印任务也不会出现, 希望有这方面经验的大神帮助,谢谢了.
这个问题似乎有答案了, 难道一个局域网内不能跑两个打印服务器??? 我把原来的打印服务器关闭就正常了, 也许是avhi-daemon服务的问题, 这个暂时没有定论.



这几天在家一直想把N1改造成打印服务器,通常来说安装了CUPS,安装了打印机对应的驱动也就OK了,基本没啥难度,但是后来我渐渐发现没有那么简单。。。我的打印机型号是HP LaserJet P1008,这个打印机有点特殊, 机身没有固件--firmware,需要随驱动一起写入到打印机内存才能打印,
驱动一般用http://foo2xqx.rkkda.com/这个,这个驱动有一个install-hotplug,可以监控USB口插入的打印机并自动下载驱动到打印机
用以前的orange pi插入usb后可以查到/dev/usb/lp0, 就可以自动加载驱动到打印机
但是这个N1插入usb打印机后, 没有出现/dev/usb/lp0,  不能通过usb hotplug技术自动加载驱动,
只能手动加载驱动, 加载驱动(执行/etc/hotplug/usb/hpljP1008)后确实可以打印

后来找到下面的资料

而这个N1当打印机插入的U口的时候根本就没有映射出/dev/usb/lp0,所以自然也不会自动加载驱动,原因是明白了
看来只有重新编译固件,增加USB support了,这就不是我等小白能搞定的事情了,此事就算告一段落了
不知道webpad大神是否有源码,能否帮忙帮忙编译一份带USB support的固件?


最新进展,直接给答案吧,前提是已经装好CUPS,并且按照http://foo2xqx.rkkda.com/这个说明安装好了驱动安装方法抄论坛一位同学的
安装打印机软件:apt-get install cups
配置打印机服务:
#允许远程访问命令: cupsctl --remote-any && systemctl restart cups
#允许远程管理命令: cupsctl --remote-admin && systemctl restart cups
编辑 /etc/udev/rules.d/11-hplj10xx.rules
在最后面增加一行
ATTRS{idVendor}=="03f0", RUN+="/etc/hotplug/usb/hpljP1008"
然后重启udev服务service udev restart,打印机关闭电源再开
其它型号的也可以仿照这种格式写


简单解释一下
udev是linux内核的服务,用来监听硬件设备是否发生改变,并可以给硬件设备命名 ,也可以在硬件发生改变之后执行脚本,
/etc/udev/rules.d这个路径下存储的是udev的规则文件,原来foo2xqx的驱动也是通过这个规则下载打印机的驱动的,
但是原来的规则是这样写的
#Own udev rule for HP Laserjet P1008
KERNEL=="lp*", SUBSYSTEMS=="usb", ATTRS{idVendor}=="03f0", \
        ATTRS{product}=="HP LaserJet P1008", NAME="usb/%k", \
        SYMLINK+="hpljP1008-%n", MODE="0666", RUN+="/etc/hotplug/usb/hpljP1008"
在N1上KERNEL已经不是lp开头的了,所以没有执行,我简单修改了一下规则加在后面就可以了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-12 09:54 | 显示全部楼层
本帖最后由 fayehoo 于 2021-6-12 21:44 编辑

有些人可能把N1长期固定作为打印服务器用途,平时关机,需打印的时候开机。在不接显示器的情况下,如何知道N1已经启动完毕了,这里采用LED灯闪烁的方法(不知道N1有没有蜂鸣器)。
1、首先在/root目录下建立脚本myLED.sh
#!/bin/sh
name="/sys/class/gpio/gpio510/"

if [ ! -d "$name" ]; then
  echo 510 > /sys/class/gpio/export
  sleep 1
  echo out > /sys/class/gpio/gpio510/direction
fi

while true
do
  sleep 1
  echo 0 > /sys/class/gpio/gpio510/value
  sleep 1
  echo 1 > /sys/class/gpio/gpio510/value
done

编辑完成后,需要赋予执行权限chmod +x myLED.sh
2、建立服务vi /etc/systemd/system/myLED.service
[Unit]
Description=LED after startup
After=multi-user.target

[Service]
ExecStart=/root/myLED.sh

[Install]
WantedBy=multi-user.target

3、在系统启动项中添加服务
sudo systemctl daemon-reload
sudo systemctl enable myLED.service
sudo systemctl start myLED.service
sudo systemctl status myLED.service

4、重启N1
reboot
当系统启动完毕之后,LED会闪烁,提醒已经可以打印了。





点评

不知道哪里错了,跑不起来么,帮忙看看呢,谢谢楼主! ----------------------- /etc/systemd/system$ systemctl daemon-reload /etc/systemd/system$ systemctl enable myLED.service /etc/systemd/system$ sys  详情 回复 发表于 2021-9-12 18:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-12 09:55 | 显示全部楼层
本帖最后由 fayehoo 于 2021-6-12 15:05 编辑

像HP1020这样的打印机,用N1来增加网络打印功能确实是大大提高了其实用性。代价也不高就是100元左右,市面上还有所谓的小白盒,也是起到这种功能。价格好像120左右。不知道N1和小白盒哪个更好用。N1太折腾了,有条件的情况下:首选还是买直接带网络功能的打印机,次选直接买小白盒,最后有多余N1和打印机的才推荐用N1做打印服务器。



我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-12 09:59 | 显示全部楼层
最后提一句HP1020 是GDI的打印机,固件每次上电要重新上传的打印机。确实有点落后。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-6-13 07:56 | 显示全部楼层
hp1020plus确实是传说中的机王,如此设置繁琐,又不稳定。目前价位极速飙升,果断放弃!推荐1020w新机带WiFi共享,好用不贵!你觉得呢?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-13 08:04 | 显示全部楼层
FJH4646 发表于 2021-6-13 07:56
hp1020plus确实是传说中的机王,如此设置繁琐,又不稳定。目前价位极速飙升,果断放弃!推荐1020w新机带WiFi共 ...

现在带wifi的选择倒是非常多。HP、佳能、兄弟、国产的都有。看自己的需求吧,算一下耗材、要不要双面、扫描、彩打、airpint等等。另外,按我这几天的使用情况,经过调教一番以后,N1+Hp1020的搭配还是比较稳定的。随时插拔,随时上电。都能马上找到打印机,打印速度也还比较理想。唯一缺憾就是安卓手机用wps打有异常,微软office可以。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-8 11:46 | 显示全部楼层
谢谢楼主了,以前搞过n1上的hp1020,现在出了点问题,按照你的方法搞定了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-18 14:44 | 显示全部楼层
啥也不懂,想问一下,三星4521F的驱动安装怎么输入命令,不能直接输入命令的话,怎么手动安装,搜了一下,看不太懂,求大神指点。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-22 17:11 | 显示全部楼层
标记一下 准备折腾
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-26 21:35

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表