iStoreOS安装Cups实现HP1020P网络打印

大熊杂记
311 0

最近想在家修改打印点文件,物色了一圈打印机,从体积以及性价比一圈看下来,就看上了打印机界的桑塔纳---惠普HP1020Plus,单打印,构造简单,皮实耐造,成本算下来240元包顺丰拿下,外壳应该属于翻新,看着还蛮好的,塞我的多媒体柜里刚刚好。

HP1020Plus

接下来就是折腾网络打印,之前机柜里已经有两个N1盒子,一个跑AdGuard Home以及rtp2httpd,一个给整了科学上网,因为用的是便宜机场,所以分别在两个盒子上,以免太拉,影响我整个网络,图稳定都装了iStoreOS,直接在插件库里安装CUPS打印服务插件即可。

这里做个简要记录,以备后用。

CUPS打印服务

汉化CUPS

1.将文件夹doc-root及文件夹下文件,复制到/usr/share/cups文件夹下。
2.将文件夹templates及文件夹下文件,复制到/usr/share/cups文件夹下。
3.在/etc/cups/cupsd.conf文件中添加以下内容

DefaultLanguage zh_CN

安装打印机

PPD驱动下载:

360截图20260426185301025.jpg

打印服务器断电重开配置

步骤1:配置热插拔支持
脚本内容如下:

cat > /etc/hotplug.d/usb/10-hp1020-firmware.sh <<'EOF'

#!/bin/sh
#
# HP LaserJet 1020 固件自动加载(OpenWrt / iStoreOS hotplug)
# 路径: /etc/hotplug.d/usb/10-hp1020-firmware.sh
#

DEV="/dev/usb/lp0"
FW="/etc/sihp1020.dl"
LOCK="/var/lock/hp1020_fw.lock"
MARKER="/tmp/.hp1020_fw_loaded"
PRINTER="HP1020"
DEBOUNCE=12

hp1020_match() {
    case "$PRODUCT" in
        3f0/2b17/*) return 0 ;;
    esac
    return 1
}

hp1020_disable_autosuspend() {
    for d in /sys/bus/usb/devices/*; do
        [ -f "$d/idVendor" ] || continue
        [ "$(cat "$d/idVendor" 2>/dev/null)" = "03f0" ] || continue
        [ "$(cat "$d/idProduct" 2>/dev/null)" = "2b17" ] || continue
        echo -1 > "$d/power/autosuspend_delay_ms" 2>/dev/null
        echo on   > "$d/power/control" 2>/dev/null
    done
}

load_firmware_once() {
    [ -f "$MARKER" ] && return 0
    [ -c "$DEV" ]   || return 1
    [ -f "$FW" ]    || return 1

    if fuser "$DEV" >/dev/null 2>&1; then
        return 1
    fi

    cat "$FW" > "$DEV" || return 1
    sleep 2
    touch "$MARKER"

    hp1020_disable_autosuspend

    lpadmin -p "$PRINTER" -o usb-no-reattach=true 2>/dev/null
    lpadmin -p "$PRINTER" -E 2>/dev/null

    return 0
}

# ---------- USB 拔出:允许下次插入再灌固件 ----------
if [ "$ACTION" = "remove" ]; then
    hp1020_match || exit 0
    rm -f "$MARKER"
    exit 0
fi

# ---------- 仅 HP 1020 插入 ----------
[ "$ACTION" = "add" ] || exit 0
hp1020_match || exit 0
[ -f "$MARKER" ] && exit 0

mkdir -p /var/lock

# 延时 +  flock:加电防抖,避免 hotplug 连触发灌两次固件
(
    flock -n 9 || exit 0

    sleep "$DEBOUNCE"

    [ -f "$MARKER" ] && exit 0

    i=0
    while [ $i -lt 20 ]; do
        [ -c "$DEV" ] && break
        i=$((i + 1))
        sleep 1
    done

    load_firmware_once

) 9>"$LOCK" &

exit 0
EOF

chmod +x /etc/hotplug.d/usb/10-hp1020-firmware.sh

打印机起名简单点,那么PC端直接添加地址为:http://192.168.10.20:631/printers/HP1020
手机端使用PrintHand,有需要可以内网穿透,实现真远程打印。

快速分享
最后更新 2026-05-29
米家智能插座的另类用法
宝塔面板为Nginx添加自定义模块brotli
评论 ( 0 )
默认头像
隐私评论

还没有评论,快来抢沙发吧!