2007年9月3日

有备无患:Canon Pixma iP1880打印机安装笔记

相比游戏和多媒体,Linux对打印机的支持强劲了许多,这得益于CUPS(Common Unix Printing System,中译“通用Unix打印系统”)的迅速发展。CUPS诞生于1999年,它能够把Linux支持的PostScript页面描述转换为打印机能识别的命令集,然后输出到打印机。现在,CUPS已经得到大多数打印设备商的支持,能驱动大量的打印设备,我们可以在OpenPrinting的网站上找到这些打印机的驱动信息。

这篇文章记录我在Gentoo Linux上安装和本地配置Canon Pixma iP1880喷墨打印机的过程,希望大家能把它当作《Gentoo打印指南》的补充阅读。欢迎FIXME :-)

0. 购买一款Linux支持的打印机


在掏出钱包准备“大出血”之前,我们首先要知道这款打印机能否在Linux下正常工作。OpenPrinting的数据库里有许多相关的信息,比如Linux支持的打印机列表,比如这些打印机的驱动信息。从中我们可以找到答案,例如,iP1880的介绍上写着:Canon Pixma iP1880: Color inkjet printer, works Perfectly(彩色喷墨打印机,完美支持)。这就足够了。

如果我们相中的打印机才“新鲜出炉”,还没有进入OpenPrinting的数据库,该怎么办呢?首选是Google,俗话说得好,“知之为知之,不知Google知”。另外,这儿有一条为Linux挑选硬件的普适原则:尽量选择国际大厂的产品。通常这些产品的质量更好,也比国内厂商也更尊重Linux用户。(wyt:想到淘宝拒收Linux和Firefox用户,怒气值就大幅上升-__-)

在家用打印领域,HP Deskjet D2368、Epson ME2和Canon Pixma iP1880是最近比较热门的选择。D2368单机成本不足300元,性价比较高。ME2的优势在于它的墨盒,黑墨和彩墨分别只要39和59元,适合有大量打印需求的人。

我更喜欢iP1880。Canon Pixma iP1880是佳能的07年春季新品,黑色优雅的立方体和弧线设计,放在我家Tt Matrix旁边相得益彰。FINE打印头技术,使iP1880的打印速度更快打印质量更高。黑白文档每分钟印20页,彩色每分钟印16页,4×6无边距的照片只需70秒。最高4800dpi的分辨率,最小仅2pl的墨滴。而且iP1880单价只有360元,附送830黑墨和831彩墨各一盒,比“抠门”的D2368(D2368仅附送刚够打20张的“体验墨盒”)更超值。但是,iP1880也有一个缺点:因为没有出纸口的挡板,iP1880的实际占用面积要比看上去大得多。



1. 配置内核


首先按照说明书安置好iP1880,打开开关。然后为Linux内核添加USB打印支持。检查/usr/src/linux是否指向正确的内核版本。没问题的话,目录切换到/usr/src/linux,运行make menuconfig配置内核。如果你和我一样用genkernel的话,运行genkernel --menuconfig all。(提醒:不要忘记为LVM2或者EVMS2,启用--lvm2或--evms2选项)

和《Gentoo打印指南》说的稍有不同,在2.6.22-r5的内核里,相关的USB支持似乎只能以模块编入内核。但是这不是什么大问题,只要别忘记事后加载这些模块。


Device Drivers -->
  USB Support -->
    <M> Support for Host-side USB
    (...)
    --- USB Host Controller Drivers
    (选择系统HCD。如果不知道选哪个,运行"lspci -v | grep HCI"看看)
    <M> EHCI HCD (USB 2.0) support (或)
    <M> OHCI HCD Support  (或)
    <M> UHCI HCD (most Intel and VIA) support
    (...)
    <M> USB Printer support

编译完内核之后,我们需要让这些模块能自动加载。


# echo "uhci-hcd" >> /etc/modules.autoload.d/kernel-2.6

2. 安装CUPS


接下来我们安装CUPS。得益于USE flags,在Gentoo上安装CUPS是一件非常享受的事情。选择你要的USE flag,把它们加入/etc/portage/package.use。如果不知道选哪个,可以参考《Gentoo打印指南》的说明


# echo "net-print/cups ldap ppds" >> /etc/portage/package.use
# emerge -av cups
[ebuild  N ] net-print/cups-1.2.10-r1  USE="X dbus jpeg ldap nls pam png ppds ssl tiff -php -samba -slp" 3,534 kB

(我们还想把cups加入/etc/make.conf,让所以支持CUPS的应用程序都能支持我们的打印机)
# vi /etc/make.conf
USE="... cups ..."

(然后更新这些程序)
# emerge -uDN world

(启动CUPS)
# /etc/init.d/cupsd start
# rc-update add cupsd default

CUPS有一套不错的默认配置,对我来说这已经足够了。如果你希望能从其他电脑上远程调用或者管理这台打印机,你需要修改一下/etc/cups/cups.conf。这通常不会很难,因为cups.org上有一份详细的用户文档可供参考。

3. 配置iP1880打印机


用lsusb命令看看我们的打印机是否在线。


# lsusb
Bus 007 Device 006: ID 04a9:10c2 Canon, Inc.

看起来我们做的不错,Gentoo已经识别出iP1880了。从Gentoo-wiki上我们可以找到和iP1880兼容的驱动net-print/cnijfilter-2.70的ebuild。接下来我们就要开始安装了。


# mkdir /usr/portage/net-print/cnijfilter
(本地overlay中创建目录,参照/etc/make.conf中的PORTDIR_OVERLAY) # mkdir <PORTDIR_OVERLAY>/net-print/cnijfilter # cd <PORTDIR_OVERLAY>/net-print/cnijfilter (下载bugs.gentoo.org提供的ebuild。你也可以下载我这儿的副本# wget http://bugs.gentoo.org/attachment.cgi?id=118804 -O cnijfilter-2.70.ebuild # ebuild cnijfilter-2.70.ebuild digest >>> Creating Manifest for /usr/portage/net-print/cnijfilter... # ebuild cnijfilter-2.70.ebuild fetch

最后一条命令fetch的将是佳能提供的一个rpm。但是我从佳能日本的ftp下的时候速度特别慢,后来我是从Google上搜出的一个ftp上下来的。另外,你可以从这里下载。


# wget http://ftp.linux.kiev.ua/pub/Linux/drivers/Canon/bj/download.canon.jp/pub/driver/bj/linux/cnijfilter-common-2.70-1.src.rpm
(或)
# wget http://luliban.com/attachments/cnijfilter-common-2.70-1.src.rpm

(安装net-print/cnijfilter)
# echo "net-print/cnijfilter ~x86" >> /etc/portage/package.keywords
# echo "net-print/cnijfilter ip1800" >> /etc/portage/package.use
# emerge -av net-print/cnijfilter

然后,我们为把iP1880添加到CUPS所管理的打印机列表中。启动Firefox,访问CUPS的管理界面 http://localhost:631,点击Add Printer(添加打印机)。先是为iP1880添加相应信息:

  • Name: cnip1880
  • Location: Just in my room
  • Description: Canon Pixma iP1880

Device选择Canon iP1800 Series USB #1(Canon iP1800 Series),Model/Driver选择Canon iP1800 Series Ver2.7.0(en)。最后在添加打印机之前,我们还要输入root的帐号和密码。

到这里,我们已经完成了iP1880的安装。我们可以在可以在CUPS管理页面,点击Set Printer Option(打印机设置),配置纸张、分辨率和色彩模型等参数。或者,点击Print Test Page(打印测试页面)看看打印效果。总之,这篇文章到此结束,大家有什么问题的话,欢迎留言评论。

参考页面:

1 评论:

匿名 说...

Really thank you for this!

Just bought a Canon ip-1880 and followed the instructions on your webpage to install cups for it.

I am on amd64 and so I needed to put this into my overlay (emul-linux-x86-bjdeps):

http://bugs.gentoo.org/129352

Get the ebuilds
ebuild emul-linux-x86-bjdeps digest
echo "app-emulation/emul-linux-x86-bjdeps ~amd64" >> /etc/portage/package.keywords

emerge -uvD cnijfilter. It will pull in both packages.

Thanks again!

-William

发表评论

欢迎留言

订阅我的博客

搜索我的博客

正在加载...

我的豆瓣广播

分享阅读

豆瓣秀

休斯敦火箭

我的文章归档

版权申明