今天折腾了一个上午,终于完成了在Fedora 12下打印机设置。分享一下。
注:在这些之前应该安装hplip hpijs
默认情况下,第一次连接 usb 接口的 hp ljP1007 打印机后,系统会自动安装并配置好打印机。但是,系统并没有自带适合 hp ljP1007 打印机的驱动程序,虽然连接了打印机后会显示出打印机准备就绪,但是系统给打印机配备的驱动是有问题的,所以打印会失败。对于 hp ljP1007 打印机,需要安装额外的 foo2zjs 驱动,可从 载。foo2zjs 还支持一部分其他品牌和型号的打印机。
安装步骤:
1、通过系统提供的打印机管理程序 system-config-printer 或者 cups 的 web 管理界面 http://localhost:631/ 先删除系统默认已安装的 hp ljP1007 打印机(驱动是错的)。
2、下载驱动 foo2zjs.tar.gz。
3、下载该驱动后,解压缩后,进入驱动目录,执行以下命令:
make
make install
make install-hotplug
(运行之前先卸载system-config-printer-udev,运行命令:yum remove system-config-printer-udev因为它与hotplug冲突,所以必须删除)
可选,如果是 USB 接口的 HP LJ 1000/1005/1018/P1007 打印机则必须执行
make cups
(因为使用 cups,所以必须执行,作用就是重启 cups)
4、先接好打印机,然后通过系统提供的打印机管理程序 system-config-printer 或者 http://localhost:631/ 安装打印机,选择合适的 hp ljP1007 驱动安装好,然后把它设置为默认打印机。安装程序会自动在程序菜单的“系统工具”里面增加一个菜单项“HPLJ 10xx Replaced Paper”,估计是提供了更为高级的打印机监控配置功能。
5、安装 tcl/tk/tix,这样才可以运行新增加的菜单项“HPLJ 10xx Replaced Paper”,可执行以下命令:
yum install tcl tk tix
就可以安装 tcl/tk/tix 环境了,便于运行./getweb P1007 。
6、完成了上述步骤后,并不能马上打印。症状是:发送了打印指令后,打印机没有什么响应,也没有出错提示,通过 dmesg 却可以发现总是出现 usblp0: removed 的提示,而设备并未被删除了。通过 搜索,得知这种打印机需要上传一个 firmware 固件文件才能使用,而这个 firmware 在 linux 下的驱动程序里面并没有内置!所以就会导致打印机没有响应!其实 foo2zjs 驱动提供了下载和转换固件文件的工具。进入 foo2zjs 驱动源代码目录下,执行以下命令:
./getweb P1007 // 自动从惠普网站下载 hp ljP1007 的固件映像文件
将下载的固件映像文件转换为固件文件(已经有时就不用执行该命令)
arm2hpdl sihpP1005.img > sihpP1005.dl (1007与1005类似)
将固件文件复制到驱动安装目录下
cp sihpP1005.dl /usr/share/foo2zjs/firmware
7、重新接好打印机,这时可以听到打印机的响应动作了,打印机可以正常工作。
8、值得注意的是,getweb 这个命令文件并没有随 foo2zjs 驱动的 make install 等命令安装,而 arm2hpdl 命令文件却被安装了,注意:如果固件文件丢失,需要再通过 foo2zjs 驱动源代码解压缩后找到 getweb 来执行下载固件映像。在命令行直接输入 getweb 回车可以看到 getweb 的使用说明,对于不同型号的 hp 打印机,有的需要下载固件,有的需要下载 icc,并不同。
好了,尽情下面可以享受你的 hp laserjet P1007 打印机了。
—————————分割线—————————
foo2zjs.tar.gz下载地址在Linux公社FTP
FTP地址:ftp://www.6688.cc/
用户名:www.linuxidc.net
密码:www.6688.cc
在2010年LinuxIDC.com\4月\Fedora 12下使用HP USB打印机(HP laserjet P1007)\