作者┱Alexandre J
本文档向用户讲授如何在Linux下让瘟猫(Winmodem)运转起来。
1. 瘟猫是什么东东?
1.1 它们是猫......
1.2 ...但是跟真正的猫并不一样!
1.3 我怎么知道我拿的是瘟猫?
2. 是ISA还是PCI?
2.1 PCI ?
2.2 难道是ISA的?
3. 安装猫的驱动程序
3.1 LT牌瘟猫(来自朗讯科技Lucent)
3.2 LTMODEM程序(开源的驱动程序)
4. 结束...
4.1 版权协议,版权所有
4.2 联系信息
4.3 资源
1. 瘟猫是什么东东?
1.1 它们是猫......
一只瘟猫,和其它的猫一样,是用来访问电话服务的,比如BBS、英特网、语音电话、传真等等。它通过电话线连接并由速度决定其特性.如果您很想学习猫的更多知识,我建议您阅读Modems-HOWTO。
1.2 ...但是跟真正的猫并不一样!它们是“瘟”猫(WINmodem)!也就是说,它们依赖于Windows操作系统才能工作!为什么呢?很简单,因为它们太土鳖!它们需要特定的软件和驱动程序协同起来才能完成完整的任务。所谓的特定软件指的就是操作系统,随猫所提供的驱动程序99%的程度是只有为微软视窗系统平台独家提供的。但是随着Linux的民主化/大众化(democratization),一些生产厂家,比如朗讯科技(LT)、摩托罗拉(Motorola)等,决定为她们自行研制生产的猫们开发Linux下的驱动程序。但是她们并不了解Linux的哲学:她们提供的驱动程序是能够正常工作
的,而她们的驱动程序却是“闭源”(Closed Source)的!她们是free的,这里的free指的是价格上的“免费”,而不是GPL条款所指的“自由”!也就是说这些驱动程序的源代码不公开给大众。
所以,一些“黑客”/“电脑玩家”决定编写一个开源(Open Source)的驱动程序,但是他
们
并不十分了解手中的猫的技术细节,因为生产厂商不愿意泄露的猫的技术细节。也正因为如
此,开源的猫驱动程序往往是alpha或者beta版本的。
1.3 我怎么知道我拿的是瘟猫?
1. 看看您的猫连接的串口的名称(举例说,在Windows或者MSDOS就是COM1、COM2、...等等
)。
在Linux下,您的猫的名称是/dev/ttySx。此处的x是在DOS下的串口号数字减一。比如,在D
OS下的COM1,在Linux是ttySx,这里的x=1-1=0,所以是ttyS0。
第二例:在DOS下面是COM3,在Linux下面则是ttyS2。
其它的依此类推。
2. 给/dev/ttySx做一个名为/dev/modem的符号连接。需要执行的命令是:
rm -f /dev/modem
ln -s /dev/ttySx /dev/modem
3. 下载并安装minicom软件包。接着运行'minicom -s'。
选择'Serial Port Setup'(串口设置),键入'A'来设定'Serial Device('串口设备),
删
除所有的行,并输入'/dev/modem'。接着请按[Enter]回车键确认。按[Esc]键,并选择'sav
e setup as dfl”,然后选择'Exit'(退出)。
请等待一会儿,然后输入'AT'。如果您的猫回应'OK',那么您的猫不是一只瘟猫,而是一只标准的猫!
如果初始化时间太长,那么您的猫应该是一只瘟猫。请仔细阅读本文档,让它能跑起来。请
以root根用户登录。
4. 请按CTRL+A然后X退出Minicom操作环境。
2. 是ISA还是PCI?
2.1 PCI ?
嗯,知道了,我们现在知道我们的猫是一只瘟猫了。但是瘟猫有两种类型:ISA或是PCI的。
可恶的厂商们为了让事情变得更糟糕,故意把两种接口做的非常不同。所以,现在我们就要
测试一下我们的猫是PCI的还是ISA的。首先,必须要配置一把内核。在make *config的过程
当中,必须对下列问题回答'yes':在Loadable module support(可加载模块支持)部分:'Enable loadable module support
(CONFIG_MODULES)'(激活可加载模块支持),及 'Set version information on all mod ules for symbols(CONFIG_MODVERSIONS)'(切记必须已经安装了modutils模块工具软件包
?
请参阅Kerneld-HOWTO)
在General setup部分:
'PCI support' (CONFIG_PCI)
在'PCI Access Mode' (CONFIG_PCI_GOBIOS)处选择'Any' 'PCI quirks' (CONFIG_PCI_QUIRKS)
'Backward compatible /proc/pci' (CONFIG_PCI_OLD_PROC)
在Filesystems部分
'/proc filesystem support' (CONFIG_PROC_FS)
如果您从未重编译过内核,可能您使用的发行套件的内核就已经包含这些东西。如果想重编 译内核,而且您还从未干过这样的事情,请参阅Kernel-HOWTO.
现在,我们假定您的新内核已经安装妥当。
现在请运行'cat /proc/pci'命令。如果您在命令行返回的结果当中看到了您的猫的名字,那么您的猫是PCI瘟猫。请跳至'安装驱动程序'一节
2.2 难道是ISA的?
如果您还没有找到您的猫,很有可能您拿到的是一只ISA的猫。怎么确定是ISA猫呢?
ISA的支持在内核是不考虑直接支持的(2.4.*系列内核会考虑,但是目前它还是不够稳定的 )。这里有一个第三方的软件,名字就叫isapnp,是用来检测ISA设备的。首先您必须确认您已经安装了该软件包。如果还没有安装,也可以通过下载isapnptools软件包来解决。
一旦isapnptools已经安装好,我们先运行一个特定程序,叫pnpdump。它可以检测您的电脑系统,从中寻找出ISA设备来。在运行当中,程序试图检测设备所使用的资源并将这些资源打印到文件/etc/isapnp.conf当中。然后,您需要编辑该文件并执行另外一个程序isapnp。该程序会读取isapnp.conf文件并自动配置您的设备。
嗯?听起来很难么?那就走一走以下的步骤吧:
1. 请执行'pnpdump /etc/isapnp.conf'。
2. 请使用您最喜欢的文本编辑器来编辑该文件。
3. 定位到描述您的猫的节段部分。
4. 去掉文件当中的某些行列的注释(就是去掉行首的#号啦)。您得:
1 line '(IO 0 ...)'
1 line '(INT 0 ...)'
1 line '(DMA 0 ...)'
1 line '(DMA 1 ...)'
1 line '(IO 1...)'
5. 请删除掉所有未注解IO行当中的'(CHECK)'
6. 请执行'isapnp /etc/isapnp.conf'。如果提示有错,请根据您得到的错误信息,编辑文件isapnp.conf并变更参数。如果没有错误提示,编辑文件isapnp.conf并解除描述您的猫的
节段部分的'(ACT Y)'行注释。然后再执行'isapnp /etc/isapnp.conf',系统会提示您" [[ Name of your modem]] Enabled OK"
7. 请把'isapnp /etc/isapnp.conf'添加到您的/etc/rc.d/rc.local当中,方法是输入 'echo "isapnp /etc/isapnp.conf" /etc/rc.d/rc.local'。在每一次的系统启动的设备自 动
配置时,这会起到很大作用。