若問現在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發行版本未能檢測到無線網卡或錯誤地檢測了它,用戶很可能會處于未連通狀態,而且搞不清楚下一步該干什么。希望這里描述的背景知識和相關過程能使用戶掌握所需技能,以便排除安裝中的故障,使網卡正常運轉?;诶视嵭酒M的PCIMCIA無線網卡的安裝比較簡單,筆者使用的Cisco Aironet Wireless 802.11b在Mandrake 8.2 Linux下安裝時,Linux系統可以順利地找到設備驅動,并進行相應地配置。
實例解析
CompaqWL110 基于朗訊芯片組的PCIMCIA無線網卡CompaqWL110的安裝過程如下。
1.將網卡安裝到計算機;
2.使用命令在/etc/pcmcia/config文件中添加以下內容:
|
3. 重新啟動Linux計算機或執行以下命令啟動無線網卡:
|
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系統是否已安裝了內核源碼:
|
2.如果證實沒有安裝,那么需要安裝盤將kernel-source-2.2.5-15.i386.rpm文件安裝:
|
3.進入Linux源代碼存放目錄(不同Linux版本會有一些不同):
|
4. 配置過程:進入基于文本菜單模式的配置界面(見圖3),然后運行下面得命令:
|
圖3 menuconfig 配置界面
5.重新編譯內核,并除去任何對內核提供PCMCIA驅動程序的部分。一般說來,在與其它程序和網絡服務起作用時,PCMCIA-CS網卡服務庫和驅動程序往往比基于內核的函數庫更穩定,而且界面更友好一些。PCMCIA-CS源代碼支持的網卡種類不斷增多,附帶的設備驅動程序的更新和改進通常比內核附帶的驅動程序要快捷,運行也更穩定。另外正如前面提到的那樣,如果需要構建/安裝第三方驅動程序,那么在大多數情況下,該驅動程序需要安裝并配置PCMCIA-CS庫。從 Main Menu 轉至 General setup→PCMCIA/CardBus support,將 PCMCIA/CardBus support選項由“yes”改成“no”(使用空格鍵將
圖4 除去對內核提供的PCMCIA的支持
6.確保關鍵文件的位置、有關文件的版本和編譯壓縮顯示的內核。
|
7.啟用新內核。方法就是將文件system.map移動或復制到/boot目錄,并將內核版本附加在末尾:
|
8.修改LILO。首先編輯LILO的配置文件/etc/lilo.conf,使LILO能啟動新內核:
|
在文件末尾加入以下內容:
|
然后重寫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.解壓縮,所用命令如下:
|
3.下載第三方軟件SpectrumD的1.03a的版本,鏈接地址為http://www.red-bean.com/~proski/symbol/spectrum24-0.4.2.tar.gz。
4.解壓縮spectrumD24-0.4.2.tar.gz:
|
5. 安裝PCMCIA-CS:
|
6.物理安裝
現在動手將網卡安裝到計算機上。筆者使用的是一塊ISA轉接卡。ISA網卡其實就是把PCMCIA卡插在ISA轉接卡上,將PCI轉接卡接頭與插槽對準,雙手垂直推入,直到完全插緊,再將ISA轉接卡安裝在主板的擴展槽內。PC機后部會有一部分突出來的收發端。對于使用筆記本電腦的用戶可以平行于桌面將無線網卡插入PCMCIA卡槽,注意一定要水平插入,直到完全插緊。安裝后的情況見圖5所示。
圖5 將PCMCIA卡安裝到轉接卡
7.修改/etc/pcmcia/config。該文件是提供cardmgr啟動、識別有關module文件和硬件的依據。在文件中加入下面的內容:
|
8.執行命令,啟動無線網卡:
|
9.檢測無線網卡地址:
使用ifconfig -a命令,將在第二行看到wlan地址,見下面所示,表示安裝結束。
|
下載網站
在安裝無線網卡過程中,可以下載相關程序的網站有:
|
總結
從上面的安裝過程中,可以總結出Linux下無線網卡的安裝順序一般是:
第一步,采取全部安裝方式安裝Linux發行版本,重新編譯內核,并除去任何對內核提供的 PCMCIA 驅動程序的部分;
第二步,了解網卡的規格并且下載并編譯相應的 PCMCIA-CS 庫和驅動程序;
第三步,下載、編譯并安裝無線網卡必需的所有驅動程序。這一步驟對于有些網卡是可選的,而對于有些網卡是必須執行的。做與不做很大程度上取決于用戶所選的無線網卡;
第四步,修改和無線網卡的相關設定。重新啟動Linux系統和網絡。