Linux下扫描仪的设置和使用明显比Windows操作系统要麻烦得多,其实当前的许多问题都是由于内核和SCSI驱动程序的一些缺陷造成的,如果使用较新的内核版本,只要经过简单的补丁和重新编译就可以让你的扫描仪在Linux下扫出一片斑斓色彩!
笔者使用的操作系统是中文Linux中最新发布的“蓝点2.0”(BluePoint2.0)和“MicrotekScanmakerX6”扫描仪。使用其他Linux版本或其他品牌扫描仪的用户也可以通过类
似的方法下载相关品牌的补丁文件和驱动程序即可。
方法与步骤:
(一)下载相关文件
首先,从最基本的开始——内核的SCSI驱动程序的源代码补丁文件。众所周知,蓝点使用的内核版本是2.2.16,只要下载一个对应Linux内核版本的补丁文件能支持就行了。当你在Linux的“/usr/src”目录里安装了内核源代码后,你可以通过从网站(/twaugh/parport)下载免费取得这个补丁文件“Linux2.2.15pre14-ppscsi1”,如果你下载的是“Linux2.2.16pre14-ppscsi1”的补丁文件就更好,高版本一定能向下兼容而且性能比低版本的要好得多。
接着是“Linux”系统必不可少的扫描仪驱动程序接口——“SANE”。你可以到(/sane)下载目前最新的版本。笔者建议你不要下载它的“RPM压缩文包”,而是要下载它的源代码。因为下一个步骤要靠手工来完成某些方面的设置。
(二)对内核打补丁文件
为了以防万一,在对内核打补丁文件前应该对内核进行备份,或者出现问题后可以从安装光盘里重新安装内核源代码软件包(光碟中/BluePoint/RPMS/kernel-source-2.2.16-1.i386.rpm)。当你下载了内核补丁文件后,你要以“root”身份进入系统,把补丁文件放到“/usr/src”目录下,还要依次执行以下命令:
1、mvppSCSI*.patch/usr/src
2、patch-p0〈ppSCSI*.patch
此时,内核已经被打好补丁文件了,跟着到了设置和编译的步骤。
3、进入源代码目录(/usr/src/linux):cd/usr/src/linux
4、调用“make”源代码编译控制程序:“makemenuconfig”
5、在控制程序里“SCSIsupport”选项下(图1),选择“SCSIsupport",对“SCSIsupport”和“GenericSCSIsupport”两项,按下“Y”即可把SCSI支持内嵌到源代码里(显示出“*”号)或者按下“M”把SCSI支持编译为模块(显示出“M”号,使用该模块时必须动态加载)。
图1
6、在控制程序里“SCSIsupport”选项下(如图2),进入“SCSIlowleveldrivers”选项目录,选择“parallelportSCSIadapter”(并行SCSI适配器)和“Onspec90c26adapter”(Onspec90c26适配器)。
图2
7、完成设置后,编译内核,编译和安装这些模块。
(三)编译和安装“SANE”和“Microtek”驱动程序
笔者下载得到SANE的驱动程序是“sane-1.0.2.tar.gz”,Microtek驱动程序是“microtek2-0.8.tar.gz”。
当你下载得到了这两个文件后,就以“root”账号进入系统,首先把“SANE”解压缩:tar-xvzfsane-1.0.1.tar.gz。然后把“microtek2”后台控制程序解压缩:tar-xvzfmicrotek2-0.8.tar.gz。
解压后你会看到两个新文件:“microtek2.c”和“microtek2.h”。把它们复制到“SANE”源代码的“backend”目录里,接着进入“SANE”的源代码目录并编译它,如下即可:
cdsane-1.0.1
./configure
make
makeinstall
(四)加载驱动模块
现在你已经成功在望了,在重启机器之前,必须先打开扫描仪的电源。因为SCSI驱动程序只在启动的时候才检查第2个并行口(COM),如果扫描仪未通电,系统会报告找不到“SANE”设备。在重启后,还必须把所编译的模块加载到内核里。
如果你的linux系统是“蓝点2.0”,要安装一个动态模块非常容易。实际上,你可以只安装最必要的模块就行了,在运行时其他依赖模块被调用的时候会被自动的装入。先以“root”账号进入登录系统,然后根据情况加载驱动模块:
如果在第二步中SCSI驱动被编译到内核里:需执行“insmodonscsi”;
如果在第二步中SCSI驱动被编译为动态模块,你必须在使用“insmodscsi_mod”(scsi_mod即任何SCSI设备驱动模块)把它加载进来。要执行的命令是:“insmodppscsi”,然后是“insmodonscsi”。
此时你就可以使用扫描仪了。但是这样必须在每次启动后,都执行这些命令才能使用扫描仪。其实如果想一劳永逸,只要把这两行命令加到系统启动文件“/etc/rc.d/rc.local”的最后就行了(注意:必须是“root”账号登录才有权修改):
insmodppscsi
insmodonscsi
(五)设置扫描仪设备
进入“SANE”的源代码的“tools”目录,里面有一个名为“find-scanner”的命令,运行它:“./find-scanner-v”。它会找到扫描仪并告诉你它的设备位置(也许你必须使用“Shift+PageUp”把屏幕往上翻页才能看到这些信息)。它的位置通常是在“/dev/sg0”或“/dev/sga”,有时候两者会同时出现。
接着键入命令指明扫描仪设备:“ln-s/dev/sg0/dev/scanner”。如果让所有的账号都可以使用扫描仪,则键入命令:“chmod666/dev/sga”(这里的dev/sg0都是指扫描仪设备的位置)。
好了,这样你就可以打入“scanimage”或者“xscanimage”随时享受扫描乐趣了!
在Linux操作系统的世界,给你的扫描仪在Linux里安个家应该是件不难的事情,但从整个工作而言,当然比其他操作系统(Windows)要麻烦且困难得多,需要掌握一部分关键命令,但愿通过本文能给你一点了解。从而加深对“Linux操作系统”的喜爱。