赛迪网 > IT技术 Linux > 最新更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

剖析无线网络中的 Linux 窍门

发布时间:2004.01.07 17:21     来源:《开放系统世界》    作者:曹江华

若问现在IT业最为时尚的产品和技术是什么,相信很多人的回答都一样:无线网络。无线网络(Wireless Networks,WLAN)是相当便利的数据传输系统,它利用射频(Radio Frequency,RF)技术,取代旧式的双绞铜线(Coaxial)所构成的网络,使得无线网络能利用简单的存取架构让用户通过它,达到“信息随身化、便利走天下”的理想境界。

无线网络的新标准IEEE 802.11g的发布,使得无线网络快速地进入人们的日常生活。IEEE 802.11g实际上采用了和IEEE 802.11b一样的工作频率,但是在编码上使用和IEEE 802.11a系统相同的调制方式OFDM,使网络带宽达到54Mbps。IEEE 802.11g最大的优势是可以向下兼容IEEE 802.11b,可以更好地维护用户的投资。凭借着和IEEE 802.11b的兼容性和高性能,IEEE 802.11g将会大有作为。

网卡类型

目前,常见的无线网卡大多为PCMCIA、PCI/ISA和USB三种类型,使用最多的是PCMCIA(Personal Computer Memory Card International Association)接口的无线网卡。

经过www.Linux.org认证的PCMCIA网卡有两大类,分别是基于朗讯(Lucent)芯片组的PCIMCIA无线网卡和基于Intersil Prism2芯片组的PCMCIA的无线网卡(见表1)。不过由于基于Intersil Prism2芯片组的PCMCIA的无线网卡价格比较便宜(相当于朗讯芯片组的PCIMCIA无线网卡的三分之一),所以国内的PCMCIA的无线网卡以后者居多。

图1 PCMCIA网络适配器工作示意图

首先来看一下PCMCIA网卡的工作示意图1。其中cardmgr是一个守护进程负责监控PCMCIA插槽,有需要时载入其它的驱动程序,并且执行使用者阶层的脚本来反应卡片的插入与移出。它被用来监视卡片状态的插断是在cardmgr处理/etc/pcmcia/config文件之前由低级的插槽来驱动程序模组 (i82365)。cardmgr首先通过CIS获取时钟频率,然后然后访问/etc/pcmcia文件,然后访问内存、中断和输入输出系统,最后通过 /Lib/modules 查询驱动程序。

准备工作

软件方面,需要一套能够正常运行的、内核为2.4.x的Linux系统,推荐使用2.4.18以上的内核,glibc应该在2.2版本以上, GNU C/C++编译器GCC应在 2.95以上及其对应的开发工具。另外最好安装Linux所有程序的函数库、PCMCIA-CS卡驱动程序(版本3.1.33,PCMCIA接口的适配器用到)。硬件方面,计算机CPU为PⅡ400MHz以上,内存64MB,预留一个PCI或ISA扩展槽,一个经过www.Linux.org 认证的PCMCIA的无线网卡。

随着Linux网络技术的快速增长,硬件厂商大大加速对Linux技术支持的硬件产品的开发,使得支持Linux的无线网卡的数量在过去的一两年里显著增长。对于有些设备,配置无线连接非常简单。只要在用户使用的Linux机器中插入无线网卡,在设置过程中单击鼠标,并输入正确的网络参数就可以了。但是,如果其中所装的Linux发行版本未能检测到无线网卡或错误地检测了它,用户很可能会处于未连通状态,而且搞不清楚下一步该干什么。希望这里描述的背景知识和相关过程能使用户掌握所需技能,以便排除安装中的故障,使网卡正常运转。基于朗讯芯片组的PCIMCIA无线网卡的安装比较简单,笔者使用的Cisco Aironet Wireless 802.11b在Mandrake 8.2 Linux下安装时,Linux系统可以顺利地找到设备驱动,并进行相应地配置。

实例解析

CompaqWL110 基于朗讯芯片组的PCIMCIA无线网卡CompaqWL110的安装过程如下。

1.将网卡安装到计算机;

2.使用命令在/etc/pcmcia/config文件中添加以下内容:

card "Compaq WL110 PC Card"
manfid 0x0156, 0x0002 
bind "wvlan_cs"

3. 重新启动Linux计算机或执行以下命令启动无线网卡:

# /etc/rc.d/init.d/pcmcia restart

Intel PRO/Wireless 2011B 使用基于Intersil Prism2芯片组的PCMCIA的无线网卡安装就比较复杂了,需要一个第三方工具来安装。下面就以Intel PRO/Wireless 2011B LAN PCMCIA(见图2)为例介绍一下安装配置过程。笔者的Linux发行版本是Mandrake 8.2 Linux,CPU是AMD Athlon 1100,内存256MB。

图2 笔者使用的Intel无线网卡

编译Linux内核

1. 用以下命令检测自己Linux系统是否已安装了内核源码:

# rpm -q kernel-source

2.如果证实没有安装,那么需要安装盘将kernel-source-2.2.5-15.i386.rpm文件安装:

#rpm -Uhv kernel-source-2.2.5-15.i386.rpm

3.进入Linux源代码存放目录(不同Linux版本会有一些不同):

#cd /usr/src/linux

4. 配置过程:进入基于文本菜单模式的配置界面(见图3),然后运行下面得命令:

#make menuconfig

图3 menuconfig 配置界面

5.重新编译内核,并除去任何对内核提供PCMCIA驱动程序的部分。一般说来,在与其它程序和网络服务起作用时,PCMCIA-CS网卡服务库和驱动程序往往比基于内核的函数库更稳定,而且界面更友好一些。PCMCIA-CS源代码支持的网卡种类不断增多,附带的设备驱动程序的更新和改进通常比内核附带的驱动程序要快捷,运行也更稳定。另外正如前面提到的那样,如果需要构建/安装第三方驱动程序,那么在大多数情况下,该驱动程序需要安装并配置PCMCIA-CS库。从 Main Menu 转至 General setup→PCMCIA/CardBus support,将 PCMCIA/CardBus support选项由“yes”改成“no”(使用空格键将 /<*> 改成 < >),见图4。然后保存修改选项,退出。

图4 除去对内核提供的PCMCIA的支持

6.确保关键文件的位置、有关文件的版本和编译压缩显示的内核。

#make dep;make clean;make bzimage;make modules;make modules

7.启用新内核。方法就是将文件system.map移动或复制到/boot目录,并将内核版本附加在末尾:

#cp /usr/src/linux/System.map /boot/System.map-2.4.18
#cp /usr/src/linux/arch/i386/boot/bzImage /boot/bzImage-2.4.18

8.修改LILO。首先编辑LILO的配置文件/etc/lilo.conf,使LILO能启动新内核:

# vi /etc/lilo.conf

在文件末尾加入以下内容:

image=/boot/vmlinuz.new 
lable=new 
root=/dev/hda3 
read-only

然后重写LILO的启动扇区,使改动生效,最后运行 LILO。

9.重新启动计算机。

编译PCMICIA—CS模块

1.下载PCMICIA—CS驱动程序pcmcia-cs-3.2.4.tar.gz,链接地址为http://aleron.dl.sourceforge.net/sourceforge/pcmcia-cs/pcmcia-cs-3.2.4.tar.gz。

2.解压缩,所用命令如下:

# tar vxfz pcmcia-cs-3.2.4.tar.gz

3.下载第三方软件SpectrumD的1.03a的版本,链接地址为http://www.red-bean.com/~proski/symbol/spectrum24-0.4.2.tar.gz。

4.解压缩spectrumD24-0.4.2.tar.gz:

#cd ./pcmcia-cs-3.1.30 
#tar zxvf ../SpectrumD24-0.4.2.tar.gz

5. 安装PCMCIA-CS:

# make config   /*此时系统会询问Kernel source 的位置, 缺省是 /usr/src/linux/
# make all
# make install

6.物理安装

现在动手将网卡安装到计算机上。笔者使用的是一块ISA转接卡。ISA网卡其实就是把PCMCIA卡插在ISA转接卡上,将PCI转接卡接头与插槽对准,双手垂直推入,直到完全插紧,再将ISA转接卡安装在主板的扩展槽内。PC机后部会有一部分突出来的收发端。对于使用笔记本电脑的用户可以平行于桌面将无线网卡插入PCMCIA卡槽,注意一定要水平插入,直到完全插紧。安装后的情况见图5所示。

图5 将PCMCIA卡安装到转接卡

7.修改/etc/pcmcia/config。该文件是提供cardmgr启动、识别有关module文件和硬件的依据。在文件中加入下面的内容:

device "Spectrum24t" 
class "network" module "spectrum24t_cs"
card "Intel PRO/Wireless 2011 LAN PC Card" 
manfid 0x0089, 0x0001 
bind "Spectrum24t"

8.执行命令,启动无线网卡:

# /etc/rc.d/init.d/pcmcia restart

9.检测无线网卡地址:

使用ifconfig -a命令,将在第二行看到wlan地址,见下面所示,表示安装结束。

... ... ...
wlan0 Link encap:Ethernet HWaddr 00:05:3C:04:3B:9A     <== “无线网卡IP地址”
inet addr:210.34.6.89 Bcast:210.34.6.127 Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46299 errors:0 dropped:0 overruns:0 frame:189
TX packets:3057 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xece0 
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

下载网站

在安装无线网卡过程中,可以下载相关程序的网站有:

http://www.linux-wlan.org 
http://pcmcia-cs-sourceforge.net 
http://sourceforge.net/project/

总结

从上面的安装过程中,可以总结出Linux下无线网卡的安装顺序一般是:

第一步,采取全部安装方式安装Linux发行版本,重新编译内核,并除去任何对内核提供的 PCMCIA 驱动程序的部分;

第二步,了解网卡的规格并且下载并编译相应的 PCMCIA-CS 库和驱动程序;

第三步,下载、编译并安装无线网卡必需的所有驱动程序。这一步骤对于有些网卡是可选的,而对于有些网卡是必须执行的。做与不做很大程度上取决于用户所选的无线网卡;

第四步,修改和无线网卡的相关设定。重新启动Linux系统和网络。

(责任编辑:战莹)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 谈谈怎样清理Linux磁盘碎片 (01-07) · 在Linux上建立LDAP服务器(二) (01-07)
· 第 7 部分. 网络 (01-07) · 中日双方合作开发统一内核Asianux服务器OS (01-07)
· 微软巨资打广告 公然称Windows比Linux强 (01-07) · 第 6 部分. 使用分区和文件系统 (01-07)
· 第 5 部分. Linux 日志 (01-07) · Linux内核隐患已经确定 打上补丁事不宜迟 (01-07)
· 第 4 部分. 用户管理 (01-06) · 第 3 部分. Webmin 简介 (01-06)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管