FreeBSD连载(35):串口和modem
2009-05-13 12:20:34来源:未知 阅读 ()
拨号网络
局域网上的FreeBSD要和Internet(或其他广域网)连接,就需要使用广域网界面。对于一般用户,采用普通电话线进行拨号的方式,是比较常见的做法。这就需要首先使用计算机的串口连接到modem(调制解调器)上,再通过modem连接到Internet上。
- 串口和modem
因此如果采用拨号方式连接一台计算机到远端,则必须配置好计算机的串口和modem。
个人计算机一般有两个串口,在DOS下称为COM1、COM2,FreeBSD使用Unix的习惯从0开始排列数字,相应的串口硬件为sio0、sio1。启动时系统将自动检测这些硬件,检测结果显示在屏幕上,可以在登录后使用dmesg来查看这些启动信息,判断硬件是否真的被检测到了。如果串口被检测到,就能使用连接到相应串口上的外置 modem进行连接。
如果使用内置modem卡,卡上将包括一个串口设备,根据这个卡的设置,这个串口设备可以为sio2或sio3 ,因此必须保证内核支持第三、第四个串口设备sio2和sio3。但与DOS不同的是,modem卡使用的IRQ不能与已有串口共享硬件资源。由于DOS是单任务操作系统,不可能同时使用两个串口,共享IRQ是可以的,因此COM1 与COM3共享IRQ 4,COM2与COM4共享IRQ 3。但是对于多用户操作系统FreeBSD来讲,同时会有多个进程访问设备,每个设备必须单独占有IRQ,因此必须在内核中将modem卡的IRQ设为另外的空闲值。
要更改卡上的跳线或在DOS下运行设置程序更改卡上的设置,以使硬件上设置与内核配置相一致。通常PNP的 modem卡能正确设置硬件资源,也可以通过UserConfig重新设置。
当FreeBSD的内核检测到串口设备之后,就能够通过相应的设备文件来访问这些串口了。对应第一个串口sio0 的设备文件为/dev/ttyd0和/dev/cuaa0,对应第二个串口sio2的设备文件为/dev/tty d1和/dev/cuaa1,依次类推。
FreeBSD对一个串口提供了两个设备文件,事实上它们对应同样的硬件,只是属性略有不同。cuaa0主要用来拨出,ttyd0主要用于拨入和直接连接。设置这两个设备文件的原因是计算机与modem相互通信的数据有两类,一种为计算机通过串口发送给modem的控制指令,常用的为Hayes的AT指令,这些数据是发送给modem的,而另一种数据是计算机通过modem发送到电话网上的传输数据,这些数据只需要让modem进行调制解调即可。而对于应用程序来讲,要想非常简单的来区分这两种数据,就可以使用两个初始状态不同的设备文件。
当外部拨入内部时,电话连接已经设置好了,数据传输是在计算机与电话网之间,modem只进行调制解调,此时就使用ttyd0。而当向外拨号时,modem还没有建立连接,计算机应该向modem发送指令,控制modem执行拨号等操作,此时就使用设备文件cuaa0。一旦连接建立之后,系统将重置设备文件的属性,使得cuaa0同样也是将数据发送向电话网上。
因此ttyd0和cuaa0这两个设备文件,只是初始状态不同,而并没有本质的差别。事实上大多数拨号软件会重置设备文件的状态,使用哪个设备都可以正确完成拨号过程。然而习惯的做法仍然是使用cuaa0用于拨出,ttyd0 作为拨入,这样能避免某些软件不能正确重置设备文件的状态的问题。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4206/showart_516457.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Linux Platform Device and Driver 2009-05-13
- 用FreeBSD搭建下载专用机(3) — 串口Console 2009-05-13
- freebsd 核心介绍 2009-05-13
- FreeBSD下通过com口调整网络设备 2009-05-13
- FreeBSD 缺省内核配置选项(4) 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash