2016年3月24日 星期四

Raspberry Pi - 使用 WiFi 連線到無線基地台 WPA mode

1. 列出usb型號
$ lsusb
Bus 001 Device 005: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
2. 掃瞄無線區域網路的基地台
$ sudo iwlist wlan0 scan
wlan0     Scan completed :
          Cell 03 - Address: 40:4A:03:92:BA:4B
                    ESSID:"foo"
                    Protocol:IEEE 802.11bgn
                    Mode:Master
                    Frequency:2.462 GHz (Channel 11)
                    Encryption key:on
                    Bit Rates:144 Mb/s
                    Extra:rsn_ie=30140100000fac040100000fac040100000fac020c00
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    Quality=88/100  Signal level=42/100
Address: 無線基地台 的 MAC Address
ESSID: 無線基地台的連線名稱
Protocol: 無線基地台支援的通訊協定
Mode: 無線基地台的模式
Frequency: 無線基也台傳輸的頻率和頻道
Encryption key: 無線基地台啟用加密協定
Bit Rates: 無線基地台的傳輸速度
IE: 無線基地台的加密方法
Quality & Singal Level: 無線基地台的訊號強度
3. 修改無線網路卡的設定值
sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan0: 支援熱插拔
iface wlan0 inet manual: 手動指定網路設定
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf: 使用 wpa_supplicant 設定無線網路參數
3. 修改wpa_supplicant.conf
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="foo"
        psk="1234567890123"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        auth_alg=OPEN
}
IE: IEEE 802.11i/WPA2 Version 1 表示加密方式為 WPA2,所對應的欄位 proto。
RSN: WPA2
WPA: WPA1

Group Cipher : CCMP 
Pairwise Ciphers (1) : CCMP 表示 WPA2 使用 AES 加密方式,所對應的欄位 pairwise。
CCMP: AES cipher,WPA2
TKIP: TKIP cipher,WPA1

Authentication Suites (1) : PSK 表示使用 pre-shared key 做鑑別,所對應的欄位為 key_mgmt。
WPA-PSK:Authentication via pre-shared key
WPA-EAP:Authentication via enterprise authentication server。
相關wpa_supplicant.conf範例,可參考下列連結 http://w1.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf 5. 將wireless介面關掉後,再啟動wireless介面
$ sudo ifdown wlan0

$ sudo ifup wlan0
6. 先砍掉wpa supplican,再重啟
$ sudo kill -9 $(ps -ef | grep wpa | awk '{print $2}')

$ sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
-B 表示以 daemon 方式在背景執行。
-i 表示指定介面(interface)名稱。
-c 表示設定檔路徑。
7. 啟動Dhcp Client去取得IP
$ sudo dhclient
8. 查看是否要到IP
$ ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 74:da:38:05:68:4c  
          inet addr:192.168.1.117  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1158 errors:0 dropped:79 overruns:0 frame:0
          TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:109024 (106.4 KiB)  TX bytes:6214 (6.0 KiB)
9. 參考來源
SETTING WIFI UP VIA THE COMMAND LINE
[基礎] 命令列設置無線網路
Raspberry Pi 的基礎 - 使用 Wi-Fi 無線網卡連上網路

沒有留言:

張貼留言