cospo 发表于 2008-7-21 08:40

DD共享打印机(打印服务器)的完整教程--采用支持USB最新版dd-v24-9856_VINT_mini_usb

刚刚看了坛中关于打印机的文章。照做后仍无法启用我的打印机。于是我参照了官方Wiki http://www.dd-wrt.com/wiki/index.php/Printer_Sharing,重新配置了一遍,一切正常。
发觉坛中正巧没有关于支持USB设备版本的dd的教程。现将Wiki上面Mbjarland的教程做出翻译并加入自己的心得。
(不带USB支持的dd只需要拷贝相应的驱动文件并在网页上修改启动脚本,可以参照https://www.right.com.cn/forum/viewthread.php?tid=12148)




新的v24稳定版 (注:不是RC版本) 在网页控制面板中的服务界面包含了对打印机共享和USB的支持,我刚刚使得我的打印机成功运行,所以我觉得我应当分享我的经验或许可以节省大家一些时间。

已经测试成功:
1. HP LaserJet 3020 + DD-WRT v24 Stable + Asus WL-500g Premium (Mbjarland的)
2. HP DeskJet 3325 + DD-WRT v24 (07/03/08) mini - build 9856M TNG Eko(目前最新版) + Belkin 7231-4p (我的)

具体方法如下

1. 在 管理界面 开启 JFFS2支持

2. 在 服务界面 开启 SSH

3. 在 服务界面 开启
"Core USB Support",
"USB 1.1 Support (UHCI)",
"USB 1.1 Support (OHCI)",
"USB 2.0 Support"(7231-4p无需开启此项),
"USB Printer Support",
(如果你和我一样用USB HUB外接了EXT2的U盘请额外开启"USB Storage Support" 和 "ext2 / ext3 File System Support"http://cospo.kilu.de/blog/wp-content/uploads/2008/07/USB.JPG).
注意:尽管打印机支持USB 2.0,但Asus WL-500g在选择USB 2.0支持的同时也必须选择USB 1.1的支持,否则路由器无法识别打印机

4. 连接打印机至路由器

5. 重新启动路由器

6. Telnel上路由器后,确认打印机是否被识别:
输入命令ls -la /dev/usb/
得到:

drwxr-xr-x    1 root   root            0 Jan11970 .
drwxr-xr-x    1 root   root            0 Jan11970 ..
crw-rw----    1 root   root   180,   0 Jan11970 lp0

如果在/dev/usb下没有任何文件,你可能需要为你的打印机安装其他的一些驱动

7. 安装p910nd。
步骤:Telnet上路由器,执行语句:先ipkg update,然后ipkg install p910nd

8. 确认以下文件的内容(可以用vi命令,用法"vi 文件名",需要修改文件的话点i,保存并退出先按ESC然后输入:wq回车):

/jffs/etc/default/p910nd 包含了打印服务器启动时的配置文件
/jffs/etc/init.d/p910nd 包含了启动打印服务器用到的启动脚本

在v24版dd下,启动脚本(/jffs/etc/init.d/p910nd)的第三行默认如下:
DEFAULT=/etc/default/p910nd
这个默认配置对于Mbjarland和我的打印机都不能生效,
我们需要将他修改为
DEFAULT=/jffs/etc/default/p910nd
这里有两个命令你可以运行来检查你的打印服务器是否运行:
命令1
netstat -an
返回如下信息:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address         Foreign Address         State
tcp      0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN

命令2
ps | grep p9100d
返回如下信息:

561 root      680 S   p9100d -b -f /dev/usb/lp0 0

如果你在netstat返回的信息中看到91XX端口并且你在ps返回的信息中看到p9100d正在运行,你的打印服务器应该已经成功运行。

如果你的服务器仍没有成功运行,
(1). 尝试手动运行代码:/jffs/etc/init.d/p910nd start
然后再次确认以上两条命令的返回信息,手动启动仍无法运行的原因是你需要将上面第8条的/jffs/etc/init.d/p910nd按上面提到的内容修改。
(2). 有可能你需要删除/jffs/etc/default/p910nd中的-b参数。修改该文件删除其中的-b参数,然后再试。

现在,你已经可以成功打印了。

9. 把
/jffs/etc/init.d/p910nd start
这一行命令添加到 管理->诊断中的输入框内 并点击保存启动命令(英文版:Administration->Commands edit box and click "Save Startup").
这使得你不用每次启动后都需要再手动运行这条命令来开启打印服务器。


XP下的配置(其他工作站Ubuntu Linux、Mac OS X请参照http://www.dd-wrt.com/wiki/index.php/Printer_Sharing#Workstation_setup)

先直接把打印机连接到电脑并装好驱动。然后将打印机插回路由器
在控制面板 - 打印机和传真 中找到你安装好的打印机。右键 - 属性 - 端口。
点选 添加端口 -Standard TCP/IP Port 然后点击 新端口,下一步,输入路由器IP地址,点下一步后稍等片刻
选 自定义 - 设置,确认协议是RAW并且RAW端口是9100, 确定-下一步-完成。
确认你已经选择了你刚刚新建的端口然后确定。


关于无线:
如果你需要通过无线网络共享你的打印机,
在网页界面进入 管理 - 诊断 (英文:Administration - Commands) 在输入框内键入
/usr/sbin/iptables -I INPUT 1 -p tcp --dport 9100:9102 -j logaccept
然后点击保存防火墙命令(英文:Save Firewall)

你的路由器现在将重新启动,然后你就可以通过无线网络使用你的打印机

注意: 如果你的无线网能直接被因特网访问到那么基于安全问题并不推荐这样做, 但是在公司或学校内部的私有子网这样做很有用。



希望能有帮助,
Cospo 7月21日
&&
Mbjarland 07:33, 27 June 2008 (CEST)

[ 本帖最后由 cospo 于 2008-7-21 09:23 编辑 ]

阿键 发表于 2008-7-21 10:33

沙发,这么好的贴怎么没人顶?

yehongmj 发表于 2008-7-21 11:11

固件哪里下载?

cospo 发表于 2008-7-21 12:47

V24 VINT 最终版mini+USB支持固件
http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_FINAL-VINT/dd-wrt.v24-9517_VINT_mini_usb.bin

V24 TNG(The Next Generation) VINT 最新测试版mini+USB支持固件(我7231-4p刷的)
http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn9856/dd-wrt.v24-9856_VINT_mini_usb.bin

[ 本帖最后由 cospo 于 2008-7-21 12:49 编辑 ]

lybf 发表于 2008-7-23 08:15

刷完了 密码不对了。。。:L

怎么登陆啊。。。

lybf 发表于 2008-7-23 08:19

tomato 刷到 dd-wrt VINT 最新测试版mini+USB支持固件

登陆不了了。。。密码变了。。

泰山有老虎 发表于 2008-7-23 09:05

支持一下。。。。我的现在脱机下载都还没研究好。。。。正在努力、、、

chapiom 发表于 2008-7-23 11:11

7231-4p刷VINT好吗,我刷的是NEWD

阿键 发表于 2008-8-13 03:04

这个唯一不好的是,打印时不能缓存了,如果你在一份文件还没有打印完的情况下,再按了打印,那打印机就出错.

yarch 发表于 2008-10-8 09:47

原帖由 阿键 于 2008-8-13 03:04 发表 https://www.right.com.cn/forum/images/common/back.gif
这个唯一不好的是,打印时不能缓存了,如果你在一份文件还没有打印完的情况下,再按了打印,那打印机就出错.

不支持打印队列啊?
如果好几台机器同时安装了路由器上这个打印机的话,打印的话会按队列打印吗?或者出错?
如果只是一台电脑安装这个打印机,再共享给其他机器打印呢,这样就会支持打印队列吗?

ewew 发表于 2008-10-15 21:09

支持一下。。。。我的现在脱机下载都还没研究好。。。。正在努力、、、

quine 发表于 2008-12-25 17:43

不错,不知道Belkin 7231-4p 刷romato能不能实现打印服务器功能

freefaye 发表于 2009-1-2 04:11

如果你可以教我怎么连上我的佳能一台机:MP145的话,就太好了,可惜我连基本的都还没能看懂来

hzpyj 发表于 2009-1-2 19:52

:lol :lol :lol :lol :lol 好贴

xmseaco 发表于 2009-1-15 10:12

HP 1505 和 BELKIN 7231-4P

我用 HP 1505 和 BELKIN 7231-4P 有线连接可以打印测试页。
在笔记本端无线连接打印,没有错误,打印列表也没有跳错误,但打印机不打印?
有谁知道怎么回事?
页: [1] 2 3 4 5
查看完整版本: DD共享打印机(打印服务器)的完整教程--采用支持USB最新版dd-v24-9856_VINT_mini_usb