無非就是-下載驅動程式、加以編譯並安裝、設定 /etc/modules 及其它應用程式。
以筆者手上的 CNET CNUSB-611 為例,它使用的是 Atmel 的 at76c505 晶片。
那麼,在 Linux 下的驅動模組的編譯步驟說明如下:
下載驅動程式:
at76c505 的驅動模組(可能是因為版權的關係)並未進入 Linux Kernel 裡。
不過 Debian 有提供它的驅動模組原始碼,我們可以用以下指令來取得其驅動程式:
- 代碼: 選擇全部
apt-get install at76c503a-source
它會把驅動模組原始碼,at76c503a.tar.gz,置於 /usr/src 下。
編譯並安裝驅動模組:
為了要編譯驅動模組,我們必須安裝 kernel-package 及 debhelper 這兩個套件:
- 代碼: 選擇全部
apt-get install kernel-package debhelper
然後,進入 Kernel Header 的目錄中,並進行編譯:
(如果是 Kernel 2.4.x,則進入 Kernel-Source 目錄,並進行編譯。)
- 代碼: 選擇全部
cd /usr/src/kernel-headers-2.6.7-1-386/
make-kpkg modules_image
如果一切順利的話,會產生 /usr/src/at76c503a-modules-2.6.7_0.10.99.beta5+10.00.Custom_i386.deb 這一個 DEB 檔案。
使用 dpkg 工具程式將它安裝起來即可:
- 代碼: 選擇全部
dpkg -i /usr/src/at76c503a-modules-2.6.7_0.10.99.beta5+10.00.Custom_i386.deb
載入驅動模組:
在驅動模組安裝完成後,我們可以使用以下方法來載入該模組:
註:at76c503a-source 所編譯出來的 DEB 檔包含了 at76c503-rfmd、at76c505-rfmd、
at76c505-rfmd2958 等數個驅動模組。
而其中的 at76c505-rfmd2958 則才是筆者所要的。
- 代碼: 選擇全部
modprobe at76c505-rfmd2958
若沒有任何錯誤訊息,
則使用以下指令來檢視 Linux 是否能正確地驅動您的無線網路卡:
- 代碼: 選擇全部
# ifconfig -a
wlan0 Link encap:Ethernet HWaddr 00:09:44:C2:15:F0
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
一般而言,無網網路卡的裝置多以 wlan# 來命名。
但有很多應用程式只能偵測到 eth%d 的裝置,對於 wlan%d 的支援度並不是很好,如:pppoeconf 等等。
如果您希望在載入無線網路卡時所使用的裝置名稱是 eth%d 的話,
可以替而用以下指令來載入 at76c505-rfmd2958:
註:如何修改無網網路卡的裝置名稱,
各個驅動模組都有其不同的方式,並無統一之標準。
請參考其相關之說明文件。
- 代碼: 選擇全部
modprobe at76c505-rfmd2958 netdev_name=eth%d
設定 /etc/modules,讓 Linux 開機時即自動載入 at76c505-rfmd2958:
安裝好了該驅動模組後,將其加入 /etc/modules,讓 Linux 在開機時能自動啟動這張無線網路卡。
- 代碼: 選擇全部
echo 'at76c505-rfmd2958 netdev_name=eth%d' >> /etc/modules
安裝驅動模組到此可以說是告一段落了。
在安裝完無線網路卡的驅動模組後,請再安裝 wireless-tools 這個套件來設定無線網路的一些參數。
請參考下一節之說明。
註:在 Debian GNU/Linux 裡,提供了很多極方便的套件管理工具來管理系統所安裝的軟體;
而是否能善用這些工具對於系統的嚴謹度及穩定度都有一定的影響。
所以我們在安裝任何軟體時,莫非無奈,
最好也儘量以這些管理工具來進行軟體之安裝及移除,
這樣才能讓我們的系統能永保安康。
註:現在的無線網路卡多越做越小,但散熱的問題也越來越嚴重,
時有『熱當機』問題出現。建議在選購時對此能多加留意。
設定無線網路
無線網路雖然極為方便,但安全性的問題就比較讓人不放心了。
所以我們會在無線基地台上設定一些如:ESSID、WEP 等等安全措施,
而這些設定通常也需要 Client 同時配合才行,
筆者是習慣把這些設定寫在 /etc/network/interfaces 裡,以便於統一管理。
例:(您可以查看 man iwconfig 來取得更進一步之資訊。)
- 代碼: 選擇全部
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
auto lo
iface lo inet loopback
# The first network card - this entry was created during the Debian installation
auto wlan0
iface wlan0 inet static
# IP 位址
address 192.168.1.4
# 網路遮罩
netmask 255.255.255.0
# 網路位址
network 192.168.1.0
# 廣播位址
broadcast 192.168.1.255
# 設定無限網路使用 Managed,漫遊基地台模式
# 另一個為 Ad‐Hoc,對傳模式
wireless_mode Managed
# 設定 ESSID,如果有的話。
# 如果要自動設定,則填入 any 即可。
wireless_essid any
# 設定所使用的頻率,如果必須設定的話。
wireless_channel 7
# 設定密鑰,如果必須設定的話。
# 密鑰多為 13 個英文字母,或 26 個 Hex 字元。
# 例:wireless_key 0000-1111-2222-3333-4444-5555-66
wireless_key s:MyWirelessKey
# 設定電源管理。
wireless_power max
設定完成後,可以使用 /etc/init.d/network restart 來讓新的設定生效。
然後,再使用 iwconfig wlan0 來查看這些參數的設定結果,
如果所有參數皆設定無誤,您的無線網路卡應該就會正常啟用了。