在 Linux 下访问无线局域网

本文介绍了在Linux环境下驱动无线网卡的几种方法,包括使用内核自带驱动、为特定网卡编译驱动模块以及借助NDISwrapper利用Windows驱动。文中还讨论了如何配置Prism和Intel Pro/Wireless 2100等常见型号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

by 王旭 (Wang Xu)
<wangxu(at)linuxfocus.org>

关于作者:

王旭目前是中国北京邮电大学的博士研究生,研究方向是无线通信技术。王旭在1999年,他还是一名本科生的时候喜欢上了 Linux,除了 Linux,他还对 TeX、C/C++ 和 Perl 等感兴趣。
摘要
:

本文中,作者叙述了驱动常见无线网卡的几种方法和其他一些相关话题,如访问使用基于802.1x认证机制的无线局域网的方法等。

_________________ _________________ _________________

 

概述

当前,WLAN (IEEE 802.11b/a/g) 设备越来越廉价,越来越多的组织为公众和雇员提供了无线局域网的接入。目前几乎所有的笔记本电脑都内置了无线网卡,较老的一些也可以使用 PCMCIA 的无线网卡,即便是台式计算机也常常配备有板载的或是 USB 的无线网卡。另一方面,无线局域网的接入点(AP)也遍布了校园、写字楼、饭店、住宅等各处。无线局域网方便了网络部署,并使所谓的移动计算或游牧计算成为了可能,这几乎是我们的工作和生活方式的又一次革命。

自然地,对 Linux 来说,支持访问无线局域网的必要性是毋庸置疑的。本文后面的部分将如下组织:首先考虑无线网卡的驱动问题,之后探讨访问使用认证机制的网络,然后简要介绍一些无线局域网设置的工具,最后给一点简单结论。  

驱动无线网卡

一旦在计算机中安装好了无线局域网卡,首先要做的就是安装驱动来让网卡工作。无线网卡实现了IEEE 802.11系列协议中的一种或多种的物理层(PHY)和媒质访问控制子层(MAC)的功能,而驱动是用来控制无线网卡,向上提供与以太网一致的接口并提供其他一些无线局域网特定的管理接口的。

对于不同厂商的不同网卡,还没有一种统一的方法可以驱动所有的网卡。不过大部分网卡可以通过以下三种方式驱动:

  • 使用内核自带的网卡驱动程序,
  • 为特定的网卡编译安装驱动模块,
  • 使用 NDIS wrapper [1]利用面向 MS Windows®的驱动程序驱动网卡。
在下面的章节,笔者将用小例子逐一解释这些方法。

注意:即使你是用后两种方法,也必须确保内核配置中启动了无线局域网支持:

gnawux@APTITUDE:~$ grep CONFIG_NET_RADIO /boot/config-`uname -r`
CONFIG_NET_RADIO=y
如果没有无线局域网支持,你应该重新配置、编译内核来启动"Wireless LAN (non-hamradio) Drivers and Wireless Extensions".  

内核中支持的无线网卡

Linux 内核中包含了很多已经足够成熟的、没有许可证问题的无线网卡的驱动程序。无线网卡在内核中的支持列表自然是和内核版本有关的了,因此,在安装驱动之前看看新的内核是不是对你的网卡有更好的支持无疑是明智的。 本节中,作者将以 Intersil Prism 系列芯片(ISL38xx)的网卡为例。关于这个驱动支持的网卡的完整列表可以参考http://prism54.org[2]。

要支持Prism网卡,首先需要新的 2.6 内核,并再配置中的无线局域网支持部分允许 "Intersil Prism GT/Duette/Indigo PCI/Cardbus"。配置后编译、安装内核。

如果你仔细阅读了内核中该模块的帮助文本可能会发现,你需要首先从项目网站 [2]获取 firmware才能驱动网卡。即使把模块编译到内核之中仍需要下载固件的原因在于firmware中包含了非 GPL 兼容许可证代码,无法与内核一起发布。下载firmware并放到"/usr/lib/hotplug/firmware/" 之后,重新启动计算机,这时你可以发现新的无线网卡提供了又一个以太网接口。  

特定网卡的驱动模块

和许多其他新硬件一样,很多新型号的无线网卡没有厂商提供的兼容 GPL 的驱动程序,或者由开放源代码社区开发的驱动程序仍然不成熟、无法进入内核。这样,这些驱动程序就以单独的模块的形式出现,而这些驱动中的一部分将来某一天可能就会进入到内核之中了。

这些驱动中的一个著名代表就是ipw2100 [3],它是 Intel Pro/Wireless 2100 的驱动程序,而这块无线网卡就是著名的 Intel 迅驰® 移动计算技术的一部分。本节中就以 ipw2100 驱动的安装为例。

首先,你需要从项目网站http://ipw2100.sourceforge.net下载驱动的源代码包和firmware。确定了内核足够新并且已经支持了模块、hotplug firmware 和无线网卡之后,解压源代码包:

APTITUDE:/usr/src# tar -zxvf ipw2100-1.0.1.tgz
进入源代码目录编译、安装:
APTITUDE:/usr/src/ipw2100-1.0.1# make
APTITUDE:/usr/src/ipw2100-1.0.1# make install
安装完模块之后,它会提示你需要安装firmware:
Don't forget to copy firmware to /usr/lib/hotplug/firmware/ and have the
hotplug tools in place.
按照提示所说,把firmware解压缩到该目录之后,可以使用如下命令启动 ipw2100模块了:
APTITUDE:/usr/src/ipw2100-1.0.1# modprobe ipw2100
启动模块的时候可以使用参数来指定一些设置。比如可以用ifname参数来指定网络接口的名称:
APTITUD
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值