Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103695235
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-06 13:07:59

 

无线网络卡的配置


▓ 识别Ubuntu Linux支持的无线网络卡

市面上的无线网络卡有三种规范,分別是802.11a、802.11b和802.11g。802.11b的传输速度是11Mbps,而802.11g和802.11a都是54Mbps传输速度的规范。由於80211.b和802.11g都是採用2.4GHz的无线频段,所以互相可以兼容。而802.11 a则採用5GHz,所以不能和其它的规范兼容,因此在某些地区使用率不高,我在这里推荐用户不考虑使用802.11a。

在一般笔记本内置的无线网卡方面,若是Intel Centrino芯片组系列的笔记本计算机,通常内置的无线网络卡在驱动上都沒有问题,但少数Centrino的笔记型计算机沒有採用Intel的配套Intel PRO/Wireless无线网卡,这个时候就要查询一下是用什麼芯片。若你的笔记本确定是採用Intel PRO/Wireless无线网卡,则无线网络对你来說已经不构成问题了。

若是旧款的笔记本沒有内置无线网卡,而大家想要外加无线网卡,那你可以依照下面的信息去选择购买。目前在GNU/Linux上驱动无线网络卡的方式有两种:一种是通过ndiswrapper()去装入在Microsoft Windows上的驱动程序,这樣几乎所有的无线网络卡都可以驱动,因为无线网卡总不能连MS的驱动程序都不提供吧,那可就不用卖了。但是这樣会有几个缺点,例如不能在64位元环境或非x86环境下使用,並且因为这不是GNU/Linux原生的驱动方式,所以性能和功能会有所缺憾。当然,若你的无线网卡真的沒有被支持的话,这就是不得已的方法。

第二种方式则是通过GNU/Linux核心(Kernel)内置的驱动程序原生的支持,这是最理想的方式,也是能跨越不同结构来驱动无线网卡的唯一方式。然而,无线网卡的芯片厂商为了竞爭而留一手或者因为暗藏一些用软件仿真的部份若公开的话会破坏电信法规,因而导致厂商不愿意释出规范或原始码来提供Linux hacker撰写驱动程序,这迫使在GNU/Linux上无线网络原生支持成为一个很大的问题。所以当前在GNU/Linux上很多无线网络驱动程序是用反组译的逆向工程弄出来的。当然,也是有一些对於GNU/Linux友善的芯片厂商会释出规范让 hacker们撰写驱动程序。以下笔者将谈及当前可以在GNU/Linux下原生驱动的无线网络芯片。

无线网卡的厂商一般而言並不会像显示卡厂商一樣地标出所使用的芯片,所以我们必须耍自行测试收集各个无线网卡所使用的品片,而我会提供一些网站,供给大家选购的时候当成参考。当然最简单的方式是大家带著你的计算机直接去计算机公司,然后一片一片的把卡插上去试试看,这樣就能百分之百确认哪一片卡能用了!

● Atheros – http:madwifi.org:这款芯片的驱动程序已经内置在Linux kernel里面了,这款芯片在Ubuntu的支持性不错。而它是由Atheros公司所生產。这个系列的芯片分別支持了802.11a、802.11b和802.11g三种规范。

● Atmel AT76C50X – :这款芯片在Linux kernel內也已经支持了,不过这一系列的卡只有802.11b的规范。不过它速度比较慢。

● Broadcom BCM43xx: :这个驱动程序最有名的地方是在这颗芯片被广泛地用在苹果计算机(Apple)上。但是这些机器並不是x86的平台,所以沒办法使用ndiswrapper去装入MS的驱动程序。这激怒了一堆骇客,终於用逆向工程破解了內部结构。 在kernel 2.6.17以上的版本包含了这支驱动程序,因此在Ubuntu上也可以顺利的使用,这系列芯片当前也有802.11a、802.11b和802.11g三种支持。


● Intel PRO/Wireless – :这系列无线网卡有Intel PRO/Wireless 2100,2200和2915ABG .其中2100是支持802.11b的无线网卡,2200支持802.11b/g两种,2915ABG支持三种规范。802.11a/b/g 。通常是搭配Intel Centrino芯片组的笔记本出货,但並不一定Centrino芯片组的笔记本就是搭配这几种无线网卡。而这几种无线网卡当前在GNU/Linux kernel上都有很好的支持,因此使用这些芯片的笔记本都可以很容易的在Ubuntu的环境下无线上网。

● Orinoco:http: : 这款芯片的驱动程序在GNU/Linux kernel內也是已经支持了,不过这一系列的卡只有802.11b的规范。产品的速度比较慢。

● Prism 2、2.5、3和GT : :这一系列芯片所支持的规范为802.11b,而这款的驱动程序已经在GNU/Linux kernel里面内置,不需要安装,设备插上去就可以自动识别和运作。

● Prism 54 : :如同其名,这一系列都是支持802.11g 54Mbps的无线网卡芯片。而这款驱动程序也是已经在GNU/Linux kernel里面内置了。

● Ralink RT2x00 :http:rt2x00.serialmonkey.com:这是台湾的无线网络芯片公司。他们公司对於GNU/Linux持开放的态度,官方的驱动程序臭虫很多,因为官方驱动程序以GPL授权,现在社群正在全力的帮忙改善,当前社群版的驱动程序已达到堪用的地步,並且準备未来放入kernel內,那麼用户就不需要再自己编译驱动程序。这系列芯片当前有802.11b/g两种支持。(TP Link 牌子的无线网卡就是使用这种芯片的)

注意:目前一般使用要成功安装以上的驱动还有点困难,需要自己编译一下才能成功安装。成功范例:请到我们论坛里参阅:


● TI : :这是德州仪器的芯片,有802.11g和802.11b两种不同规范。目前Ubuntu已经支持。

● Zydas : :这是台湾的产品,有Open Source的驱动程序。这系列芯片当前有802.11a/b/g三种支持,在Ubuntu里可以直接使用。


还有一个麻烦的问题,就是出在无线网卡的固件(firmware)。一般而言,韧体裡面存放一些控制该外部设备的程序,也就是一般的外部硬件会有自己的处理器来作一些硬件上操作与运算,而固件就是负责这件事的程序。因此大部份设备的固件会存储在该硬件的快闪内存(flash memory)中,所以如果我们耍更新的话,就需要通过特殊的软件去更改那个嵌入在硬件上的软件。

但是当前很多无线网络卡为了降低成本,都会把快闪内存省略掉,所以我们需要在驱动设备以前,把固件从文件装入到系统给该设备使用。故我们在使用无线网卡时,就得要自己另外提供固件才能使用。当然有一些是直接把固件燒录在硬体上的无线网卡,那就不会有这种烦恼。

有些公司的固件授权是可以让Ubuntu包含该固件在系统裡面,例如Intel PRO/Wireless系列、Zydas系列、Atmel系列、prism54和TI系列,Ubuntu都有提供固件放在 /lib/firmware里面。所以使用这几种芯片的无线网卡就不需要自己去下载固件,会比较方便。例如象bcm43xx系列就需要自己上网去下载。

看过以上介绍众多的芯片组里,我们在选购无线网卡时,就可以清楚的去选择使用那一种的芯片比较适合。下面有几个参考网站,可以用芯片查厂商型号或用厂商型号查所使用的芯片。

所以推荐大家先到购物网站上锁定几款型号,再进一步查看所使用的芯片是否兼容。

● Ubuntu中的无线网卡实测 : :列出了当前在Ubuntu上经过实测的无线网卡厂牌和型号。注意「Supports network install?」那一栏,如果是Y的话,代表可以在光盘开机后自动装入固件並驱动,也代表了是系统内置韧体的款式,所以在兼容性上比较沒有问题。这可以当成一个很好的指标。

● Linux wireless LAN support : :无线网卡型号或芯片是否支持GNU/Linux可以在这个网站上查询到,而且在这里可以对个別芯片或厂牌作交叉查询,其中标记为綠色的就是经过测试、确定可以支持原生驱动的无线网卡,读者可以在购买前依据这些信息挑选。我的推荐是挑选那些芯片的固件已经进入Ubuntu官方的产品。


● 固件信息 : :列出当前在Ubuntu里面有内置固件的芯片款式,可以配合上面的网址用芯片选择要购买的网卡厂牌和型号。

● 各种芯片在Ubuntu上的信息: :这里包含了一些芯片的支持信息,甚至提供非原生驱动(通过ndiswrapper)是否能成功的信息。


▓ 使用图型界面来设置无线网络

需要先确定你的无线网络芯片已经驱动起来,並且已经安装上firmware了,如果你买那些Ubuntu有内置firmware的无线网络卡,就沒有这个烦恼了。你可以通过指令iwconfig来确定是否正常驱动。

若你使用BroadCom bcm43xx系列的芯片,例如Apple的ibook,虽然内置驱动程序,但是缺省是缺少了firmware,你可以先下载以下firmware,然后安装。

支援(但需要手動安裝 firmware)
kernel module: bcm43xx

需要 bcm43xx-firmware 才能正常使用,首先安裝 bcm43xx-fwcutter 套件命令如下:

apt-get install bcm43xx-fwcutter

然後利用 MacOSX 上的 Airport Driver 來取得 firmware我是先把我的 MacOSX 的 Partition 掛載在 /Mac 目錄底下 fwcutter /Mac/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2

sudo cp *.fw /lib/firmware/

接下來 modprobe bcm43xx 就可以用了。


■ 测试无線网络是否成功驱动:





若是你iwconfig沒有看到类似上面的消息,那代表Linux kernel还沒侦测到你的无线网络卡,这时候就真的麻烦了。你这时候可以通过lspci来显示主机板內建的无线网络卡型号,或者通过lsusb来得知你的外接USB无线网卡型号。透过这些指令,你仔细找一下有关于wireless的消息,上面应该有告诉你型号。再通过选购无线网络硬件的技巧,来确认是否被Linux支持,若不支持的话,可能就耍请你換一片了。





若你的无线网络卡已被侦测到,也成功驱动了,那麼现在测试一下是否可以抓到基地台! 若是有查询到基地台,你已经几乎是成功了。


■ 查询你可用的无线网络基地台:





若是你iwconfig有抓到无线网络卡,但是怎樣都scan不到频道的话,有可能是你的笔记本为了省电,缺省是把无线网络电源关闭的。这种笔记本通常在机子身上会有无线网络电源指示灯,也有无线网络开关热键,必须要按热键才能打开电源,但这热键在Linux上是沒有效果的,导致你不能扫描频道。这时候可以进入主机的BIOS调整,让无线网络电源一直开著,这樣就应该可以扫描到了。或者用iwconfig wlan0 txpower on来试试看。

接下来我们要开始安装图型界面的无线网络管理程序,现在先推荐你把有线网路装上,不然得要先在文字界面设置好无线网络。


■ 安装图形无线网络管理界面(Gnome)指令:

sudo apt-get install network-manager-gnome

■ 安装图形无线网络管理界面(KDE)指令:

sudo apt-get install knetworkmanager


安装完后,注销再登录就会自动执行啦!或者你可以在指令列模式直接打nm-applet,就会出现管理图示。





如上图所示,它寻找到两个无线网络可以使用,依照你需要点选,就会自动连上去。有些无线网络是隐藏ESSID的,造成寻找不到,你可以选择连接到其它的无线网络,然后再输入无线网络名称和加密方式就可以连上。

一般咖啡店或者麦当劳等有无线网络的地方都沒有用加密,它们採用帐号认证的方式。若你家裡的基地台有加密的话,那寻找到的名称前面会有一个锁头图示,点进去就会要你输入口令值。我就推荐用WEP就好,因为有些无线网卡的驱动程序还沒有稳定的实作WPA加密,根据我的测试,我连WEP几乎都沒有问题,但是WPA有时候很不稳定。

大家还要注意的是,使用network manager以后,推荐/etc/network/interfaces就不要手动设置。否则会让network manager失效。它还有一个特異功能,可以自动判断你要用有线网络还是无线网络。例如你现在用无线网络,然后你再把有线的接上去,它会自动帮你转到有线的並取得IP。所以我的笔记型计算机只装network manager,其它的设置都不设置了,这樣是非常方便的。


编写:TOM

出处:南方Linux
阅读(476) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~