Chinaunix首页 | 论坛 | 博客
  • 博客访问: 118601
  • 博文数量: 20
  • 博客积分: 1430
  • 博客等级: 上尉
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-16 07:08
文章分类

全部博文(20)

文章存档

2011年(1)

2010年(1)

2009年(8)

2008年(10)

我的朋友

分类:

2009-01-11 14:11:48

此方法在HP D2368和DD-WRT下有效

新的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"Click here to open new window
CTRL+Mouse wheel to zoom in/out).
注意:尽管打印机支持USB 2.0,但Asus WL-500g在选择USB 2.0支持的同时也必须选择USB 1.1的支持,否则路由器无法识别打印机

4. 连接打印机至路由器

5. 重新启动路由器

6. Telnel上路由器后,确认打印机是否被识别:
输入命令

CODE:
ls -la /dev/usb/

得到:

QUOTE:
drwxr-xr-x    1 root     root            0 Jan  1  1970 .
drwxr-xr-x    1 root     root            0 Jan  1  1970 ..
crw-rw----    1 root     root     180,   0 Jan  1  1970 lp0

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

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

CODE:
ipkg update

,然后

CODE:
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)的第三行默认如下:

CODE:
DEFAULT=/etc/default/p910nd

这个默认配置对于Mbjarland和我的打印机都不能生效,
我们需要将他修改为

CODE:
DEFAULT=/jffs/etc/default/p910nd

这里有两个命令你可以运行来检查你的打印服务器是否运行:
命令1

CODE:
netstat -an

返回如下信息:

QUOTE:
  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

CODE:
ps | grep p9100d

返回如下信息:

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

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

如果你的服务器仍没有成功运行,
(1). 尝试手动运行代码:

CODE:
/jffs/etc/init.d/p910nd start

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

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

9. 把

CODE:
/jffs/etc/init.d/p910nd start

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


XP下的配置(其他工作站Ubuntu Linux、Mac OS X请参照)

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


关于无线:
如果你需要通过无线网络共享你的打印机
在网页界面进入 管理 - 诊断 (英文:Administration - Commands) 在输入框内键入

CODE:
/usr/sbin/iptables -I INPUT 1 -p tcp --dport 9100:9102 -j logaccept


然后点击保存防火墙命令(英文:Save Firewall)

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

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

 

在诊断中添加启动项/opt/etc/default/p910nd

# printing port list, in the form "number [options]"
# where:
#  - number is the port number in the range [0-9]
#    the p910nd daemon will listen on tcp port 9100+number
#  - options can be :
#    -b to turn on bidirectional copying.
#    -f to specify a different printer device.
#
/jffs/usr/sbin/p910nd  -b -f /dev/usb/lp0

阅读(3929) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-07-09 22:43:43

帅哥用你的方法到第7、8步的时候就搞不好了,可以传授一下吗,可以加我qq371334834 email alan110888@163.com,有截图最好了