linux下的modem拨号上网
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在宽带接入还没有走进千家万户之时,我们要连上互联网,还是要驱“猫”,所以对于许多网民而言,Modem是一个十分可爱的东西。Windows对Modem提供了很好的支持,使得安装Modem十分简单。但是在Linux下安装这个可爱的东西时,却并不是那么好办呀!
一、认清Modem
我们都知道,电脑处理的是数字信息,而电话线路则是模拟信息,而Modem就是用来做数字信息和模拟信息之间的转换的。
当电脑要将信息传出来时,Modem将其调制成为模拟信号,然后通过电话线传送出去。
而当信息通过电话线传送到电脑时,Modem将其从模拟信号解调成数字信息,这样就能够传给电脑,让电脑识别。
从这里大家就应该不难理解它的学名:“调制解调器”了。
Modem可谓是五花八门,下面我们一起来理清这些“类型”:
1. 按照Modem的速率进行分类:
也就是Modem调制的速度,我们使用单位bps来衡量。Bps的全称是Bit per second,也就是表示每秒多少位!
最早是2400bps,后来发展到9600bps、14.4Kbps、28.8Kbps、33.6Kbps、56Kbps。
大家是否记得,通常我们使用一个33.6Kbps的Modem下载时,每秒钟的传输速度最大也就4K左右,可能大家对这个速度会有一些疑惑。其实这个问题很简单,这个4K 代表的是4K Byte,而33.6Kbps则是33.6K Bit,1Byte=8Bit。
2. 按照外形进行分类:
1)外置式Modem,也称外猫
这种Modem的外形是一个小盒子,它通过串口与电脑相连。
2)内置式Modem,也称内猫
这种Modem的外形则是与显卡、声卡、网卡相似,是通过插在电脑主板的ISA插槽或PCI插槽中使用的。
3. 按照实现原理来分:
1)硬猫:顾名思义,使用硬件电路实现的MODEM;
2)软猫:随着CPU速度的提高,使用软件将CPU模拟成为MODEM的DSP。使用这种MODEM,就需要软件的支持。Windows中提供了这种软件支持,因此,软猫又常被称为Win猫,这种MODEM的特点是便宜但占用资源厉害。笔者认为,硬猫价格已经很低,使用这种软猫没有什么意义。
二、 Linux对Modem的支持
首先,我们一起来看一下Linux对于MODEM的支持情况:
1. Linux对软猫支持有限,我的建议是你别买软猫这种东西!如果你真的需要驱动这种软猫,参见本篇的第八部分:驱动软猫。
2. 对于外置式MODEM而言,可谓是配置最简单的设备,只需插入某个串行口,再对这个串行口进行相应的配置就可以使用了!
3. 对于内置式MODEM而言,也是通过串行口来进行使用的,但有些内置式MODEM 并不能被Linux所认识(毕竟是插在主板上的,是一种虚拟的方式来使用串行口的),我们将在第七部分:驱动内猫中说明。
4. 在Linux中,MODEM的速率并不影响Linux的支持。
总而言之一句话:在Linux中使用MODEM,都是通过串行端口来进行的。只要系统能够找到这个串行端口,就可以通过串行端口来通讯。因此,驱动MODEM的思路就是:
1)对于外置式MODEM与能够被Linux系统识别的内置式MODEM,只需直接使用串行端口对其操作就行了;
2)对于那些Linux不能够识别的内置式MODEM,我们先得想办法让它被Linux系统识别,然后才能够使用第1种方式来操作。
三、 Linux下的串行口
在Linux下,所有的设备都表现成为一个文件形式,对设备的操作也就与对文件的操作一样了。这些所有代表设备的文件都存放在“/dev”目录下。
串行端口也不例外,不过有些特别的是,每个串行端口对应的不仅是一个文件,而是两个。其中一个是用于拔入,而另一个则用于拔出。
1)用来拔出的的设备文件名是ttySx,其中最后一个x是个数字,从0开始编号,与DOS串行口名的对应关系是:
DOS下的名称 Linux下的名称
COM1 /dev/ttyS0
COM2 /dev/ttyS1
COM3 /dev/ttyS2
COM4 /dev/ttyS3
…………
2)而用来拔入的设备文件则是caux,其中最后一个x也是个数字,也是从0开始编号,与DOS串行口名的对应关系是:
DOS下的名称 Linux下的名称
COM1 /dev/cau0
COM2 /dev/cau1
COM3 /dev/cau2
COM4 /dev/cau3
…………
不过现在许多Linux发行版本似乎已经不对拔入、拔出加以区分了,都统一使用ttySx 命名了。如果在你的系统的/dev目录中找不到ttySx的话,则需要自己手动创建,如: # cd /dev
# ./MAKEDEV ttyS0
每个串行端口都均需使用IRQ与I/O地址资源在,一般来说COM1和COM3共用IRQ3,而COM2和COM4共用IRQ4(如下表所示):
串行端口 IRQ I/O地址
/dev/cau0、/dev/ttys0 4 0x3f8
/dev/cau1、/dev/ttys1 3 0x2f8
/dev/cau2、/dev/ttys2 4 0x3e8
/dev/cau3、/dev/ttys3 3 0x2e8
通常,在Linux系统中,每一个设备都需有一个唯一的IRQ号,也就是说如果有三个串行设备的话,就必须把空闲的IRQ中断拿过来用了。例如:
/sbin/setserial /dev/ttyS0 irq 3 (COM1口上接着鼠标,中断号为3)
/sbin/setserial /dev/ttyS1 irq 4 (COM2口上接着一个MODEM,中断号为4)