实现老型号HP打印机手机无线打印的一些步骤和方法

2026的技术现状

背景

家中常有一些老掉牙的机器,还没换新,又或者是新机器,却没有无线功能,也许吧,这有一个可以实现无线打印的技术路线。分享给大家

路线

好像2026年的手机都支持分现网络中的共享打印机,并且可以直接发送打印任务过去。

只要家中有电脑这样的设备,打开打印共享以后,他的打印机就可以被手机直接发现。这里要说是的那些手机自身的打印功能对于打印机不具备无线功能,经过了电脑设备的共享,手机是可以直接使用的。**

*

不要冒险去充值一些手机三方打印软件或者看来看去全广告,而做无用功,而没有去调整家里的共享设置。这在三方手机软件是解决不了后台服务问题。

**

大多数的,文档处理,和图片,在共享的打印机上是可以直接打的。而手机的分享菜单中是直接有打印图标,也是可以找到本地网络上可用的打印机的。

一些持久化的细节

毕竟在家中,打印机和电脑同时打开,且24小时在线有点难为人。所以我用家中openwrt无线路由,担当起了一定的角色。如果家是有软路由,且是openwrt也很好。分为两个方案,

一。 p910nd+ 单独虚拟机cups

因为路由硬件无法运行cups这样的应用,所以只是用来做转接把9100端口,在网上打开,它用来接收来自本网络打印请求,让其具有无线能力,,然后需要像电脑主机一样的设备安装对应的打印机驱动,让其具有打印解析功能。完成这两步打印机真正变成了手机无线直联打印机。

现在800块的打印机都具备了这样的功能,我只是把这个核心拆开成分部公共网络算力上。然后投放到古早设备上。

为了达到的手机可访问,24小时共享找印,

但是HP在1年前左右还没有支持P1008这样的机器,在2013的时候,foo2zjs中的foo2xqx已经失效了。没有网站了。

  • 启用无线openwrt投放固件开端口

hplp-data 中的这些firmware. 这些类型的打印机通过这些文件来实现GP语法,是对主机交互的一些基本功能,但没有在打印机固件中保存,也就是需要在每次掉电启动后,从对端也就是联线驱动中,下载到打印机内部。这是厂家专用的一些数据块。用来解析打印作务。

所以目前的方式,需要在openwrt中,传入对应型号的,fm.当然看出来了,这是从,hplp中找到的。

然实现USB,掉线,也就是打印机重联后,上传打印机。

bash 复制代码
cat  /usr/bin/hp-p1008-fw.sh 
#!/bin/bash
# 指定固件路径(如果文件是 .gz 结尾,请先解压或使用 zcat)
FIRMWARE="/www/hp_laserjet_p1008.fw.gz"
DEVICE="/dev/usb/lp0"

# 检查固件文件是否存在
if [ ! -f "$FIRMWARE" ]; then
    echo "Firmware file not found: $FIRMWARE" >> /tmp/hp-p1008-fw.log
    exit 1
fi

# 等待设备节点就绪(最多等待5秒)
for i in {1..5}; do
    if [ -c "$DEVICE" ]; then
        # 将固件写入打印机
        gunzip -c  "$FIRMWARE" > "$DEVICE"
        echo "Firmware sent to $DEVICE at $(date)" >> /tmp/hp-p1008-fw.log
        exit 0
    fi
    sleep 1
done

echo "Device $DEVICE not found within timeout" >> /tmp/hp-p1008-fw.log
exit 1

对于openwrt 来说,需要加入hotplub的脚本

bash 复制代码
nano   /etc/hotplug.d/usbmisc/10-hp-p1008

  

[ "$ACTION" = "add" ] || exit 0

#  i e设 g j^b bM-9就绪
for i in $(seq 1 10); do
    [ -c /dev/usb/lp0 ] && break
    sleep 1
done
[ -c /dev/usb/lp0 ] || exit 0

if [ -x /usr/bin/hp-p1008-fw.sh ]; then
    echo "=== $(date) ===" > /tmp/hp-p1008-fw.log
    /usr/bin/hp-p1008-fw.sh >> /tmp/hp-p1008-fw.log 2>&1
fi

我随后会把,所有这些机型的,firmware上传上来。这是经过我验证的。也就是说,对于轻量级的,这些打印机,转成网络打印的,P910nd的一个实现。这个固件上传是关键。

  • 打印一个容器装驱动

在群晖或是软路由中可开一个DOCKER或是跑一个VMM,KVM,PVE,LXC等这样的虐拟环境,我用的Debian,也可以是ubuntu,或其它,然后安装,hplp驱动,或其他厂的驱动程序,能在linux下跑起来的就行,

在cups中找到这个,socket://ip:9100,然后在驱动中找到刚才安装的hplp一大群打印机中自已的型号。分享到网上。

然后在手机中,找到一个图片,点分享,找到其中的打印,选一个打印机,会在网上去查找并更新其状态。

变成了可用,就能发送测试了。手机是最后一步,

注意:需要先在电脑分步进行,先对9100这个无线路由公布的端口进行测试,无问题后,再在CUPS安装完成后进行测试页打印。前两步都通顺了。手机自然能打印了,最后这是几百块就能解决的问题 。感觉又一个不必要,但折腾人。

二、一个内核做所有

对于可使用USB口的容器,就不需要openwrt这些复杂处理。主要过程就是,安装cups ,hplp,用hp-setup 本配置一台打印机。

其中有几点

  1. ,hplp在安装本地,这类的1008打印机时,会有一个,hp-plugin的安装过程,而这个过程要跑去HP官网下载,一个run,角本,名叫hplip-3.22.10-plugin.run。这类的,其中,hp-plugin -i会显示下载不进行,这可能是 wget无法通过安全验证。所以需要手 工 下载,再传输到本地。然后再在, 安装过程中手工指定,放在哪里。这个是,固件数据下载和脚本定制的过程。 其中hplp -g图形化安装也会遇到这样的问题。
    如果一切顺利。就能出测试页了。
  2. cups 的配置文件有两个需要放开权限,端口号从本地转为网络。子网,管理权也可在子肉内允许。系统可不运行于root下。
bash 复制代码
# Only listen for connections from the local machine.
Listen 0.0.0.0:631
Listen /run/cups/cups.sock

 
<Location />

Allow from 192.168.1.0/24
  Order allow,deny
</Location>

这是核心的两处。

关于驱动

上面说到了firmwawe中在主机中存的,hplp的核心任务可以是放入了一个PPD文件。有网友说在cups中手建打印机可以自已上传ppd在我这样一个重量操作后它在这里。

这些代码是AI生成的。

ls -l /etc/cups/ppd/

-rw-r----- 1 root lp 14530 Sep 27 15:58 HP_LaserJet_P1008.ppd

打了ppd

这是从hplp驱动,用于linux 的hp打印程序,提取到的 plug-in中的固件文件。

对于部分型号,现在HP的官方驱动已经集成了这个功能,所以以前的foo2xqx已经失效了。

所以现在,apt install hplp

最后

这个文章的操作是从,把,1008挂上openwrt开始的,着手于一台,MACbook ,10.12的,x86平台。一开始,我不知道,9100能不能直通到它。发现,添加打印机选,hp socket但软件选,原来就内置的1008是可行,因为发起了共享,发现手机也能直接打印。于是就有了转去,docker的cups的想法。 手头正好有,debian12的群晖,VMM。所以没有从docker 做起而是在主机环境的测试,这样docker中可能有的坑就走了一遍。

所以轻量级的办法,是USB,去一个主机,并且USB,在加载后,写一次fimware到usb端口.然后,cups驱动,上传ppd, 这可能是最轻量的做法。

我也只能提供,这两类文件,对于不想从头弄的人。

这个提取来的。也许,可以直接打包成一个docker,但是我是做不运了。

https://download.csdn.net/download/wjcroom/93514938

https://download.csdn.net/download/wjcroom/93514977

相关推荐
潜龙95272 小时前
需求文档一键变测试用例:手工用例智能生成平台
开发语言·c#
sunburn-2 小时前
Java 排序算法详细教学:从冒泡排序到快速排序
java·开发语言·数据结构·ide·算法
鹤卿1232 小时前
「iOS」GCD
开发语言·ios·objective-c
我是小白呀2 小时前
编排还是事件协作?用 AcmeFlow 讲清企业 Workflow 的控制权
java·开发语言
Days20502 小时前
时间胶囊项目正式发布
javascript·gpt·php
ACP广源盛139246256732 小时前
接口适配方案选型|GSV6125@ACP HDMI2.0 转 Type‑C/DP1.4 桥接芯片工程评估
大数据·c语言·开发语言·硬件架构·硬件工程·国产芯片
小羊没烦恼!2 小时前
【译】利用Asp.net MVC处理文件的上传下载
开发语言·缓存·c#·word·powerpoint·.net
时间的拾荒人3 小时前
Qt 信号与槽机制详解(二):连接方式详解与面试指南
开发语言·qt·面试
霸道流氓气质3 小时前
LangGraph式图编排引擎Java实现:状态机模型、Checkpoint恢复与生产级落地实战
java·开发语言·数据库