文章目录
前言
有部老打印机,是惠普的P1505,闲置了很久,不久在某宝上看到路由器,可以折腾为网络打印机,遂下手买了一个,30元左右。很多店里都要80多90元。买回来后,才发觉悲催了,不支持P1505,通过查找资料,最终得以实现网络打印功能
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是GDI的打印机?
示例:就是低端型号的打印机,不是PostScript或者PCL语言的,等于是Windows打印机,需要每次上传固件的(即cat /usr/lib/sihpP1505.dl > /dev/usb/lp0)。
二、使用步骤
1.下载sihpP1505.dl;
代码如下(示例):
cd /usr/lib
wget http://oleg.wl500g.info/hplj/sihpP1505.dl
2.实现打印机的热插拔
(搜索关键字hotplug)
代码如下(示例):
vim /etc/hotplug.d/usb/10-printer
粘贴以下内容:
#!/bin/sh
# Copyright (C) 2006 OpenWrt.org
if [ "$PRODUCT" ="3f0/3f17/100" ]
then
case "$ACTION" in
add)
/etc/init.d/p910nd stop
echo "`date`: HP LaserJet P1505 added" >> /tmp/hp-1505
/etc/init.d/p910nd start >> /tmp/hp-1505
echo "Done." >> /tmp/hp-1505
;;
remove)
echo "`date`: HP LaserJet P1505 removed" >> /tmp/hp-1505
/etc/init.d/p910nd stop >> /tmp/hp-1505
echo "Done." >> /tmp/hp-1505
;;
esac
fi
按esc键,输入“:wq”保存退出;
3.实现自动上传打印机固件
代码如下(示例):
vim /etc/hotplug.d/usb/10-hplj1505
粘贴以下内容:
#!/bin/sh
set -e
# change this to the location where you put the .dl file:
FIRMWARE=/usr/lib/sihpP1505.dl
DEVICE=/dev/usb/lp0
LOGFILE=/tmp/hp-fm
if [ "$PRODUCT" = "3f0/3f17/100" -a "$ACTION" = "add" -a "$DEVTYPE" = "usb_interface" ]; then
echo "$(date): STARTING" > $LOGFILE
for i in $(seq 30); do
echo "$(date): Attempt number $i on $DEVICE" » $LOGFILE
if [ -c $DEVICE ]; then
echo "$(date): Device $DEVICE found." » $LOGFILE
if [ -z "`usb_printerid $DEVICE | grep FWVER`" ]; then
echo "$(date): No firmware found on $DEVICE" » $LOGFILE
echo "$(date): Sending firmware to printer…" » $LOGFILE
cat $FIRMWARE > $DEVICE
echo "$(date): done." » $LOGFILE
else
echo "$(date): Firmware already there on $DEVICE" » $LOGFILE
fi
echo "$(date): EXITING" » $LOGFILE
exit
fi
sleep 1
done
fi
按esc键,输入“:wq”保存退出。
总结
提示:低端打印机通过低成本升级成功逆袭为网络打印机。
cat /usr/lib/sihpP1505.dl >>/dev/usb/lp0
版权声明:本文为ejohn0808原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。