无线网卡
Raspberry pi 的板子由于成本原因是没有加无线模块的,不想被网线束缚的我们,需要自备 USB 无线模块。在购买板子时,看见官方推荐 EDUP 无线网卡,价格还算合适,就直接入手了。
采用 REALTEK8188 芯片,802.11n,传输速度 150Mbps,适用范围 130 平方米。
将其插到任一U口即可,如下图:
由于外壳阻碍了电源插孔,所以只好先裸着了,图中已经加电,HDMI 的另一头是电视机。
接下来的任务就是如何让这个无线网卡工作,连接到我已经开启的无线路由器。
wpa_gui
在进入 Raspbian 后,桌面上我们就可以看到一个 Wifi Config 的图标,双击启动它,进入到 wpa_gui 界面。
Adapter 已经认出 wlan0,说明系统已经有此无线网卡的驱动了,当然我们可以用 lsusb 命令来看一下:
最后一项 Realtek 就是此无线网卡。
再来说说这个 wpa_gui,它是大名鼎鼎的 wpa_supplicant(一个开源的无线网络配置工具,Android 同样用它来管理 wifi)的图形界面,使用 QT 开发。但是我们觉得默认的版本很低,如下图:
现在,我们先扫描一下附件的 wifi 热点,点击 scan 按钮。
从 SSID 列表中找到你的目标,双击它,打开配置页面,如下图:
SSID 是热点名称,Authentication 是无线路由使用的认证方式,这里是 WPA2-PSK,紧接着 Encryption 是 WPA2-PSK 的加密算法,图中显示的 CCMP。
打开下拉列表,还有一个加密算法是 TKIP。问题就出现在这里了,因为这是两个过时的加密算法。现在的 WPA2-PSK 推荐 AES 加密,因为这样更安全,传输速度更快。所以,这里就有一个矛盾,我的无线路由是 AES 加密,而 wpa_gui 中没有这个选项,那么连接肯定是不能了。为了解决这个问题,我把无线路由的 AES 加密改成了 TKIP。
接着是 PSK,就是你输入 wifi 密码的地方。点击 Add,主界面中 Network 就会出现你刚刚添加的热点。然后点击 Connect,如果一切顺利就会连接成功,如下图:
用自带的浏览器尝试上网,成功!如下图:
二、终端下配置
wpa_gui 没有 AES 加密的不足,我们可以通过直接使用自己配置 wpa_supplicant 方式来解决。
编辑/etc/network/interfaces
文件
pi@Lincoln ~ $ sudo vim /etc/network/interfaces
做如下修改,请注意参考:
#allow-hotplug wlan0
#iface wlan0 inet manual
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa.conf
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
创建文件:/etc/wpa.conf
pi@Lincoln ~ $ sudo vim /etc/wpa.conf
加入如下内容:
network={
ssid="linc"
key_mgmt=WPA-PSK
psk="xxx!@#$"
}
重启树莓派,查看网络状态,确认已经连接成功。
另外,还可以使用 wpa_cli 这个命令行客户端来配置,请参考树莓派实验室的这篇文章。
重要的命令如下:
$ sudo wpa_cli -i wlan0
>scan
OK
>scan_results
bssid / frequency / signal level / flags / ssid
add_network
set_network 0 ssid "linc"
set_network 0 key_mgmt WPA-PSK
set_network 0 psk '"xxxxxxxxxx"'
enable_network 0
quit
好了,现在我们的树莓派已经可以上网了,那么更加有意思的玩法等着我们呢。继续探索吧!
参考:
http://blog.lixin.me/archives/29694/
http://blog.alexchi.me/archives/751
http://www.douban.com/note/449341604/
http://www.eeboard.com/bbs/thread-5191-1-1.html
http://shumeipai.nxez.com/2013/09/30/use-wpa-cli-command-line-to-configure-wi-fi-wireless-lan.html
http://wireless.kernel.org/en/users/Documentation/wpa_supplicant