最近為了要在 Ubuntu Linux 上啟用無線網卡,發現沒有 Networking-Manager 需要自行透過命令設定,所以就順便記錄了一下使用方法。由於我一直不喜歡 Networking-Manager 的設定介面,用 Linux 比較習慣用文字模式來調整設定,才發現預設的 iwconfig 命令只能設定 WEP 驗證模式,但是現在早就經改用比較安全的 WPA 驗證模式,如果輸入以下命令設定密碼就會噴出以下訊息,是因為我輸入的密碼不符合 WEP 密碼格式 (ASCII 5, 13 字元),後來我才發現要用 wpasupplicant 這個套件來設定 WPA 密碼進行連線。
sudo iwconfig wlan key s:qqqq1234
1
2
|
Error for wireless request "Set Encode" (8B2A) :
SET failed on device wlan ; No such device.
|
使用 wpasupplicant 設定 WPA Wifi 連線
假設 Wifi 網卡綁定在 wlan0,啟用後先透過以下命令搜尋 AP,確認要連線的 ESSID 可以被搜尋到,命令如下:
先啟動 wlan0 網卡
sudo ifup wlan0
指定 wlan0 網卡搜尋 AP
sudo iwlist wlan0 scan | grep ESSID
建立 wpa_supplicant.conf 設定檔
sudo vim /etc/wpa_supplicant/wpa_supplicant.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
|
ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1
network={
ssid="Your_SSID"
scan_ssid=1
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk="Your_WPA-Key_ASCII"
}
|
一般來說替換 ssid, pak 欄位即可,如果有多組想要嘗試連線的 AP 設定,也可以加入多組 network 設定。
接著編輯 /etc/network/interfaces 檔案,加入 SSID 與 wpa_supplicant.conf 設定檔位置,如下:
sudo vim /etc/network/interfaces
1
2
3
4
5
6
7
8
|
...
auto wlan0
iface wlan0 inet dhcp
wireless-essid Your_SSID
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
...
|
重新啟用 Wifi 網卡
sudo ifdown wlan0 ; sudo ifup wlan0
是不是超簡單 der