Danh sách USB wifi tương thích với RPI xem ở đây
Một USB wifi không tương thích chủ yếu là vì không có driver phù hợp.
Vài USB wifi tương thích có thể mua ở VN như Buffalo WLI-UC-GNHP, Edimax 7811, Tenda W311MI. Tenda giá rẻ nhất, kế đến là Buffalo, sau cùng là Edimax. Edimax 7811 được nhiều người dùng RPI ưa chuộng vì chạy không nóng và rất ít tốn điện.
Để RPI dùng USB wifi, cần phải sửa file /etc/network/interfaces. File này mặc định cấu hình để RPI dùng mạng có dây.
Mở file để soạn thảo sudo nano /etc/network/interfaces
Thay bằng nội dung sau đây, tùy trường hợp
- Kết nối với mạng wifi, cấu hình tổng quát
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "Tên_Mạng_Wifi" wpa-psk "Mật_khẩu"
- Kết nối với mạng wifi ẩn SSID
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-scan-ssid 1
wpa-ap-scan 1
wpa-key-mgmt WPA-PSK
wpa-proto RSN WPA
wpa-pairwise CCMP TKIP
wpa-group CCMP TKIP
wpa-ssid "Tên_Mạng_Wifi_Ẩn"
wpa-psk "Mật_khẩu"
iface default inet dhcp
Chú thích 1: Có thể mã hóa mật khẩu bằng lệnh wpa_passphrase Tên_Mạng Mật_khẩu. Sau đó dùng mật khẩu mã hóa thay cho mật khẩu bình thường.
Kết quả của dòng lệnh trên tương tự như sau
root@RPI-11:~# wpa_passphrase mySSID myPASSWORD network={ ssid="mySSID" #psk="myPASSWORD" psk=3098018d727d706782e8cde4b0b52714bca298c0000d38194908b08214165104 }
Chú thích 2: Thông tin về mạng wifi có thể tách riêng, ghi ở file /etc/wpa_supplicant/wpa_supplicant.conf. Khi đó file /etc/network/interfaces có dạng như sau
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Sau đó soạn thảo file wpa_supplicant.conf bằng lệnh nano /etc/wpa_supplicant/wpa_supplicant.conf. Nội dung file tương tự như sau
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="YOURSSID" psk="YOURPASSWORD" # Protocol type can be: RSN (for WPA2) and WPA (for WPA1) proto=RSN # Key management type can be: WPA-PSK or WPA-EAP (Pre-Shared or Enterprise) key_mgmt=WPA-PSK # Pairwise can be CCMP or TKIP (for WPA2 or WPA1) pairwise=CCMP # Authorization option should be OPEN for both WPA1/WPA2 (in less commonly used are SHARED and LEAP) auth_alg=OPEN }
- Cấu hình cho nhiều mạng wifi
Trong file wpa_supplicant.conf có thể có nhiều network, khác nhau ở SSID, đồng thời mỗi network phải có định danh id_str khác nhau
network={ ssid="****" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk="****" id_str="home1" priority=5 }
- Cài đặt IP tĩnh cho kết nối wifi
Cùng với file wpa_supplicant.conf ghi cấu hình mạng không dây như trên, file /etc/network/interfaces có dạng như sau
iface lo inet loopback allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf auto wlan0 iface wlan0 inet static address ip_tĩnh_của_RPI gateway x.x.x.x netmask 255.255.255.0 network x.x.x.x
address là ip tĩnh (tự chọn) cho RPI, gateway, netmask, network tìm được qua các lệnh ifconfig hay ipconfig (xem Bài 5)
Chú thích 3: Đôi khi không thể khởi tạo mạng không dây do mạng có dây ethernet vẫn hoạt động, khi đó cần ngừng daemon ifplugd trên eth0 bằng dòng lệnh sudo ifplugd eth0 –kill đặt ở /etc/rc.local