作者tdb (tbd)
看板Linux
标题[心得] Ubuntu 中无线网路卡的议题
时间Wed Jul 19 23:16:37 2006
无线网路卡目前在市面上有三种规格,分别是 802.11b,802.11g 和 802.11a。802.11b
的速度是 11Mbps,而 802.11g 和 802.11a 都是传输速度为 54Mbps 的规格。由於
802.11b 和 802.11g 都是采用 2.4GHz 的无线频段,所以互相可以相容。802.11a 采用
5GHz,所以不能和其它的规格相容,因此在台湾使用率不高,建议使用者可以直接不用考
虑了!
在目前笔记型电脑内建的无线网卡方面,若是 Intel Centrino 晶片组系列的笔记型电脑
,通常内建的无线网路卡在驱动上都没有问题,但少数 Centrino 的笔记型电脑没有采用
Intel 的配套 Intel PRO/Wireless 无线网卡,这个时候就要查询一下是用什们晶片。
若您的笔记型电脑确定是采用 Intel PRO/Wireless 无线网卡,无线网路对您来说已经不
是问题了,可以跳过这一小节了唷!
而若非使用此系列晶片组的笔记型电脑,也有可能被 Ubuntu 所支援,读者可以透过指令
$ lspci -v 去察看有 wireless 关键字的那几行,会有所使用的晶片详细资讯。然後
读者可以在接下来的部份读到各种晶片支援的讯息。
若是旧款的笔记型电脑没有内建无线网路卡,而读者想要添加,那您也可以依照下面的资
讯去选择购买。
目前在 GNU/Linux 上驱动无线网路卡的方式有两种,一种是邪恶的透过 ndiswrapper
http://ndiswrapper.sourceforge.net 去载入在 MS Windows 上的驱动程式,这样几乎
所有的无线网路卡都可以驱动,总不能这些无线网卡公司连 MS 的驱动程式都不提供吧,
那不就不用卖了!但是这样有几个缺点,无法在 64 位元环境或非 x86 环境下使用,且
这不是 GNU/Linux 原生的驱动方式,所以效能和功能会有所缺憾。当然您的卡若没有被
支援,这就是不得已的方法了!
另外一种方式是透过核心内建的驱动程式原生的支援,这当然也是最理想的方式,也是能
跨不同架构来驱动无线网路的唯一方式。然而无线网路卡晶片厂商为了竞争而留一手,或
者里面有一些用软体模拟的部份公开会破坏电信法规,导致他们不想释出规格或原始码来
提供 Linux hacker 撰写驱动程式,这使得在 GNU/Linux 上无线网路原生支援成为一个
很大的问题。所以目前在 GNU/Linux 上很多无线网路驱动程式是用反组译的逆向工程弄
出来的。当然也是有一些对於 GNU/Linux 友善的晶片厂商释出规格让 hacker 们撰写驱
动程式。以下笔者将谈及目前可以在 GNU/Linux 下原生驱动的无线网路晶片。
无线网路卡厂商一般不会像显示卡厂商一样标出所使用的晶片,所以我们必须要自行测试
收集各个无线网路卡所使用的晶片,而笔者会提供一些网站,供给读者选购的时候当成参
考。当然最简单的方式是读者带着您的电脑,去电脑公司,一片一片的把卡插上去试试看
,这样就能确认哪一片能用了!
Atheros -
http://madwifi.org
这款晶片的驱动程式已经内建在 Linux kernel 里面了,在 Ubuntu 的支援性不错。而它
是由 Atheros 公司生产。这个系列的晶片分别支援了 802.11a/g/b 三种规格。
Atmel AT76C50X -
http://atmelwlandriver.sourceforge.net
这款晶片在核心内也是已经支援,不过这一系列的卡只有 802.11b 的规格。如果不嫌它
速度慢和几乎买不到新品了,它是很好用的无线网路卡。
Broadcom BCM43xx -
http://bcm43xx.berlios.de
这个驱动程式有名的地方是在这颗晶片广泛的用在 Apple 苹果电脑上。但是这些机器不
是 x86 平台,所以没办法使用 ndiswrapper 去载入 MS 的驱动程式。这激怒了一堆骇客
,终於用逆向工程破解了内部结构。目前它已经在 kernel 2.6.17 以上有包含,因此在
Ubuntu 上也可以顺利的使用了。这系列晶片目前有 802.11a/b/g 三种支援。
Intel PRO/Wireless -
http://ipw2200.sourceforge.net
这系列无线网卡有 Intel PRO/Wireless 2100,2200 和 2915ABG。而 2100 是支援
802.11b 的无线网卡,2200 支援 802.11bg 两种,2915ABG 支援三种规格 802.11abg。
这几种晶片通常是搭配 Intel Centrino 晶片组的笔记型电脑出货,但并不一定
Centrino 晶片组的笔记型电脑就是搭配这几种无线网卡。而这几种无线网卡目前在
GNU/Linux 核心上有很好的支援,因此使用这些晶片的笔记型电脑都可以很容易的在
Ubuntu 的环境下无线上网。
Orinoco -
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Orinoco.html
这款晶片的驱动程式在核心内也是已经支援,不过这一系列的卡只有 802.11b 的规格。
如果不嫌它速度慢和几乎买不到新品了,它是很好用的无线网路卡。
Prism 2, 2.5, 3, GT -
http://www.linux-wlan.org
这一系列晶片所支援的规格为 802.11b,而这款的驱动程式已经在 linux kernel 里面内
建,所以不需要安装,只要设备插上去就可以运作了。
Prism 54 -
http://prism54.org
如同其名,这一系列都是支援 802.11g 54Mbps 的无线网卡晶片。而这款驱动程式也是已
经在 linux kernel 里面内建了。
Ralink RT2x00 -
http://rt2x00.serialmonkey.com
这是一间台湾的无线网路晶片公司。他们公司对於 GNU/Linux 有亲切的态度,但是公司
官方的驱动程式臭虫很多,没有达到实用的地步。因为官方驱动程式以 GPL 授权,所以
现在社群正在全力的帮忙改善,目前社群版的驱动程式以达到堪用的地步,并且准备未来
进入 kernel 内,那们使用者就不需要自己编译驱动程式。这系列晶片目前有
802.11b/g 两种支援。
(备注:目前一般使用要成功驱动还有点困难,需要自己稍微 hack 和编译尝试一下才可
能成功)
TI -
http://acx100.sourceforge.net
这是德仪的晶片,有 802.11g 和 802.11b 不同规格。目前 Ubuntu 也已经支援它了。
Zydas -
http://zd1211.ath.cx
这是台湾的公司,益勤科技。它也有 Open Source 的驱动程式。这系列晶片目前有
802.11a/b/g 三种支援,在 Ubuntu 里面可以直接使用了唷!
还有一个麻烦的问题,就是出在无线网卡的韧体 (firmware)。一般而言,韧体里面存放
一些控制该外部装置的程式,也就是一般的外部硬体会有自己的处理器来作一些硬体上操
作与运算,而韧体就是负责这件事的程式。因此大部份装置的韧体会储存在该硬体的快闪
记忆体 (flash memory) 中,所以如果我们要更新的话,就需要透过特殊的软体去更改那
个嵌入在硬体上的软体。
但是目前很多无线网路卡为了降低成本,会把快闪记忆体省略掉,所以我们需要在驱动装
置以前,把韧体从档案载入到系统给该装置使用。故我们在使用无线网路卡时,就得要自
己另外提供韧体才能使用。当然有一些是直接把韧体烧在硬体上的无线网卡,那就不会有
这种烦恼啦!
有些公司的韧体授权是可以让 Ubuntu 包含该韧体在系统里面,例如 Intel
PRO/Wireless 系列、Zydas 系列、Atmel 系列、prism 54 和 TI 系列,Ubuntu 都有提
供韧体放在 /lib/firmware 里面。所以使用这几种晶片的无线网路卡就不需要自己去下
载韧体,会比较方便。例如像 bcm43xx 系列就要自己另外上网路下载。
上面讲了林林总总的晶片组,但我们在卖场买无线网路卡却无法得知那是用什们晶片的,
那不就是多说了嘛?其实这些是为了下面的准备,下面有几个参考网站,可以用晶片查厂
商型号或用厂商型号查所使用的晶片。所以建议大家先到购物网站上锁定几款型号,查查
看所使用的晶片是否相容。
Ubuntu 中的无线网卡实测 -
https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported
列出了目前在 Ubuntu 上经过实测的无线网卡厂牌和型号。注意『Supports network
install?』那一栏,如果是 Y 的话,代表可以在光碟开机後自动载入韧体并驱动,也代
表了是系统内建韧体的款式,所以在相容性上比较没有问题。这可以当成一个很好的指标
。
Linux wireless LAN support -
http://linux-wless.passys.nl
无线网卡型号或晶片是否支援 GNU/Linux 可以在这个网站上查询到,且在这里可以对个
别晶片或厂牌作交叉查询,而标记为绿色的就是经过测试,确定可以支援原生驱动的无线
网卡,读者可以在购买前依据这些资讯挑选。而笔者的建议是挑选那些晶片的韧体已经进
入 Ubuntu 官方的,那们您遇到的问题会比较少。
韧体资讯 -
https://help.ubuntu.com/community/WifiDocs/WirelessFirmware
列出目前在 Ubuntu 里面有内建韧体的晶片款式,可以配合上面的网址用晶片选择要购买
的网卡厂牌和型号。
各个晶片在 Ubuntu 上的资讯 -
https://wiki.ubuntu.com/WirelessChipsets
这里包含了一些晶片的支援资讯,甚至提供非原生驱动 (透过 ndiswrapper) 是否能成功
的资讯。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.141.92