|
昨天就基本搞定了,不会咔哒咔哒响了,也不会重复打印了,而且打印任务也能正常停止,也没有用到usb_printerid(需要交叉编译),但是不太稳定的地方是:有时打印任务出不来,打印测试页每次都OK,但是有时word和Excel的任务出不来。
关键步骤就是:在Windows中去掉“双向打印”的对勾即可。
考虑到目前对于共享打印的诉求不是太强烈,暂时放弃了。以后有机会再试试CUPS,不过好像OpenWRT官方停止对CUPS的支持了。
我把用到的脚本贴上来,供大家参考一下,强烈建议大家仔细看原帖的内容,这些脚本都是从那儿COPY过来修改的:
/etc/config/p910nd, 是不需要修改的!
/etc/hotplug.d/usb/10-printer
#!/bin/sh
# Copyright (C) 2006 OpenWrt.org
if [ "$PRODUCT" ="3f0/4817/100" ]
then
case "$ACTION" in
add)
/etc/init.d/p910nd stop
echo "`date`: HP LaserJet P1007 added" >> /tmp/hp-1007
/etc/init.d/p910nd start >> /tmp/hp-1007
echo "Done." >> /tmp/hp-1007
;;
remove)
echo "`date`: HP LaserJet P1007 removed" >> /tmp/hp-1007
/etc/init.d/p910nd stop >> /tmp/hp-1007
echo "Done." >> /tmp/hp-1007
;;
esac
fi
上述命令成功了,插拔打印机之后,有反应。
/etc/hotplug.d/usb/10-hplj1007
#!/bin/sh
set -e
# change this to the location where you put the .dl file:
FIRMWARE="/usr/lib/sihpP1007.dl"
DEVICE=/dev/usb/lp0
LOGFILE=/tmp/hp-fm
if [ "$PRODUCT" = "3f0/4817/100" -a "$ACTION" = "add" ]; then
for i in $(seq 30); do
if [ -c $DEVICE ]; then
echo "$(date) : Sending firmware to printer…" > $LOGFILE
cat $FIRMWARE > $DEVICE
echo "$(date) : done." » $LOGFILE
exit
fi
sleep 1
done
fi
上述脚本也可以用,但是同样会不停的打印,而且打印任务也无法结束。
针对HP的GDI系列,应该改为下列的样子
#!/bin/sh
set -e
# change this to the location where you put the .dl file:
FIRMWARE=/usr/lib/sihpP1007.dl
DEVICE=/dev/usb/lp0
LOGFILE=/tmp/hp-fm
if [ "$PRODUCT" = "3f0/4817/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 上面是连接路由器的代码,先保存到论坛上,再看看怎么改造一下给win使用
|
|